Perfect Corp V2.0 API

The V2.0 API from Perfect Corp — 32 operation(s) for v2.0.

Operations 32

POST /s2s/v2.0/task/bag Run an AI Bag task #
GET /s2s/v2.0/task/bag/{task_id} Check the status of a AI Bag task #
GET /s2s/v2.0/task/template/cloth List predefined templates #
POST /s2s/v2.0/task/cloth Run an AI Cloths task #
GET /s2s/v2.0/task/cloth/{task_id} Check the status of a AI Cloths task #
POST /s2s/v2.0/task/hair-transfer Run an AI Hairstyle Generator task with reference #
GET /s2s/v2.0/task/hair-transfer/{task_id} Check the status of a AI Hairstyle Generator task with reference #
POST /s2s/v2.0/task/hat Run an AI Hat task #
GET /s2s/v2.0/task/hat/{task_id} Check the status of a AI Hat task #
POST /s2s/v2.0/task/out-paint Run an AI Image Extender task #
GET /s2s/v2.0/task/out-paint/{task_id} Check an AI Image Extender task status #
POST /s2s/v2.0/task/text-to-image/youcam Run an AI Image Generator task V2 for text to image #
GET /s2s/v2.0/task/text-to-image/youcam/{task_id} Check the status of a AI Image Generator task V2 for text to image #
POST /s2s/v2.0/task/image-to-image/youcam Run an AI Image Generator task V2 for image to image #
GET /s2s/v2.0/task/image-to-image/youcam/{task_id} Check the status of a AI Image Generator task V2 for image to image #
POST /s2s/v2.0/task/bg-blur Run an AI Photo Background Blur task #
GET /s2s/v2.0/task/bg-blur/{task_id} Check an AI Photo Background Blur task status #
GET /s2s/v2.0/task/template/bg-replace List predefined AI photo Background Change V2 templates #
POST /s2s/v2.0/task/bg-replace Run an AI photo Background Change V2 task #
GET /s2s/v2.0/task/bg-replace/{task_id} Check an AI photo Background Change V2 task status #
POST /s2s/v2.0/task/lighting Run an AI Photo Lighting task #
GET /s2s/v2.0/task/lighting/{task_id} Check an AI Photo Lighting task status #
POST /s2s/v2.0/task/scarf Run an AI Scarf task #
GET /s2s/v2.0/task/scarf/{task_id} Check the status of a AI Scarf task #
POST /s2s/v2.0/task/shoes Run an AI Shoes task #
GET /s2s/v2.0/task/shoes/{task_id} Check the status of a AI Shoes task #
POST /s2s/v2.0/task/skin-analysis Run a Skin Analysis task #
GET /s2s/v2.0/task/skin-analysis/{task_id} Check a Skin Analysis task status #
POST /s2s/v2.0/task/image-to-video/youcam Run an AI Image to Video Generator V2 task #
GET /s2s/v2.0/task/image-to-video/youcam/{task_id} Check the status of a AI Image to Video Generator V2 task #
POST /s2s/v2.0/task/text-to-video/youcam Run an AI Text To Video task #
GET /s2s/v2.0/task/text-to-video/youcam/{task_id} Check the status of a AI Text To Video task #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/perfect-corp-v2-0-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

perfect-corp-v2-0-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Perfect Corp V2.0 API
  version: ''
  contact:
    email: YouCamOnlineEditor_API@perfectcorp.com
  license:
    name: Privacy policy
    url: https://www.makeupar.com/perfectbeauty/youcam/privacy-policy-api
  termsOfService: https://www.makeupar.com/perfectbeauty/youcam/terms-of-service-api
  description: 'Operations tagged V2.0 across 13 of this provider''s published API definitions: perfect-corp-ai_bag-openapi.yml, perfect-corp-ai_clothes-openapi.yml, perfect-corp-ai_hairstyle-openapi.yml, perfect-corp-ai_hat-openapi.yml, perfect-corp-ai_image_extender-openapi.yml, perfect-corp-ai_image_generator-openapi.yml, perfect-corp-ai_photo_background_blur-openapi.yml, perfect-corp-ai_photo_background_change-openapi.yml, perfect-corp-ai_photo_lighting-openapi.yml, perfect-corp-ai_scarf-openapi.yml…'
