Every API here is available over the APIs.io API and to AI agents over MCP.
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