openapi: 3.0.0
info:
title: AI Clothes Virtual Try-On
description: "# Overview\nAI Clothes is a virtual fitting room that lets users try on clothes without\
\ physically wearing them. Using AI and photo editing technology, these apps overlay outfits onto\
\ your image so you can see how different styles and fits look on your body type. It’s perfect for\
\ online shopping, style inspiration, or just playing around with fashion ideas. Try on clothes virtually\
\ with AI Clothes . Upload any clothing reference to swap outfits with you photo for an instant virtual\
\ wardrobe transformation.\n\n---\n\n## Integration Guide\n\n* API Playground\nYou can use the API\
\ Playground to test the AI Clothes virtual try-on feature. This allows you to experiment with your\
\ ideas and gain a better understanding of the try-on process.\n\nAccess the API Playground at:\n\
\n\n---\n\n* AI Clothes API Usage\
\ Guide\n\nThis guide explains how to upload images, prepare reference outfits, and create virtual\
\ try-on tasks using the AI Clothes API.\n\n***\n\n * Step 1. Upload a File Using the File API\n\
\nUse the **File API** (`/s2s/v2.0/file`) to upload a target user image.\n\n**Image Requirements:**\n\
\n* Upload a high-resolution full-body photo.\n* Ensure the photo clearly shows the entire body.\n\
* Avoid backgrounds with multiple people or distracting objects.\n\n**Example Request:**\n\n```bash\n\
curl --request POST \\\n --url https://yce-api-01.makeupar.com/s2s/v2.0/file \\\n --header 'Authorization:\
\ Bearer YOUR_API_KEY' \\\n --header 'content-type: application/json' \\\n --data '{\n \"files\"\
: [\n {\n \"content_type\": \"image/jpg\",\n \"file_name\": \"full_body_photo_01_3dbd1b6683.jpg\"\
,\n \"file_size\": 547541\n }\n ]\n }'\n```\n\n***\n\n * Step 2. Retrieve File API Response\n\
\nThe response includes:\n\n* `file_id` for creating an AI task.\n* `requests.url` for uploading\
\ the actual image file.\n\n**Sample Response:**\n\n```json\n{\n \"status\": 200,\n \"data\": {\n\
\ \"files\": [\n {\n \"content_type\": \"image/jpg\",\n \"file_name\": \"full_body_photo_01_3dbd1b6683.jpg\"\
,\n \"file_id\": \"SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9/13W5TOD8/u/FfjK3xgCQ+hRt9MJXBFaud\",\n \"requests\"\
: [\n {\n \"method\": \"PUT\",\n \"url\": \"https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...\"\
,\n \"headers\": {\n \"Content-Length\": \"547541\",\n \"Content-Type\": \"image/jpg\"\n }\n\
\ }\n ]\n }\n ]\n }\n}\n```\n\n***\n\n * Step 3. Upload Image to Provided URL\n\nUse the `requests.url`\
\ from the File API response to upload the image:\n\n```bash\ncurl --location --request PUT 'https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...'\
\ \\\n --header 'Content-Type: image/jpg' \\\n --header 'Content-Length: 547541' \\\n --data-binary\
\ @'./full_body_photo_01_3dbd1b6683.jpg'\n```\n\n***\n\n * Step 4. Prepare a Reference Outfit\n\n\
\ * 4.1 Upload a Reference Outfit Image\n\nYou can:\n\n* Upload an outfit image using the File API\
\ (`/s2s/v2.0/file`), or\n* Provide a valid image URL.\n\n**Supported Outfit Images:**\n\n* Product\
\ image of the clothing.\n* Full-body photo as an outfit reference.\n\nRefer to **[File Specs and\
\ Errors](#section/overview/File-Specs-and-Errors)** for detailed specifications.\n\n***\n\n * Step\
\ 5. Create an AI Task\n\nUse the **AI Task API** (`/s2s/v2.0/task/cloth-v4`) to create a virtual\
\ try-on task.\n\n**Parameters:**\n\n* For the user image: `src_file_id` or `src_file_url`.\n* \
\ For the outfit image: `ref_file_id`, `ref_file_url`, or `template_id`.\n\n**Example Request:**\n\
\n```bash\ncurl --request POST \\\n --url https://yce-api-01.makeupar.com/s2s/v2.0/task/cloth-v4\
\ \\\n --header 'Authorization: Bearer YOUR_API_KEY' \\\n --header 'content-type: application/json'\
\ \\\n --data '{\n \"src_file_url\": \"https://plugins-media.makeupar.com/strapi/assets/clothes_03_cccd5d4803.jpeg\"\
,\n \"ref_file_url\": \"https://plugins-media.makeupar.com/strapi/assets/clothes_reference_full_body_01_5a000d999f.png\"\
,\n \"garment_category\": \"full_body\"\n }'\n```\n\n**Sample Response:**\n\n```json\n{\n \"\
status\": 200,\n \"data\": {\n \"task_id\": \"SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9_13W5TOD8_u_GPi6NqQ3dhlmN-6ntFwhzT\"\
\n }\n}\n```\n\n***\n\n * Step 6. Poll for Task Result\n\nUse the task ID to check the status:\n\
\n```bash\ncurl --request GET \\\n --url https://yce-api-01.makeupar.com/s2s/v2.0/task/cloth-v4/\
\ \\\n --header 'Authorization: Bearer YOUR_API_KEY' \\\n --header 'content-type: application/json'\n\
```\n\n***\n\n * Step 7. Retrieve Result\n\nA successful response includes a download URL for the\
\ result image:\n\n```json\n{\n \"status\": 200,\n \"data\": {\n \"error\": null,\n \"results\"\
: {\n \"url\": \"https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...\"\n },\n\
\ \"task_status\": \"success\"\n }\n}\n```\n\nInvalid API Key error response:\n\n```json\n{\n\
\ \"status\": 401,\n \"error\": \"Unauthorized\",\n \"error_code\": \"InvalidAccessToken\"\n}\n\
```\n\n---\n\nUse cases:\n\n\
\n\n\
\n\n\
\nSuggestions for How to Shoot:\n\n\n\n## File Specs & Errors\n* Supported Formats & Dimensions\n\
\n|Type|Supported Dimensions|Supported File Size|Supported Formats|\n| ---- | ---- | ---- | ----\
\ |\n|Target user image|1024×768 recommended, 512×384 minimum, max side 4096 px. - Single\
\ person only. - The person should occupy at least 80% of the frame for optimal results.\
\ - Images should include the upper body only, from the chest upwards. There is no need to show the\
\ abdomen, but the shoulders should be visible. - The face must be fully visible, with no obstructions.\
\ - The body must be facing forward in a standing position (no sitting or crouching). |< 10MB|jpg/png|\n\
|Reference image of the clothing |1024×768 recommended, 512×384 minimum, max side 4096 px.\
\ - If Using a Real-Person Clothing Photo as Reference - Must feature only one\
\ person. - The visible clothing area must fully cover the intended try-on area. -\
\ Example: For full-body try-on, a half-body clothing image is not acceptable. -\
\ Example: For lower-body try-on, partial pants are not acceptable. - The clothing\
\ must not be heavily obstructed (e.g. covered by long hair or arms). - The\
\ face must be fully visible, with no obstructions. - The body must be facing\
\ forward in a standing position (no sitting or crouching). - If Using a Product Image\
\ as Reference - Must be a front-facing product shot of a single garment. -\
\ Do not use composite images (e.g. top and bottom in one photo). - For the\
\ lower body, only actual worn outfits are supported, not standalone product images.|< 10MB|jpg/png|\n\
\n* Error Codes\n\n* Error code (Preprocess)\n\n| Error code | Description |\n| ---------- | -----------\
\ |\n| exceed_max_filesize | The SRC or REF image is too large. The long side must not exceed 4096\
\ pixels. |\n| error_below_min_image_size | The SRC or REF image is too small. The long side must\
\ be at least 128 pixels. |\n| error_pose | The pose could not be detected from the uploaded human\
\ SRC image. |\n| error_invalid_ref | The REF image is invalid, for example, it is empty or the subject\
\ is not fully visible. |\n| error_apply_region_mismatch | The apply region in the SRC image does\
\ not match the REF image, so no edits can be applied. |\n| error_invalid_src | When the source image\
\ shows only the lower body or only the feet. |\n\n* Error code (Engine)\n\n| Error code | Description\
\ |\n| ---------- | ----------- |\n| invalid_parameter | - Invalid garment category.
- Style_id\
\ is not in inference_style_list.
- Invalid src_keys, dst_keys, or acts.
- Invalid ref_keys\
\ or template_ref_image.
- Exactly one of them must be provided. |\n| error_download_image |\
\ The SRC or REF image could not be downloaded. |\n| exceed_max_filesize | The SRC or REF image is\
\ too large. The file size must not exceed 10 MB. |\n| error_nsfw_content_detected | Potential NSFW\
\ content was detected in the result image. |\n| error_editing_failed | The editing process failed\
\ because the result image is too similar to the source image. |\n| unknown_internal_error | - Failed\
\ to load the model.
- Invalid scheduler algorithm type.
- No engine loaded.
- The\
\ file is not in the upload results. |\n\n\n* Environment & Dependency\n\n| Sample Code Language /\
\ Tool | Recommended Runtime Versions |\n|---|---|\n| cURL | - bash >= 3.2 - curl >= 7.58 (modern\
\ TLS/HTTP support) - jq >= 1.6 (robust JSON parsing) |\n| Node.js (JavaScript) | Node >= 18\
\ (for global fetch) |\n| JavaScript | - Chrome / Edge >= 80 - Firefox >= 74 - Safari\
\ >= 13.1 |\n| PHP | PHP >= 7.4 (for modern TLS/compat), ext-curl (recommended) or allow_url_fopen=On\
\ + ext-openssl, ext-json |\n| Python | Python >= 3.10 (for f-strings), requests >= 2.20.0 |\n| Java\
\ | Java 11+ (for HttpClient), Jackson Databind >= 2.12.0 |\n\n---\n\n## Unit Consumption\n\n| AI\
\ Feature | Unit Consumed |\n|---|---|\n| AI Clothes Virtual Try-On V2.0 | 2 |\n| AI Clothes Virtual\
\ Try-On V3.0 | 2 |\n\n---\n"
version: ''
termsOfService: https://www.makeupar.com/perfectbeauty/youcam/terms-of-service-api
contact:
email: YouCamOnlineEditor_API@perfectcorp.com
license:
name: Privacy policy
url: https://www.makeupar.com/perfectbeauty/youcam/privacy-policy-api
servers:
- url: https://yce-api-01.makeupar.com
tags:
- name: V4.0
description: Enhanced capabilities to include virtual try-on for outerwear, including jackets and vests.
You can now choose from Full Body, Upper Body, Lower Body, Shoes, or Outerwear for virtual try-on,
or simply select Auto and let the AI engine create the perfect outfit for you.
- name: V3.0
description: Upgraded the AI Clothes v3 engine to deliver exceptional fabric realism, accurately rendering
materials such as leather, knitwear, and satin, while restoring intricate garment details with greater
precision.
- name: V2.0
description: Generate virtual try-on experiences for clothing items using AI technology, supporting
template-based and reference image methods.
paths:
/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'
/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'
/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'
/s2s/v2.0/task/cloth-v3:
post:
summary: Run an AI Cloth V3 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](/develop/webhook.md) 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:
- V3.0
security:
- BearerAuthenticationV2: []
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/RunClothV3Task'
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'
/s2s/v2.0/task/cloth-v3/{task_id}:
get:
summary: Check the status of a AI Cloth V3 task.
tags:
- V3.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'
/s2s/v2.0/task/cloth-v4:
post:
summary: Run an AI Cloth V4 task.
x-display-name: AI Clothes Virtual Try-On
x-engine-version: V4.0
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](/develop/webhook.md) 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:
- V4.0
security:
- BearerAuthenticationV2: []
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/RunClothV4Task'
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'
/s2s/v2.0/task/cloth-v4/{task_id}:
get:
summary: Check the status of a AI Cloth V4 task.
x-display-name: AI Clothes Virtual Try-On
x-engine-version: V4.0
tags:
- V4.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'
components:
securitySchemes:
BearerAuthenticationV2:
type: http
scheme: bearer
description: 'Use the standard ''Bearer authentication''. Put your ''API Key'' in header: `Authorization:Bearer
YOUR_API_KEY`. Notice that there is '' '' a space between ''Bearer'' and the ''YOUR_API_KEY''.'
schemas:
RunClothsTaskV2Template:
required:
- template_id
properties:
template_id:
type: string
description: ID of the template. List predefined templates first, and use the id of a template.
example: good_template_001
RunClothsTaskV2GarmentCategory:
required:
- garment_category
properties:
garment_category:
type: string
enum:
- full_body
- lower_body
- upper_body
- shoes
- auto
description: The category of garment of reference image. It's required if reference image provided.
Utilize the "auto" parameter to allow the AI engine to automatically identify and classify
garment categories.
RunClothsTaskV2:
allOf:
- anyOf:
- allOf:
- title: Run task with src file url & ref file url
required:
- ref_file_url
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file url & ref file ID
required:
- ref_file_id
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileId'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file ID & ref file url
required:
- ref_file_url
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file ID & ref file ID
required:
- ref_file_id
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileId'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file url and template
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV2Template'
- allOf:
- title: Run task with src file ID and template
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/RunClothsTaskV2Template'
- properties:
change_shoes:
type: boolean
default: true
description: Control whether shoes should be swapped when a full body reference image with
shoes is available for processing.
RunClothV3Task:
allOf:
- anyOf:
- allOf:
- title: Run task with src file url & ref file url
required:
- ref_file_url
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file url & ref file ID
required:
- ref_file_id
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileId'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file ID & ref file url
required:
- ref_file_url
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- allOf:
- title: Run task with src file ID & ref file ID
required:
- ref_file_id
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileId'
- $ref: '#/components/schemas/RunClothsTaskV2GarmentCategory'
- properties:
change_shoes:
type: boolean
default: true
description: 'Control whether shoes should be swapped when a full body reference image with
shoes is available for processing.
Have effect when `garment_category` is `full_body` or `lower_body`
'
RunClothsTaskV4GarmentCategory:
required:
- garment_category
properties:
garment_category:
type: string
enum:
- full_body
- lower_body
- upper_body
- shoes
- auto
- outer
description: The category of garment of reference image. It's required if reference image provided.
Utilize the "auto" parameter to allow the AI engine to automatically identify and classify
garment categories.
RunClothV4Task:
allOf:
- anyOf:
- allOf:
- title: Run task with src file url & ref file url
required:
- ref_file_url
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV4GarmentCategory'
- allOf:
- title: Run task with src file url & ref file ID
required:
- ref_file_id
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileUrl'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileId'
- $ref: '#/components/schemas/RunClothsTaskV4GarmentCategory'
- allOf:
- title: Run task with src file ID & ref file url
required:
- ref_file_url
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileUrl'
- $ref: '#/components/schemas/RunClothsTaskV4GarmentCategory'
- allOf:
- title: Run task with src file ID & ref file ID
required:
- ref_file_id
- $ref: '#/components/schemas/BasicRunTaskV2SrcFileId'
- $ref: '#/components/schemas/BasicRunTaskV2RefFileId'
- $ref: '#/components/schemas/RunClothsTaskV4GarmentCategory'
- properties:
change_shoes:
type: boolean
default: true
description: 'Control whether shoes should be swapped when a full body reference image with
shoes is available for processing.
Have effect when `garment_category` is `full_body` or `lower_body`
'
Template:
type: object
properties:
id:
type: string
description: The ID of the template. Use this as \`template_id\` when run task.
example: good_template_001
thumb:
type: string
description: The thumbnail of style.
title:
type: string
description: The title of the template.
category_name:
type: string
description: The category name of the template.
BasicRunTaskV2SrcFileUrl:
type: object
required:
- src_file_url
properties:
src_file_url:
type: string
description: Url of the file to run task. The url should be publicly accessible.
example: https://example.com/selfie.jpg
BasicRunTaskV2RefFileUrl:
type: object
properties:
ref_file_url:
type: string
description: Url of the reference file to run task. The url should be publicly accessible.
example: https://example.com/accessory.jpg
BasicRunTaskV2RefFileId:
type: object
properties:
ref_file_id:
type: string
description: ID of the reference file to run task. File ID from upload file API.
example: pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE=
BasicRunTaskV2SrcFileId:
type: object
required:
- src_file_id
properties:
src_file_id:
type: string
description: ID of file to run task. File ID from upload file API.
example: pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE=
BasicRunTaskResponseV2:
type: object
properties:
status:
type: integer
description: Response status
example: 200
data:
type: object
properties:
task_id:
type: string
description: ID of this task. Task result is valid to query by this ID for 24 hours.
example: grH0CvsgXuAIHLUzD0V1Ol34hoet3R1tvdbtiVHrDb6_UqCLKIejAIajwxrhOAfe
RunError:
type: object
properties:
status:
type: integer
description: Response status
example: 400
error:
type: string
description: Error message
example: The operation could not be completed
error_code:
type: string
enum:
- InvalidParameters
- CreditInsufficiency
- InvalidStyleGroup
- InvalidStyle
- BadRequest
description: "Error code:\n * InvalidParameters - Invalid request parameters\n * CreditInsufficiency\
\ - Insufficient unit to run\n * BadRequest - Unexpected request parameter\n * InvalidStyleGroup\
\ - Invalid style group id\n * InvalidStyle - Invalid style id\n"
EngineErrorCode:
type: string
nullable: true
enum:
- error_exceed_max_image_size
- exceed_max_filesize
- invalid_parameter
- error_download_image
- error_download_mask
- error_decode_image
- error_decode_mask
- error_nsfw_content_detected
- error_no_face
- error_pose
- error_face_parsing
- error_inference
- exceed_nsfw_retry_limits
- error_upload
- unknown_internal_error
description: 'Errors:
- \`error_exceed_max_image_size\` - Input image size exceeds the maximum limit
- \`exceed_max_filesize\` - Input file size exceeds the maximum limit
- \`invalid_parameter\` - Invalid parameter value
- \`error_download_image\` - Download source image error
- \`error_download_mask\` - Download mask image error
- \`error_decode_image\` - Decode source image error
- \`error_decode_mask\` - Decode mask image error
- \`error_nsfw_content_detected\` - NSFW content detected in source image
- \`error_no_face\` - No face detected on source image
- \`error_pose\` - Failed to detect pose on source image
- \`error_face_parsing\` - Failed to do face segmentation on source image
- \`error_inference\` - Inference pipeline error
- \`exceed_nsfw_retry_limits\` - Exceed the retry limits to avoid generated NSFW image
- \`error_upload\` - Upload result image error
- \`unknown_internal_error\` - Others
'
TaskStatusResponseBodySingleUrlResultsV2:
type: object
properties:
url:
type: string
description: URL to download this result. Valid for 2 hours
example: https://example.com/sample-result-url
TaskStatusResponseV2:
type: object
properties:
status:
type: integer
description: Response status
example: 200
data:
type: object
properties:
task_status:
type: string
enum:
- running
- success
- error
description: Status of this task
error:
$ref: '#/components/schemas/EngineErrorCode'
error_message:
type: string
description: Detailed description of error
results: null
$ref: '#/components/schemas/TaskStatusResponseBodySingleUrlResultsV2'
responses:
TemplateResponse:
description: Successful retrieval of styles
content:
application/json:
schema:
type: object
properties:
status:
type: integer
description: Response status
example: 200
data:
type: object
properties:
templates:
type: array
items:
$ref: '#/components/schemas/Template'
next_token:
type: string
example: 73a3c9e69b89
description: Token to query next page.
InvalidParameters:
description: Invalid request parameters
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 400
description: Response status
error:
type: string
example: Invalid parameter value
error_code:
type: string
example: InvalidParameters
InvalidApiKey:
description: Invalid or missing API key
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 401
description: Response status
error:
type: string
example: Invalid API key
TooManyRequests:
description: Too many requests
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 429
description: Response status
error:
type: string
example: Too many requests
InvalidTaskId:
description: Invalid task ID
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 400
description: Response status
error:
type: string
example: Invalid task ID
TaskTimeout:
description: Task execution timeout
content:
application/json:
schema:
type: object
properties:
status:
type: integer
example: 500
description: Response status
error:
type: string
example: Task execution timed out