servers:
- url: https://yce-api-01.makeupar.com
tags:
- name: V2.0
paths:
  /s2s/v2.0/task/bag:
    post:
      summary: Run an AI Bag task
      description: This endpoint initiates the bag virtual try-on process. You must provide a source file, reference files (URL or ID), and specify gender and style parameters. The task will be processed asynchronously, and you can check its status using the task_id returned in this response.
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenderRunTaskV2'
      responses:
        '200':
          description: Successful execution of the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskBag
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/bag/{task_id}:
    get:
      summary: Check the status of a AI Bag task
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskBagByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/template/cloth:
    get:
      summary: List predefined templates
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: page_size
        in: query
        schema:
          type: integer
          example: 20
        description: Number of results to return in this page. Valid value should be between 1 and 20. Default 20.
      - name: starting_token
        in: query
        schema:
          type: string
          example: 73a3c9e69b89
        description: Token for current page. Start with `null` for the first page, and use `next_token` from the previous response to start next page
      responses:
        '200':
          $ref: '#/components/responses/TemplateResponse'
        '400':
          $ref: '#/components/responses/InvalidParameters'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
      operationId: getS2sV20TaskTemplateCloth
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/cloth:
    post:
      summary: Run an AI Cloths task
      description: This endpoint initiates the clothing virtual try-on process. You can use a template ID or provide reference images (source and reference files). The task will be processed asynchronously, and you can check its status using the task_id returned in this response.
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunClothsTaskV2'
      responses:
        '200':
          description: Successful execution of the AI Clothes task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskCloth
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/cloth/{task_id}:
    get:
      summary: Check the status of a AI Cloths task
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the AI Clothes task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskClothByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/hair-transfer:
    post:
      summary: Run an AI Hairstyle Generator task with reference
      description: 'AI tasks are asynchronous. Prefer webhook-based completion handling when the feature supports webhooks. Configure your webhook endpoint, verify webhook signatures, and use the received `task_id` to query the task result after a `success` or `error` notification. See the webhook integration guide for setup and verification details.


        If webhooks are not supported for the feature, or if your integration cannot use webhooks, implement polling. After starting an AI task, keep polling the task status endpoint at the given `polling_interval` until the task status is either `success` or `error`.


        Do not stop polling a running task for longer than the allowed polling window. If the task is not polled in time, the task may expire; a later status check can return `InvalidTaskId` even if processing finished, and the consumed units may still be charged.'
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BasicRunTaskV2WithRequiredRef'
      responses:
        '200':
          description: Successful execution of the AI Hairstyle Generator task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskHairTransfer
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/hair-transfer/{task_id}:
    get:
      summary: Check the status of a AI Hairstyle Generator task with reference
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the AI Hairstyle Generator task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskHairTransferByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/hat:
    post:
      summary: Run an AI Hat task
      description: This endpoint initiates the hat virtual try-on process. You must provide a source file, reference files (URL or ID), specify gender and style parameters. The task will be processed asynchronously, and you can check its status using the task_id returned in this response.
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/GenderRunTaskV2'
              - type: object
                properties:
                  style:
                    type: string
                    enum:
                    - random
                    - style_sporty_casual
                    - style_urban_fashion
                    - style_vacation_casual
                    - style_warm_cozy
                    - style_bohemian
                    default: random
                    description: To control outfit and background style.
                    example: random
      responses:
        '200':
          description: Successful execution of the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskHat
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/hat/{task_id}:
    get:
      summary: Check the status of a AI Hat task
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskHatByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/out-paint:
    post:
      summary: Run an AI Image Extender task
      description: 'Please refer to the polling guide for checking task status. The API takes 3 key parameters: input image, pivot point, and output image.'
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunOutPaintTaskRequest'
      responses:
        '200':
          description: Successful execution of the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/responses/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey_2'
        '429':
          description: Too many requests within a given amount of time
          content:
            application/json:
              schema:
                type: object
      operationId: postS2sV20TaskOutPaint
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/out-paint/{task_id}:
    get:
      summary: Check an AI Image Extender task status
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2_2'
        '400':
          $ref: '#/components/responses/InvalidTaskId_2'
        '401':
          $ref: '#/components/responses/InvalidApiKey_2'
        '500':
          $ref: '#/components/responses/TaskTimeout_2'
      operationId: getS2sV20TaskOutPaintByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/text-to-image/youcam:
    post:
      summary: Run an AI Image Generator task V2 for text to image
      description: 'AI tasks are asynchronous. Prefer webhook-based completion handling when the feature supports webhooks. Configure your webhook endpoint, verify webhook signatures, and use the received `task_id` to query the task result after a `success` or `error` notification. See the webhook integration guide for setup and verification details.


        If webhooks are not supported for the feature, or if your integration cannot use webhooks, implement polling. After starting an AI task, keep polling the task status endpoint at the given `polling_interval` until the task status is either `success` or `error`.


        Do not stop polling a running task for longer than the allowed polling window. If the task is not polled in time, the task may expire; a later status check can return `InvalidTaskId` even if processing finished, and the consumed units may still be charged.'
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - type: object
                required:
                - model
                - prompt
                properties:
                  model:
                    type: string
                    description: Model name.
                    enum:
                    - youcam-image-v2
                  prompt:
                    type: string
                    minLength: 1
                    maxLength: 800
                    description: A positive prompt describing the image content, style, and composition you want. <br>Supports Chinese and English. Maximum length is 800 characters. Each Chinese character, letter, digit, or symbol counts as one character.
                    example: A sitting orange cat with a joyful expression, lively and adorable, highly realistic.
                  negative_prompt:
                    type: string
                    minLength: 1
                    maxLength: 500
                    description: A negative prompt describing what you do not want in the image. <br>Supports Chinese and English. Maximum length is 500 characters.
                    example: Low resolution, low quality, distorted limbs, malformed fingers, oversaturated colors, wax-like appearance, no facial details, overly smooth surfaces, AI-generated look. Chaotic composition. Blurry or distorted text.
                  size:
                    type: string
                    description: 'Output image resolution, formatted as width\*height. <br> Supported resolutions and their aspect ratios: <br>- 1664\*928 (default): 16:9 <br>- 1472\*1104: 4:3 <br>- 1328\*1328: 1:1 <br>- 1104\*1472: 3:4 <br>- 928\*1664: 9:16'
                    enum:
                    - 1664*928
                    - 1472*1104
                    - 1328*1328
                    - 1104*1472
                    - 928*1664
                    example: 1664*928
                    default: 1664*928
                  prompt_extend:
                    type: boolean
                    description: Enable smart prompt rewriting. The model optimizes the positive prompt. Does not affect the negative prompt.
                    example: true
                    default: true
                    enum:
                    - true
                    - false
                    x-enumDescriptions:
                      'true': Enables rewriting. Use this for more diverse image content; the model adds details.
                      'false': Disables rewriting. Use this for tighter control over image details.
      responses:
        '200':
          description: Successful execution of the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskTextToImageYoucam
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/text-to-image/youcam/{task_id}:
    get:
      summary: Check the status of a AI Image Generator task V2 for text to image
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskTextToImageYoucamByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/image-to-image/youcam:
    post:
      summary: Run an AI Image Generator task V2 for image to image
      description: 'AI tasks are asynchronous. Prefer webhook-based completion handling when the feature supports webhooks. Configure your webhook endpoint, verify webhook signatures, and use the received `task_id` to query the task result after a `success` or `error` notification. See the webhook integration guide for setup and verification details.


        If webhooks are not supported for the feature, or if your integration cannot use webhooks, implement polling. After starting an AI task, keep polling the task status endpoint at the given `polling_interval` until the task status is either `success` or `error`.


        Do not stop polling a running task for longer than the allowed polling window. If the task is not polled in time, the task may expire; a later status check can return `InvalidTaskId` even if processing finished, and the consumed units may still be charged.'
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - anyOf:
                - title: Run task with src_file_urls
                  type: object
                  required:
                  - src_file_urls
                  properties:
                    src_file_urls:
                      type: array
                      minItems: 1
                      maxItems: 3
                      description: The file URLs from upload file API. Should provide either 'src_file_urls' or 'src_file_ids'.
                      example:
                      - https://example.com/selfie.jpg
                      - https://example.com/selfie.jpg
                      - https://example.com/selfie.jpg
                      items:
                        type: string
                - title: Run task with 3 angle src file IDs
                  type: object
                  required:
                  - src_file_ids
                  properties:
                    src_file_ids:
                      type: array
                      minItems: 1
                      maxItems: 3
                      description: The file IDs from upload file API. Should provide either 'src_file_urls' or 'src_file_ids'.
                      example:
                      - pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE=
                      - pkVzplMv8Y1QPgHbqtKfyJmg+xJDUbTP16YijZ3qARNf
                      - B5LNohvvO+7d/78Ymuhp6vMiSooN/5DX9oVuupzkKctf
                      items:
                        type: string
              - type: object
                required:
                - model
                - prompt
                properties:
                  model:
                    type: string
                    description: Model name.
                    enum:
                    - youcam-image-v2
                  prompt:
                    type: string
                    minLength: 1
                    maxLength: 800
                    description: The image editing instruction (positive prompt) that describes the elements and visual features you want in the generated image. <br>This parameter supports Chinese and English with a maximum length of 800 characters. Each Chinese character or English letter counts as one character.
                    example: Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3. Keep her clothing, hairstyle, and expression unchanged, and ensure the action is natural and smooth.
                  negative_prompt:
                    type: string
                    minLength: 1
                    maxLength: 500
                    description: The negative prompt, describing content you do not want in the generated image. <br>This parameter supports Chinese and English with a maximum length of 500 characters. Each Chinese character or English letter counts as one character.
                    example: low resolution, error, worst quality, low quality, disfigured, extra fingers, bad proportions.
                  size:
                    type: string
                    description: 'Specifies the resolution of the output image in the width*height format, such as "1024\*1536". <br>- The width and height must each be in the range of [512, 2048] pixels. <br>- By default, the total number of pixels is approximately 1024\*1024, with an aspect ratio similar to the input image (or the last image in a multi-image request). <br>When you specify the size parameter, the system uses the width and height specified by size as the target and adjusts the width and height of the actual output image to the nearest multiple of 16. For example, if you specify 1033\*1032, the output image dimensions are 1040\*1024. <br>Recommended resolutions for common aspect ratios: <br>- 1:1: 1024\*1024, 1536\*1536 <br>- 2:3: 768\*1152, 1024\*1536 <br>- 3:2: 1152\*768, 1536\*1024 <br>- 3:4: 960\*1280, 1080\*1440 <br>- 4:3: 1280\*960, 1440\*1080 <br>- 9:16: 720\*1280, 1080\*1920 <br>- 16:9: 1280\*720, 1920\*1080 <br>- 21:9: 1344\*576, 2048\*872'
                    example: 1024*1024
                  prompt_extend:
                    type: boolean
                    description: Enable smart prompt rewriting. The model optimizes the positive prompt. Does not affect the negative prompt.
                    example: true
                    default: true
                    enum:
                    - true
                    - false
                    x-enumDescriptions:
                      'true': Enables rewriting. Use this for more diverse image content; the model adds details.
                      'false': Disables rewriting. Use this for tighter control over image details.
      responses:
        '200':
          description: Successful execution of the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskImageToImageYoucam
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/image-to-image/youcam/{task_id}:
    get:
      summary: Check the status of a AI Image Generator task V2 for image to image
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskImageToImageYoucamByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/bg-blur:
    post:
      summary: Run an AI Photo Background Blur task
      description: 'AI tasks are asynchronous. Prefer webhook-based completion handling when the feature supports webhooks. Configure your webhook endpoint, verify webhook signatures, and use the received `task_id` to query the task result after a `success` or `error` notification. See the webhook integration guide for setup and verification details.


        If webhooks are not supported for the feature, or if your integration cannot use webhooks, implement polling. After starting an AI task, keep polling the task status endpoint at the given `polling_interval` until the task status is either `success` or `error`.


        Do not stop polling a running task for longer than the allowed polling window. If the task is not polled in time, the task may expire; a later status check can return `InvalidTaskId` even if processing finished, and the consumed units may still be charged.'
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/BasicRunTaskV2_2'
              - type: object
                properties:
                  intensity:
                    type: integer
                    description: 'The intensity of the background blur. 0 means no blur, and 100 means the maximum blur.

                      '
                    minimum: 0
                    maximum: 100
                    default: 50
                    example: 50
      responses:
        '200':
          description: Successful execution of the task
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BasicRunTaskResponseV2'
        '400':
          description: Failed execution of task
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/RunError'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      operationId: postS2sV20TaskBgBlur
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/bg-blur/{task_id}:
    get:
      summary: Check an AI Photo Background Blur task status
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: task_id
        in: path
        required: true
        schema:
          type: string
          example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
        description: ID of task to check
      responses:
        '200':
          description: Successful check of the task status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatusResponseV2'
        '400':
          $ref: '#/components/responses/InvalidTaskId'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '500':
          $ref: '#/components/responses/TaskTimeout'
      operationId: getS2sV20TaskBgBlurByTaskId
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/template/bg-replace:
    get:
      summary: List predefined AI photo Background Change V2 templates
      tags:
      - V2.0
      security:
      - BearerAuthenticationV2: []
      parameters:
      - name: page_size
        in: query
        schema:
          type: integer
          example: 20
        description: Number of results to return in this page. Valid value should be between 1 and 20. Default 20.
      - name: starting_token
        in: query
        schema:
          type: string
          example: 73a3c9e69b89
        description: Token for current page. Start with `null` for the first page, and use `next_token` from the previous response to start next page
      responses:
        '200':
          $ref: '#/components/responses/TemplateResponse'
        '400':
          $ref: '#/components/responses/InvalidParameters'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
      operationId: getS2sV20TaskTemplateBgReplace
      x-operation-id-source: derived
    servers:
    - url: https://yce-api-01.makeupar.com
  /s2s/v2.0/task/bg-replace:
    post:
      summary: Run an AI photo Background Change V2 task
      description: 'AI tasks are asynchronous. Prefer webhook-based completion handling when the feature supports webhooks. Configure your webhook endpoint, verify webhook signatures, and use the received `task_id` to query the task result after a `success` or `err

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/perfect-corp/refs/heads/main/openapi/perfect-corp-v2-0-api-openapi.yml