{"openapi":"3.0.0","info":{"title":"A2E Developer API","description":"A2E provides affordable, accessible, and flexible AI-powered media processing capabilities through RESTful APIs. Generate avatar videos, swap faces, clone voices, create images and videos from text or images, and much more.\n\n## Quickstart for AI Integration\n\nUse the machine-readable OpenAPI spec or download a generated SKILL.md for Cursor, MCP clients, and other AI agents.\n\n| Resource | URL |\n|----------|-----|\n| OpenAPI JSON | [`https://www.a2e.com.cn/dev/openapi-spec`](https://www.a2e.com.cn/dev/openapi-spec) |\n| SKILL.md | [`https://www.a2e.com.cn/dev/skill`](https://www.a2e.com.cn/dev/skill) |\n| Get API Token | [Account > API Token](https://www.a2e.com.cn/account/token) |\n\n**3-step quickstart:**\n1. Create an API token in **Account > API Token**.\n2. Load the machine-readable OpenAPI spec from `https://www.a2e.com.cn/dev/openapi-spec`\n3. Download the generated SKILL.md from `https://www.a2e.com.cn/dev/skill`\n\n## Access Points\n\n| Environment | Base URL |\n|--------|----------|\n| Current Environment | `https://www.a2e.com.cn` |\n\n## Authentication\n\nUse an **API token** for developer API calls.\nAPI tokens start with `sk_` and should be sent as a Bearer token in the `Authorization` header.\n\n### How to get an API token\n\n1. Sign in to `https://www.a2e.com.cn`.\n2. Open **Account > API Token**.\n3. Create a new token and copy the generated value.\n4. Send it in the request header as `Authorization: Bearer sk_...`.\n\nJWT/session tokens used by the web app are not part of the public developer authentication flow and are not required in this documentation.\n\n```bash\ncurl -X POST \"https://www.a2e.com.cn/api/v1/...\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"my-task\", \"prompt\": \"...\"}'\n```\n\n## FAQ\n\n**What is the SLA?**\nA2E maintains approximately 99.6% uptime across all API services.\n\n**Is there a free tier?**\nYes — new users receive free credits upon registration. Check the pricing page for current free tier allocation.\n","version":"1.0.0","license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"}},"servers":[{"url":"https://www.a2e.com.cn","description":"Current Environment"}],"paths":{"/api/v1/video/list":{"post":{"summary":"Create/Run list","description":"List items - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Generate Avatar Videos"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Item retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VideoList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/video/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/r2/get_upload_presigned_url":{"post":{"summary":"Get pre-signed upload URL","description":"Legacy endpoint for generating a pre-signed R2 PUT URL.\nPrefer /api/v1/r2/upload-presigned-url for new integrations.\nIf bucket is omitted, files are uploaded to 3days-apac by default.\nThe returned key is automatically scoped to adam2eve/{env}/user/{user_id}/.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Miscellaneous"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"key parameter","example":"example_key"},"bucket":{"type":"string","description":"R2 bucket. Defaults to 3days-apac.","example":"3days-apac"},"expiresIn":{"type":"integer","minimum":60,"description":"expiresIn parameter","example":60},"contentType":{"type":"string","description":"MIME type to bind to the upload request.","example":"image/png"},"fileSize":{"type":"number","required":false,"description":"Optional file size in bytes. When provided, the pre-signed URL binds Content-Length.","example":1048576},"contentLength":{"type":"number","required":false,"description":"Optional Content-Length in bytes. Takes priority over fileSize if both are provided.","example":1048576}},"required":["key"],"example":{"key":"example_key","bucket":"3days-apac","expiresIn":60,"contentType":"image/png","fileSize":1048576,"contentLength":1048576}},"example":{"key":"example_key","bucket":"3days-apac","expiresIn":60,"contentType":"image/png","fileSize":1048576,"contentLength":1048576}}}},"responses":{"200":{"description":"Item retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/R2UploadPresignedUrlResponse"}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1R2GetUploadPresignedUrl","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/r2/get_upload_presigned_url\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"key\": \"example_key\",\n  \"bucket\": \"3days-apac\",\n  \"expiresIn\": 60,\n  \"contentType\": \"image/png\",\n  \"fileSize\": 1048576,\n  \"contentLength\": 1048576\n}'"}]}},"/api/v1/anchor/list":{"post":{"summary":"List all avatars","description":"all anchor - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Generate Avatar Videos"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"string","description":"user parameter","example":"example_user"},"web_type":{"type":"string","description":"web_type parameter","example":"example_web_type"}},"required":["user","web_type"],"example":{"user":"example_user","web_type":"example_web_type"}},"example":{"user":"example_user","web_type":"example_web_type"}}}},"responses":{"200":{"description":"Operation completed successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1AnchorList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/anchor/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"user\": \"example_user\",\n  \"web_type\": \"example_web_type\"\n}'"}]}},"/api/v1/anchor/tts_list":{"post":{"summary":"List system voices (TTS presets)","description":"List available system TTS voices/presets for the current user.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Voice preset list","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1AnchorTtsList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/anchor/tts_list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/anchor/language_list":{"post":{"summary":"List supported languages/regions for voices","description":"List supported language & region options. Optional `voice_map_type` can be used to filter results.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"voice_map_type":{"type":"string","description":"Filter by locale mapping type (e.g. en-US)","example":"en-US"}},"required":[],"example":{"voice_map_type":"en-US"}},"example":{"voice_map_type":"en-US"}}}},"responses":{"200":{"description":"Language/region list","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1AnchorLanguageList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/anchor/language_list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"voice_map_type\": \"en-US\"\n}'"}]}},"/api/v1/anchor/voice_list":{"post":{"summary":"List available voices by country/region","description":"List available voices filtered by `country`, `region`, and `voice_map_type`.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"country":{"type":"string","description":"Country/language code (default en)","example":"en"},"region":{"type":"string","description":"Region code (default US)","example":"US"},"voice_map_type":{"type":"string","description":"Locale mapping type (default en-US)","example":"en-US"}},"required":[],"example":{"country":"en","region":"US","voice_map_type":"en-US"}},"example":{"country":"en","region":"US","voice_map_type":"en-US"}}}},"responses":{"200":{"description":"Voice list","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1AnchorVoiceList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/anchor/voice_list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"country\": \"en\",\n  \"region\": \"US\",\n  \"voice_map_type\": \"en-US\"\n}'"}]},"get":{"summary":"List available voices (GET)","description":"List available voices. Defaults: country=en, region=US, voice_map_type=en-US.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Item retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"country","in":"query","required":false,"schema":{"type":"string","default":"en","example":"en"},"description":"country parameter"},{"name":"region","in":"query","required":false,"schema":{"type":"string","default":"US","example":"US"},"description":"region parameter"},{"name":"voice_map_type","in":"query","required":false,"schema":{"type":"string","default":"en-US","example":"en-US"},"description":"voice_map_type parameter"}],"operationId":"getApiV1AnchorVoiceList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/anchor/voice_list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/video/send_tts":{"post":{"summary":"Generate text-to-speech audio","description":"Convert text to speech using AI voices with customizable parameters.\n### Voice Selection\nMust provide **either** `tts_id` (system voice) **or** `user_voice_id` (custom cloned voice):\n- `tts_id`: Use built-in system voice (400+ voices available)\n- `user_voice_id`: Use your own custom cloned voice (requires `country` and `region` parameters)\n### Text Limitations\n- **API users**: Maximum 1000 characters per request\n- **Web users**: Maximum 3000 characters per request\n- Text length is calculated including all Unicode characters\n### Rate Limiting & Captcha\nFor non-API users, captcha verification may be required after frequent usage:\n- Use `type` parameter to specify captcha type (`turnstile` or `aliyun_captcha`)\n- Provide corresponding `turnstile_token` or `captchaVerifyParam` when captcha is required\n- API token users skip captcha verification\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"msg":{"type":"string","description":"Text content to convert to speech (1-3000 characters)","example":"Welcome. Let's start your AI journey.","minLength":1,"maxLength":3000},"tts_id":{"type":"string","description":"System voice ID (MongoDB ObjectId). Must provide either tts_id or user_voice_id.","example":"66dc3c1b7dc1f1c483cc5ab8"},"user_voice_id":{"type":"string","description":"Custom cloned voice ID (MongoDB ObjectId). Must provide either tts_id or user_voice_id.","example":"66f1234567890abcdef12345"},"country":{"type":"string","description":"Locale language part (e.g. 'en', 'zh', 'pt', 'ja'). Optional when using user_voice_id, defaults to 'en'. Combine with `region` to form locale like 'en-US'/'zh-CN'. Values should come from POST /api/v1/anchor/language_list (top-level `value`).","example":"en","default":"en"},"region":{"type":"string","description":"Locale region part (e.g. 'US', 'CN', 'BR', 'JP'). Optional when using user_voice_id, defaults to 'US'. Combine with `country` to form locale like 'en-US'/'zh-CN'. Values should come from POST /api/v1/anchor/language_list (child `value`).","example":"US","default":"US"},"speechRate":{"type":"number","description":"Speech speed multiplier (0.5-2.0)","example":1,"minimum":0.5,"maximum":2,"default":1},"type":{"type":"string","description":"Captcha type (required when captcha verification is needed)","enum":["turnstile","aliyun_captcha"],"example":"turnstile"},"turnstile_token":{"type":"string","description":"Captcha token (required when type is 'turnstile')","example":"0x4AAAAAAxxxxxxxxxxxxxxxxxx"},"captchaVerifyParam":{"type":"string","description":"Captcha verification parameter (required when type is 'aliyun_captcha')","example":"xxxxxxxxxxxx"}},"required":["msg"],"example":{"msg":"Welcome. Let's start your AI journey.","tts_id":"66dc3c1b7dc1f1c483cc5ab8","user_voice_id":"66f1234567890abcdef12345","country":"en","region":"US","speechRate":1,"type":"turnstile","turnstile_token":"0x4AAAAAAxxxxxxxxxxxxxxxxxx","captchaVerifyParam":"xxxxxxxxxxxx"}},"example":{"msg":"Welcome. Let's start your AI journey.","tts_id":"66dc3c1b7dc1f1c483cc5ab8","user_voice_id":"66f1234567890abcdef12345","country":"en","region":"US","speechRate":1,"type":"turnstile","turnstile_token":"0x4AAAAAAxxxxxxxxxxxxxxxxxx","captchaVerifyParam":"xxxxxxxxxxxx"}}}},"responses":{"200":{"description":"Text-to-speech generation successful","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VideoSendTts","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/video/send_tts\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"msg\": \"Welcome. Let's start your AI journey.\",\n  \"tts_id\": \"66dc3c1b7dc1f1c483cc5ab8\",\n  \"user_voice_id\": \"66f1234567890abcdef12345\",\n  \"country\": \"en\",\n  \"region\": \"US\",\n  \"speechRate\": 1,\n  \"type\": \"turnstile\",\n  \"turnstile_token\": \"0x4AAAAAAxxxxxxxxxxxxxxxxxx\",\n  \"captchaVerifyParam\": \"xxxxxxxxxxxx\"\n}'"}]}},"/api/v1/tts/preview/list":{"get":{"summary":"Get TTS preview list","description":"Get TTS preview list for current user (last 24 hours only) - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"TTS preview list retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1TtsPreviewList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/tts/preview/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/tts/preview/{id}":{"delete":{"summary":"Delete TTS preview record","description":"Soft delete a TTS preview record for current user - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"TTS preview record deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Record not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"TTS preview record ID to delete"}],"operationId":"deleteApiV1TtsPreviewId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/tts/preview/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/video/generate":{"post":{"summary":"Generate AI video with avatar","description":"Generate AI video with avatar using audio source and selected avatar. Either audioSrc or custom_voice is required. For background replacement, use back_id for system backgrounds or custom_back_id for backgrounds created by /api/v1/custom_back/add. The avatar must have an original background saved, or the request must provide anchor_background_img or anchor_background_color.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Generate Avatar Videos"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"title":{"type":"string","maxLength":40,"description":"Video title (optional, max 40 characters)","example":"My AI Video"},"audioSrc":{"type":"string","description":"Audio source URL (required if custom_voice not provided)","example":"https://example.com/audio.mp3"},"custom_voice":{"type":"string","description":"Custom voice audio URL (required if audioSrc not provided)","example":"https://example.com/custom_voice.wav"},"anchor_id":{"type":"string","pattern":"^[a-fA-F0-9]{24}$","description":"Avatar/anchor ID (MongoDB ObjectId)","example":"507f1f77bcf86cd799439011"},"anchor_type":{"type":"number","description":"Avatar type (0 for system avatar, 1 for custom avatar)","example":0},"anchor_background_img":{"type":"string","description":"Original avatar background image URL. Required for background replacement if the avatar record does not already have background_img or background_color.","example":"https://example.com/original-avatar-background.jpg"},"anchor_background_color":{"type":"string","description":"Original avatar background color in RGBA format. Required for background replacement if the avatar record does not already have background_img or background_color.","example":"rgba(255,255,255,1)"},"back_id":{"type":"string","pattern":"^[a-fA-F0-9]{24}$","description":"System background template ID (MongoDB ObjectId). Mutually exclusive with custom_back_id; sending both returns error 30005.","example":"507f1f77bcf86cd799439012"},"face_swap_id":{"type":"string","pattern":"^[a-fA-F0-9]{24}$","description":"Face swap template ID (MongoDB ObjectId)","example":"507f1f77bcf86cd799439013"},"custom_back_id":{"type":"string","pattern":"^[a-fA-F0-9]{24}$","description":"Custom background ID returned by /api/v1/custom_back/add (MongoDB ObjectId). Mutually exclusive with back_id; sending both returns error 30005.","example":"507f1f77bcf86cd799439014"},"color":{"type":"string","description":"Color setting in RGBA format","example":"rgba(0,0,0,1)"},"wl_model":{"type":"string","description":"Watermark/logo model setting","example":"default"},"isSkipRs":{"type":"boolean","description":"Skip resolution scaling","example":false},"web_bg_width":{"type":"number","default":0,"description":"Output canvas/background width. Required when using back_id, custom_back_id, or color.","example":1920},"web_bg_height":{"type":"number","default":0,"description":"Output canvas/background height. Required when using back_id, custom_back_id, or color.","example":1080},"web_people_width":{"type":"number","default":0,"description":"Avatar width in output layout. Required when using back_id, custom_back_id, or color.","example":800},"web_people_height":{"type":"number","default":0,"description":"Avatar height in output layout. Required when using back_id, custom_back_id, or color.","example":600},"web_people_x":{"type":"number","default":0,"description":"Avatar X position in web layout","example":100},"web_people_y":{"type":"number","default":0,"description":"Avatar Y position in web layout","example":50},"web_dist_bg_width":{"type":"number","default":-1,"description":"Distributed background width","example":1920},"web_dist_bg_height":{"type":"number","default":-1,"description":"Distributed background height","example":1080},"web_dist_bg_x":{"type":"number","default":0,"description":"Distributed background X position","example":0},"web_dist_bg_y":{"type":"number","default":0,"description":"Distributed background Y position","example":0},"resolution":{"type":"number","default":1080,"description":"Video resolution (height in pixels)","example":1080},"msg":{"type":"string","description":"Additional message or notes","example":"Custom video generation"},"erode_factor":{"type":"number","description":"Erosion factor for image processing","example":0.5},"isSkipGp":{"type":"boolean","description":"Skip green screen processing","example":false},"isCaptionEnabled":{"type":"boolean","description":"Enable captions/subtitles","example":true},"gp_model":{"type":"object","description":"Green screen processing model settings","properties":{"compose_mode":{"type":"string","description":"Composition mode","example":"overlay"},"compose_ratio":{"type":"number","description":"Composition ratio","example":0.8}}},"isToPublicPool":{"type":"boolean","description":"Add to public pool for sharing","example":false},"lip_model":{"type":"string","description":"Lip sync model selection","example":"default"},"captionAlign":{"type":"object","description":"Caption alignment and styling settings","properties":{"language":{"type":"string","description":"Caption language","example":"en"},"PrimaryColour":{"type":"string","description":"Primary text color in RGBA format","example":"rgba(255,255,255,1)"},"title":{"type":"string","description":"Caption title","example":"Video Caption"},"TitleBoxColour":{"type":"string","description":"Title box background color in RGBA format","example":"rgba(0,0,0,0.5)"},"FontName":{"type":"string","description":"Font family name","example":"Arial"},"Fontsize":{"type":"integer","description":"Font size in pixels","example":24},"subtitle_position":{"type":"number","description":"Subtitle vertical position (0-1)","example":0.9},"OutlineColour":{"type":"string","description":"Text outline color in RGBA format","example":"rgba(0,0,0,1)"},"BackColour":{"type":"string","description":"Text background color in RGBA format","example":"rgba(0,0,0,0.3)"}}}},"required":["anchor_id","anchor_type"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Video generation started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters or missing required audio source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VideoGenerate","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/video/generate\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/video/generatePublicAccessToken":{"post":{"summary":"Generate public access token","description":"Generate new item - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Generate Avatar Videos"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"video_id":{"type":"mongoObjectId","description":"video_id parameter","example":"example_video_id"},"expire_minutes":{"type":"integer","minimum":1,"description":"expire_minutes parameter","example":1}},"required":["video_id"],"example":{"video_id":"example_video_id","expire_minutes":1}},"example":{"video_id":"example_video_id","expire_minutes":1}}}},"responses":{"200":{"description":"Item created successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VideoGeneratePublicAccessToken","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/video/generatePublicAccessToken\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"video_id\": \"example_video_id\",\n  \"expire_minutes\": 1\n}'"}]}},"/api/v1/custom_avatar/add":{"post":{"summary":"Add new record","description":"Add new item - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Create Avatars"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Item created successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomAvatarAdd","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_avatar/add\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_avatar/list":{"post":{"summary":"Create/Run list","description":"List items - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Create Avatars"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Item retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomAvatarList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_avatar/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_avatar/del":{"post":{"summary":"Delete record","description":"del - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Create Avatars"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Operation completed successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomAvatarDel","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_avatar/del\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_avatar/all_tags":{"get":{"summary":"List all tags","description":"all tags - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Create Avatars"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Operation completed successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1CustomAvatarAllTags","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/custom_avatar/all_tags\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/custom_avatar/{_id}":{"put":{"tags":["Create Avatars"],"summary":"Update record","description":"update - HTTP PUT\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"putApiV1CustomAvatarId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X PUT \"https://www.a2e.com.cn/api/v1/custom_avatar/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_back/add":{"post":{"summary":"Add new custom background","description":"Upload and add a new custom background image - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Background Matting"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"img_url":{"type":"string","description":"URL of the background image to add","example":"https://example.com/background.jpg"}},"required":["img_url"],"example":{"img_url":"https://example.com/background.jpg"}},"example":{"img_url":"https://example.com/background.jpg"}}}},"responses":{"200":{"description":"Background item created successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters or missing img_url","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomBackAdd","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_back/add\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"img_url\": \"https://example.com/background.jpg\"\n}'"}]}},"/api/v1/custom_back/list":{"post":{"summary":"Create/Run list","description":"List items - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Background Matting"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Item retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomBackList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_back/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_back/del":{"post":{"summary":"Delete record","description":"del - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Background Matting"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Operation completed successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomBackDel","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_back/del\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_back/allBackground":{"post":{"tags":["Background Matting"],"summary":"List all backgrounds","description":"allBackground - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1CustomBackAllBackground","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_back/allBackground\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/custom_back/randomBackground":{"post":{"tags":["Background Matting"],"summary":"Get a random background","description":"randomBackground - HTTP POST","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1CustomBackRandomBackground","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/custom_back/randomBackground\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}'"}]}},"/api/v1/userVoice/training":{"post":{"summary":"Start voice training","description":"发起声音克隆训练任务（异步）。\n- **并发限制**：同一用户短时间内只允许同时发起 1 个训练请求（服务端有并发保护）。\n- **费用**：不同 `model` 可能会消耗不同数量的金币；若创建失败会自动回退扣费。\n- **结果状态**：创建成功后可通过 `GET /api/v1/userVoice/trainingRecord` 查看最新记录及 `current_status`。\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/UserVoiceTrainingRequest"},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Voice training record created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessUserVoiceResponse"}}}},"400":{"description":"Bad Request - Invalid training data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden - Voice clone limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserVoiceTraining","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVoice/training\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userVoice/trainingRecord":{"get":{"summary":"Get voice training records","description":"获取当前登录用户的声音克隆训练记录列表（包含进行中/已完成/失败等状态）。\n- **排序**：按 `createdAt` 倒序（最新在前）。\n- **状态字段**：`current_status` 可能值包含 `sent` / `pendding` / `processing` / `completed` / `failed`。\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessUserVoiceListResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserVoiceTrainingRecord","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVoice/trainingRecord\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVoice/completedRecord":{"get":{"summary":"Get completed voice training records","description":"获取当前登录用户 **已完成** 的声音克隆训练记录列表（`current_status=completed`）。\n- **排序**：按 `createdAt` 倒序（最新在前）。\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessUserVoiceListResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserVoiceCompletedRecord","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVoice/completedRecord\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVoice/{_id}":{"delete":{"summary":"Delete voice training record","description":"软删除一条声音克隆训练记录（仅将 `deleted=true`，不会物理删除数据）。\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"MongoDB ObjectId of the voice training record"}],"operationId":"deleteApiV1UserVoiceId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userVoice/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]},"get":{"summary":"Get voice training record detail","description":"根据记录 `_id` 查询单条声音克隆训练记录详情。\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessUserVoiceResponse"}}}},"400":{"description":"Bad Request - Invalid _id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"MongoDB ObjectId of the voice training record"}],"operationId":"getApiV1UserVoiceId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVoice/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"put":{"summary":"Update voice training record name","description":"更新指定记录的 `name`（用于重命名）。\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["TTS and Voice Clone"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserVoiceUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request - Invalid request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"MongoDB ObjectId of the voice training record"}],"operationId":"putApiV1UserVoiceId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X PUT \"https://www.a2e.com.cn/api/v1/userVoice/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userVideoTwin/upload":{"post":{"tags":["Video Twin"],"summary":"Upload file","description":"upload - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1UserVideoTwinUpload","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/upload\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userVideoTwin/training":{"post":{"tags":["Video Twin"],"summary":"Start training","description":"training - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1UserVideoTwinTraining","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/training\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userVideoTwin/uploadStatus":{"get":{"summary":"Get video twin upload status","description":"Check the upload status of video twin files for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Upload status retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserVideoTwinUploadStatus","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVideoTwin/uploadStatus\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVideoTwin/userRecords":{"get":{"summary":"Get user video twin records","description":"Retrieve all video twin records for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Video twin records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserVideoTwinUserRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVideoTwin/userRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVideoTwin/remove":{"post":{"summary":"Remove video twin","description":"Remove a video twin from the user's collection\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"ID of the video twin to remove","example":"507f1f77bcf86cd799439011"}},"required":["_id"],"example":{"_id":"507f1f77bcf86cd799439011"}},"example":{"_id":"507f1f77bcf86cd799439011"}}}},"responses":{"200":{"description":"Video twin removed successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid video twin ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserVideoTwinRemove","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/remove\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"_id\": \"507f1f77bcf86cd799439011\"\n}'"}]}},"/api/v1/userVideoTwin/records":{"get":{"summary":"Get video twin records","description":"Retrieve paginated video twin records with optional filters\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number (starts from 1)"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"example":10},"description":"Number of records per page"},{"name":"status","in":"query","required":false,"schema":{"type":"string","example":"completed","enum":["pending","processing","completed","failed"]},"description":"Filter by status"}],"operationId":"getApiV1UserVideoTwinRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVideoTwin/records\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVideoTwin/startTraining":{"post":{"summary":"Start video twin training","description":"Begin training a new video twin model with image or video source\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name for the video twin","example":"My Video Twin"},"image_url":{"type":"string","description":"URL of the source image","example":"https://example.com/face.jpg"},"video_url":{"type":"string","description":"URL of the source video","example":"https://example.com/video.mp4"},"video_background_image":{"type":"string","description":"URL of background image","example":"https://example.com/bg.jpg"},"video_background_color":{"type":"string","description":"Background color in RGBA format","example":"rgba(255,255,255,1)"}},"required":[],"example":{"name":"My Video Twin","image_url":"https://example.com/face.jpg","video_url":"https://example.com/video.mp4","video_background_image":"https://example.com/bg.jpg","video_background_color":"rgba(255,255,255,1)"}},"example":{"name":"My Video Twin","image_url":"https://example.com/face.jpg","video_url":"https://example.com/video.mp4","video_background_image":"https://example.com/bg.jpg","video_background_color":"rgba(255,255,255,1)"}}}},"responses":{"200":{"description":"Video twin training started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserVideoTwinStartTraining","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/startTraining\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"name\": \"My Video Twin\",\n  \"image_url\": \"https://example.com/face.jpg\",\n  \"video_url\": \"https://example.com/video.mp4\",\n  \"video_background_image\": \"https://example.com/bg.jpg\",\n  \"video_background_color\": \"rgba(255,255,255,1)\"\n}'"}]}},"/api/v1/userVideoTwin/continueTraining":{"post":{"summary":"Continue video twin training","description":"Continue training an existing video twin model that was previously paused\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"ID of the video twin to continue training","example":"507f1f77bcf86cd799439011"}},"required":["_id"],"example":{"_id":"507f1f77bcf86cd799439011"}},"example":{"_id":"507f1f77bcf86cd799439011"}}}},"responses":{"200":{"description":"Training continued successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid video twin ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserVideoTwinContinueTraining","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/continueTraining\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"_id\": \"507f1f77bcf86cd799439011\"\n}'"}]}},"/api/v1/userVideoTwin/trainingRecords":{"get":{"summary":"Get training records","description":"Retrieve all video twin training records for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Training records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserVideoTwinTrainingRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVideoTwin/trainingRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVideoTwin/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserVideoTwinBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userVideoTwin/{_id}":{"get":{"tags":["Video Twin"],"summary":"Get record details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"getApiV1UserVideoTwinId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userVideoTwin/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userVideoTwin/retry":{"post":{"tags":["Video Twin"],"summary":"Retry a failed task","description":"retry - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1UserVideoTwinRetry","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/retry\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userVideoTwin/eyeContact":{"post":{"summary":"Start eye contact enhancement","description":"Enhance video twin with improved eye contact using AI processing\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Video Twin"],"security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"ID of the video twin to enhance","example":"507f1f77bcf86cd799439011"}},"required":[],"example":{"_id":"507f1f77bcf86cd799439011"}},"example":{"_id":"507f1f77bcf86cd799439011"}}}},"responses":{"200":{"description":"Eye contact enhancement started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserVideoTwinEyeContact","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userVideoTwin/eyeContact\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"_id\": \"507f1f77bcf86cd799439011\"\n}'"}]}},"/api/v1/userFaceSwapImage/add":{"post":{"summary":"Add a new face image for face swapping","description":"Add a new face image to the user's face swap image collection\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"face_url":{"type":"string","description":"URL of the face image to be used for face swapping","example":"https://example.com/face-image.jpg"}},"required":["face_url"],"example":{"face_url":"https://example.com/face-image.jpg"}},"example":{"face_url":"https://example.com/face-image.jpg"}}}},"responses":{"200":{"description":"Face image added successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserFaceSwapImageAdd","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userFaceSwapImage/add\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"face_url\": \"https://example.com/face-image.jpg\"\n}'"}]}},"/api/v1/userFaceSwapImage/records":{"get":{"summary":"Get user's face swap image records","description":"Retrieve all face swap images for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Face swap image records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserFaceSwapImageRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFaceSwapImage/records\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userFaceSwapImage/{_id}":{"delete":{"summary":"Remove a face swap image","description":"Delete a specific face swap image from the user's collection\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Face swap image deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid ID format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the face swap image to delete"}],"operationId":"deleteApiV1UserFaceSwapImageId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userFaceSwapImage/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userFaceSwapPreview/add":{"post":{"summary":"Create a new face swap preview task","description":"Create a face swap preview task using video and face image URLs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"video_url":{"type":"string","description":"URL of the video to swap face in","example":"https://example.com/video.mp4"},"face_url":{"type":"string","description":"URL of the face image to swap with","example":"https://example.com/face.jpg"}},"required":["video_url","face_url"],"example":{"video_url":"https://example.com/video.mp4","face_url":"https://example.com/face.jpg"}},"example":{"video_url":"https://example.com/video.mp4","face_url":"https://example.com/face.jpg"}}}},"responses":{"200":{"description":"Face swap preview task created successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserFaceSwapPreviewAdd","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userFaceSwapPreview/add\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"video_url\": \"https://example.com/video.mp4\",\n  \"face_url\": \"https://example.com/face.jpg\"\n}'"}]}},"/api/v1/userFaceSwapPreview/status":{"get":{"summary":"Get face swap preview status","description":"Check the processing status of a specific face swap preview task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Preview status retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"query","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the face swap preview task"}],"operationId":"getApiV1UserFaceSwapPreviewStatus","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFaceSwapPreview/status\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userFaceSwapTask/retry":{"get":{"summary":"Retry face swap task","description":"Retry a failed or stuck face swap task","tags":["Face Swap"],"security":[],"responses":{"200":{"description":"Task retry initiated successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID or task cannot be retried","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"query","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the face swap task to retry"}],"operationId":"getApiV1UserFaceSwapTaskRetry","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/retry\" \\\n  -H \"Content-Type: application/json\""}]}},"/api/v1/userFaceSwapTask/add":{"post":{"summary":"Create a new face swap task","description":"Create a face swap task with video, face image, and optional cover image\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the face swap task","example":"My Face Swap Video"},"video_url":{"type":"string","description":"URL of the video to swap face in","example":"https://example.com/video.mp4"},"face_url":{"type":"string","description":"URL of the face image to swap with","example":"https://example.com/face.jpg"},"cover_url":{"type":"string","required":false,"description":"Optional cover image URL","example":"https://example.com/cover.jpg"},"model_version":{"type":"string","required":false,"enum":["v1","v2"],"description":"Face swap model version: v1 (JAH pipeline, default), v2 (ComfyUI, image only)","example":"v1"}},"required":["name","video_url","face_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Face swap task created successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserFaceSwapTaskAdd","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/add\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userFaceSwapTask/records":{"get":{"summary":"Get user's face swap task records","description":"Retrieve paginated list of face swap tasks for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid pagination parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":true,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number (starts from 1)"},{"name":"pageSize","in":"query","required":true,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"example":10},"description":"Number of records per page"}],"operationId":"getApiV1UserFaceSwapTaskRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/records\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userFaceSwapTask/status":{"get":{"summary":"Get user's face swap task status","description":"Get overall face swap task status information for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task status retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserFaceSwapTaskStatus","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/status\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userFaceSwapTask/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserFaceSwapTaskBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userFaceSwapTask/{_id}":{"get":{"summary":"Get face swap task details","description":"Retrieve detailed information about a specific face swap task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the face swap task"}],"operationId":"getApiV1UserFaceSwapTaskId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete face swap task","description":"Delete a face swap task from the user's collection (DELETE method)\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Face Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the face swap task to delete"}],"operationId":"deleteApiV1UserFaceSwapTaskId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userFaceSwapTask/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userDubbing/startDubbing":{"post":{"tags":["AI Dubbing"],"summary":"Start AI dubbing task","description":"startDubbing - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookInput"}}}},"operationId":"postApiV1UserDubbingStartDubbing","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userDubbing/startDubbing\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userDubbing/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["AI Dubbing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1UserDubbingAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userDubbing/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userDubbing/allProcessing":{"get":{"tags":["AI Dubbing"],"summary":"List processing records","description":"allProcessing - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"getApiV1UserDubbingAllProcessing","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userDubbing/allProcessing\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userDubbing/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["AI Dubbing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserDubbingId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userDubbing/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete dubbing task","description":"Delete a specific dubbing task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["AI Dubbing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the dubbing task"}],"operationId":"deleteApiV1UserDubbingId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userDubbing/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userCaptionRemoval/start":{"post":{"summary":"Start caption removal task","description":"Start a new caption removal task with video source URL\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Caption Removal"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the caption removal task","example":"Remove captions from video"},"source_url":{"type":"string","description":"URL of the source video","example":"https://example.com/video.mp4"}},"required":["name","source_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Caption removal task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserCaptionRemovalStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userCaptionRemoval/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Caption Removal"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1UserCaptionRemovalAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userCaptionRemoval/allProcessing":{"get":{"tags":["Caption Removal"],"summary":"List processing records","description":"allProcessing - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"getApiV1UserCaptionRemovalAllProcessing","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/allProcessing\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userCaptionRemoval/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Caption Removal"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserCaptionRemovalBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userCaptionRemoval/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Caption Removal"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserCaptionRemovalId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete caption removal task","description":"Delete a specific caption removal task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Caption Removal"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the caption removal task"}],"operationId":"deleteApiV1UserCaptionRemovalId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userCaptionRemoval/retry":{"post":{"tags":["Caption Removal"],"summary":"Retry a failed task","description":"retry - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1UserCaptionRemovalRetry","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userCaptionRemoval/retry\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userUpscale/start":{"post":{"summary":"Start upscale task","description":"Start a new upscale task with image or video source URL\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Upscale"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the upscale task","example":"Upscale media"},"source_url":{"type":"string","description":"URL of the source image or video","example":"https://example.com/video.mp4"}},"required":["source_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserUpscaleStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userUpscale/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userUpscale/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Upscale"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1UserUpscaleAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userUpscale/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userUpscale/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Upscale"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserUpscaleBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userUpscale/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userUpscale/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Upscale"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserUpscaleId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userUpscale/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete task","description":"Delete a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Upscale"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1UserUpscaleId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userUpscale/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userText2Image/start":{"post":{"summary":"Start text to image generation","description":"Generate images from text prompts using AI models\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Text to Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the text to image task (optional, auto-generated if not provided)","example":"My Generated Image"},"prompt":{"type":"string","description":"Text prompt for image generation","example":"A beautiful sunset over mountains"},"width":{"type":"number","description":"Image width","default":1024,"example":1024},"height":{"type":"number","description":"Image height","default":1024,"example":1024},"model_type":{"type":"string","description":"Model type to use for generation","enum":["a2e","seedream"],"default":"a2e","example":"a2e"},"input_images":{"type":"array","description":"Reference images for A2E/Seedream model. A2E max 2 images; Seedream 5.0 Pro max 10 images.","items":{"type":"string"},"maxItems":10,"example":["https://example.com/image1.jpg","https://example.com/image2.jpg"]},"skip_face_enhance":{"type":"boolean","description":"Whether to disable face similarity enhancement for A2E image edit. Defaults to false.","default":false,"example":false},"aspect_ratio":{"type":"string","description":"Aspect ratio for Seedream model","enum":["1:1","4:3","3:4","16:9","9:16","2:3","3:2","21:9"],"example":"1:1"},"max_images":{"type":"number","description":"Maximum number of images to generate (creates multiple tasks internally)","minimum":1,"maximum":8,"example":1}},"required":["prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Text to image task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserText2ImageStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userText2Image/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userText2Image/allRecords":{"get":{"summary":"Get all text to image records","description":"Retrieve paginated list of all text to image generation records for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Text to Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Records retrieved successfully"},"401":{"description":"Unauthorized"}},"operationId":"getApiV1UserText2ImageAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userText2Image/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userText2Image/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Text to Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserText2ImageBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userText2Image/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userText2Image/{_id}":{"get":{"summary":"Get text to image record detail","description":"Retrieve detailed information of a specific text to image generation record\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Text to Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Record detail retrieved successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Record ID"}],"operationId":"getApiV1UserText2ImageId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userText2Image/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete task","description":"Delete a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Text to Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1UserText2ImageId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userText2Image/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userText2Image/quickAddAvatar":{"post":{"summary":"Quick add avatar from generated image","description":"Create a custom avatar directly from a text to image generation result\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Text to Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"_id":{"type":"string","description":"Text to image record ID","example":"507f1f77bcf86cd799439011"},"gender":{"type":"string","enum":["female","male"],"description":"Avatar gender","example":"female"}},"required":["_id"],"example":{"_id":"507f1f77bcf86cd799439011","gender":"female"}},"example":{"_id":"507f1f77bcf86cd799439011","gender":"female"}}}},"responses":{"200":{"description":"Avatar created successfully"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"}},"operationId":"postApiV1UserText2ImageQuickAddAvatar","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userText2Image/quickAddAvatar\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"_id\": \"507f1f77bcf86cd799439011\",\n  \"gender\": \"female\"\n}'"}]}},"/api/v1/userNanoBanana/start":{"post":{"summary":"Start Nano Banana image generation","description":"Generate images using Nano Banana models with advanced conversational capabilities and NSFW content pre-filtering\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Nano Banana"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the image generation task","example":"Beautiful Landscape"},"prompt":{"type":"string","description":"Text prompt for image generation","example":"A serene mountain landscape at sunset with a crystal clear lake"},"model":{"type":"string","description":"Model to use for generation. Options: nano-banana (no resolution control, auto edit mode with images), nano-banana-pro (with resolution control), nano-banana-2 (with resolution control), nano-banana-2-lite (1K only)","enum":["nano-banana","nano-banana-pro","nano-banana-2","nano-banana-2-lite"],"default":"nano-banana-pro","example":"nano-banana-pro"},"input_images":{"type":"array","items":{"type":"string"},"description":"Array of input image URLs (for editing and composition modes)","example":["https://example.com/image1.jpg"]},"aspect_ratio":{"type":"string","description":"Aspect ratio of the generated image. Options: auto, 16:9, 1:1, 9:16, 4:3, 3:4, 2:3, 3:2, 4:5, 5:4, 21:9","enum":["auto","16:9","1:1","9:16","4:3","3:4","2:3","3:2","4:5","5:4","21:9"],"default":"auto","example":"auto"},"image_size":{"type":"string","description":"Size of the generated image. Options: 1K, 2K, 4K. Note: supported by nano-banana-pro and nano-banana-2 models; nano-banana-2-lite is always forced to 1K.","enum":["1K","2K","4K"],"default":"1K","example":"1K"},"google_search":{"type":"boolean","description":"Use Google Web Search grounding to generate images based on real-time information. Only supported by nano-banana-2 model.","default":false},"force_generate":{"type":"boolean","description":"Force generation even if NSFW content is detected. Defaults to true for API users, false for web users","default":true}},"required":["name","prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Nano Banana task started successfully or NSFW content detected","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserNanoBananaStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userNanoBanana/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userNanoBanana/allRecords":{"get":{"summary":"Get Nano Banana task list","description":"Retrieve paginated list of user's Nano Banana image generation tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Nano Banana"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":true,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":true,"schema":{"type":"integer","minimum":1,"maximum":100,"example":1},"description":"Number of items per page"},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["initialized","processing","completed","failed"],"example":"initialized"},"description":"Filter by task status"}],"operationId":"getApiV1UserNanoBananaAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userNanoBanana/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userNanoBanana/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Nano Banana"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserNanoBananaBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userNanoBanana/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userNanoBanana/detail/{id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific Nano Banana task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Nano Banana"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserNanoBananaDetailId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userNanoBanana/detail/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userNanoBanana/delete/{id}":{"delete":{"summary":"Delete task","description":"Soft delete a Nano Banana task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Nano Banana"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1UserNanoBananaDeleteId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userNanoBanana/delete/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userPhotobook/start":{"post":{"summary":"Start photobook generation","description":"Create a photobook generation task using one face image and optional location/clothing prompts. The service will generate 4, 8, 12, or 16 final photos depending on total_count.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Photobook"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Display name for this photobook batch","example":"Summer Travel Album"},"face_image_url":{"type":"string","description":"Source face image URL used for all generated photos","example":"https://example.com/face.jpg"},"location":{"type":"string","description":"Scene or location prompt","example":"Paris street cafe at golden hour"},"clothing":{"type":"string","description":"Clothing prompt applied during the image edit step","example":"elegant white dress"},"total_count":{"type":"integer","description":"Total number of photos to generate","enum":[4,8,12,16],"default":4,"example":8}},"required":["face_image_url"],"example":{"name":"Summer Travel Album","face_image_url":"https://example.com/face.jpg","location":"Paris street cafe at golden hour","clothing":"elegant white dress","total_count":8}},"example":{"name":"Summer Travel Album","face_image_url":"https://example.com/face.jpg","location":"Paris street cafe at golden hour","clothing":"elegant white dress","total_count":8}}}},"responses":{"200":{"description":"Photobook task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserPhotobookStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userPhotobook/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"name\": \"Summer Travel Album\",\n  \"face_image_url\": \"https://example.com/face.jpg\",\n  \"location\": \"Paris street cafe at golden hour\",\n  \"clothing\": \"elegant white dress\",\n  \"total_count\": 8\n}'"}]}},"/api/v1/userPhotobook/allRecords":{"get":{"summary":"Get photobook records","description":"List the current user's photobook records with pagination.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Photobook"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Photobook records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid pagination parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":20,"example":20},"description":"Page size"}],"operationId":"getApiV1UserPhotobookAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userPhotobook/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userPhotobook/{id}":{"get":{"summary":"Get photobook record detail","description":"Get one photobook record by id. The endpoint also syncs the latest pipeline status before returning.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Photobook"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Photobook record detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Record not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Photobook record id"}],"operationId":"getApiV1UserPhotobookId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userPhotobook/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete photobook record","description":"Delete one photobook record owned by the current user.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Photobook"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Photobook record deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Photobook record cannot be deleted in its current status (for example, processing)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found - Photobook record does not exist or is not accessible by the current user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Photobook record id"}],"operationId":"deleteApiV1UserPhotobookId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userPhotobook/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userGptImage/start":{"post":{"summary":"Start GPT Image generation or editing","description":"Generate images from text or edit existing images using GPT Image (4o Image) model.\n**Features:**\n- Text-to-Image generation\n- Image-to-Image editing (supports up to 16 reference images)\n- High-fidelity visuals with accurate text rendering\n**Output:**\n- Images are stored in R2 storage and expire after 3 days\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["GPT Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the image generation task"},"prompt":{"type":"string","description":"Text prompt for image generation (max 3000 chars)"},"input_images":{"type":"array","items":{"type":"string"},"description":"Array of input image URLs for image-to-image editing (up to 16 images for GPT Image 1.5)"},"model":{"type":"string","enum":["gpt-image-1.5","gpt-image-2"],"default":"gpt-image-1.5","description":"Model variant. gpt-image-1.5 (20/35 coins) supports both aspect_ratio and quality. gpt-image-2 (25/35/45 coins per image based on resolution: 1K=25, 2K=35, 4K=45; aspect_ratio=auto is billed as 1K, aspect_ratio=1:1 + 4K is downgraded to 2K) follows the current model spec: quality is fixed to medium; aspect_ratio exposes 9 ratios (auto/1:1/9:16/21:9/16:9/4:3/3:2/3:4/2:3); resolution supports 1K/2K/4K."},"aspect_ratio":{"type":"string","enum":["auto","1:1","9:16","21:9","16:9","4:3","3:2","3:4","2:3"],"default":"1:1","description":"gpt-image-1.5 only supports 1:1/3:2/2:3 (other values are normalized to 1:1). gpt-image-2 supports 9 ratios. Note: 5:4/4:5 are not exposed because fallback generation would lose the aspect ratio."},"quality":{"type":"string","enum":["medium","high"],"default":"medium","description":"Image quality level. Only used by gpt-image-1.5"},"resolution":{"type":"string","enum":["1K","2K","4K"],"default":"1K","description":"Image resolution. Only used by gpt-image-2. Constraints: aspect_ratio=1:1 cannot use 4K; aspect_ratio=auto (or omitted) only supports 1K, otherwise upstream will reject the task."},"force_generate":{"type":"boolean","description":"Force generation even if NSFW content is detected"}},"required":["name","prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully or NSFW content detected"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserGptImageStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userGptImage/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userGptImage/list":{"get":{"summary":"Get GPT Image task list","description":"list - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["GPT Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserGptImageList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userGptImage/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userGptImage/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["GPT Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserGptImageBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userGptImage/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userGptImage/detail/{id}":{"get":{"summary":"Get task details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["GPT Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"getApiV1UserGptImageDetailId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userGptImage/detail/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userGptImage/{id}":{"delete":{"summary":"Delete GPT Image task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["GPT Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"deleteApiV1UserGptImageId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userGptImage/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan26Image/start":{"post":{"summary":"Start a new Wan2.6-Image generation task","description":"start - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.6 Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string"},"prompt":{"type":"string","description":"Text prompt (max 2000 chars)"},"input_images":{"type":"array","items":{"type":"string"},"description":"Input images for editing (0-4 images)"},"aspect_ratio":{"type":"string","enum":["1:1","3:2","2:3","4:3","3:4","16:9","9:16","21:9"],"default":"1:1"},"negative_prompt":{"type":"string","description":"Negative prompt (max 500 chars)"},"prompt_extend":{"type":"boolean","default":true,"description":"Enable smart prompt rewriting"},"force_generate":{"type":"boolean"}},"required":["name","prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully or NSFW content detected"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan26ImageStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan26Image/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan26Image/list":{"get":{"summary":"Get task list","description":"list - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.6 Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserWan26ImageList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan26Image/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWan26Image/detail/{id}":{"get":{"summary":"Get task details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.6 Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"getApiV1UserWan26ImageDetailId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan26Image/detail/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWan26Image/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.6 Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan26ImageBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan26Image/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userWan26Image/{id}":{"delete":{"summary":"Delete task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.6 Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"deleteApiV1UserWan26ImageId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userWan26Image/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan27Image/start":{"post":{"summary":"Start a new Wan2.7-Image generation task","description":"start - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.7 Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string"},"prompt":{"type":"string","description":"Text prompt (max 5000 chars)"},"model":{"type":"string","enum":["wan2.7-image","wan2.7-image-pro"],"default":"wan2.7-image"},"input_images":{"type":"array","items":{"type":"string"},"description":"Input images for editing (0-9 images, max 20MB each)"},"aspect_ratio":{"type":"string","enum":["1:1","3:2","2:3","4:3","3:4","16:9","9:16","21:9"],"default":"1:1"},"bbox_list":{"type":"array","description":"Bounding boxes for interactive editing"},"force_generate":{"type":"boolean"}},"required":["name","prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully or NSFW content detected"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan27ImageStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan27Image/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan27Image/list":{"get":{"summary":"Get task list","description":"list - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.7 Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserWan27ImageList","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan27Image/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWan27Image/detail/{id}":{"get":{"summary":"Get task details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.7 Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"getApiV1UserWan27ImageDetailId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan27Image/detail/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWan27Image/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.7 Image"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan27ImageBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan27Image/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userWan27Image/{id}":{"delete":{"summary":"Delete task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan2.7 Image"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"deleteApiV1UserWan27ImageId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userWan27Image/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userFlux2/start":{"post":{"summary":"Start Flux 2 Pro image generation or editing","description":"Generate high-quality images from text or edit existing images using Flux 2 Pro model.\n**Features:**\n- Text-to-Image generation with advanced prompt understanding\n- Image-to-Image editing (supports up to 8 reference images)\n- Character consistency across multiple images\n- Text rendering within images\n- High-quality output with professional-grade results\n**Processing Time:**\n- Usually 20-60 seconds\n**Output:**\n- Images are stored in R2 storage (7days-apac bucket) and expire after 7 days\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Flux 2"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the image generation task","example":"Elon Musk and Mark Zuckerberg boxing"},"prompt":{"type":"string","description":"Text prompt for image generation or editing instruction.\n","example":"Elon Musk and Mark Zuckerberg boxing in a professional ring"},"input_images":{"type":"array","items":{"type":"string"},"description":"Array of input image URLs for image-to-image editing or multi-image composition (up to 8 images).\nWhen provided, automatically switches to image-to-image mode for character consistency.\n","example":["https://example.com/reference1.jpg","https://example.com/reference2.jpg"]},"aspect_ratio":{"type":"string","description":"Aspect ratio of the generated image. Options: 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2, custom, match_input_image","enum":["1:1","16:9","9:16","4:3","3:4","2:3","3:2","custom","match_input_image"],"default":"9:16","example":"9:16"},"resolution":{"type":"string","description":"Resolution of the generated image.\n- 1K: ~1 megapixel\n- 2K: ~2 megapixels\n","enum":["1K","2K"],"default":"1K","example":"1K"},"force_generate":{"type":"boolean","description":"Force generation even if NSFW content is detected. Defaults to true for API users, false for web users","default":true}},"required":["name","prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Flux 2 Pro task started successfully or NSFW content detected","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized - Invalid or missing token","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object"}}}}},"operationId":"postApiV1UserFlux2Start","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userFlux2/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userFlux2/list":{"get":{"summary":"Get Flux 2 Pro task list","description":"Retrieve paginated list of user's Flux 2 Pro image generation tasks.\nTasks are sorted by creation date (newest first).\nOnly returns tasks that haven't expired (7 days retention).\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Flux 2"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1UserFlux2List","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFlux2/list\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userFlux2/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Flux 2"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserFlux2BatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userFlux2/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userFlux2/detail/{id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific Flux 2 Pro task, including generation status, image URL, and processing time\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Flux 2"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserFlux2DetailId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userFlux2/detail/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userFlux2/{id}":{"delete":{"summary":"Delete Flux 2 Pro task","description":"Soft delete a Flux 2 Pro task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Flux 2"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"id parameter"}],"operationId":"deleteApiV1UserFlux2Id","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userFlux2/{id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImageEdit/start":{"post":{"summary":"Start image editing task","description":"Edit images using AI with different edit types like clothing or product editing\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image Edit"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the image edit task","default":"","example":"Clothing Edit"},"edit_type":{"type":"string","enum":["clothing","product"],"description":"Type of edit to perform","example":"clothing"},"image_urls":{"type":"array","minItems":2,"items":{"type":"string","format":"uri","pattern":"^https?://.*"},"description":"Array of image URLs to edit (minimum 2)","example":["https://example.com/image1.jpg","https://example.com/image2.jpg"]},"timeout":{"type":"number","default":120,"description":"Processing timeout in seconds","example":120}},"required":["edit_type","image_urls"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Image edit task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserImageEditStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImageEdit/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImageEdit/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image Edit"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1UserImageEditAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userImageEdit/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userImageEdit/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image Edit"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserImageEditBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImageEdit/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userImageEdit/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image Edit"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserImageEditId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userImageEdit/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete task","description":"Delete a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image Edit"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1UserImageEditId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userImageEdit/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/start":{"post":{"summary":"Start image to video conversion","description":"Convert an image to video using AI generation with custom prompts.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image to Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the image to video task","example":"My Image Animation"},"image_url":{"type":"string","description":"URL of the source image","example":"https://example.com/image.jpg"},"prompt":{"type":"string","description":"Generation prompt","example":"Make the person in the image wave their hand"},"negative_prompt":{"type":"string","description":"Negative prompt to avoid unwanted features","example":"blurry, distorted, static"},"lora":{"type":"string","description":"Lora ID. If provided, prompt/negative_prompt can be omitted (prompt will be overwritten by lora preset on backend)."},"model_type":{"type":"string","enum":["GENERAL","FLF2V"],"default":"GENERAL","description":"Model type for generation"},"end_image_url":{"type":"string","description":"End image URL (required for FLF2V model)","example":"https://example.com/end_image.jpg"},"extend_prompt":{"type":"boolean","default":true,"description":"Whether to extend the prompt automatically"},"number_of_images":{"type":"integer","minimum":1,"maximum":8,"default":1,"description":"Number of videos to generate at once","example":1},"video_time":{"type":"integer","minimum":5,"maximum":20,"default":5,"description":"Video time in seconds (5, 10, 15, or 20 seconds)","example":5},"video_length":{"type":"integer","minimum":1,"maximum":1000,"description":"(Deprecated) Video length in frames. Prefer video_time. Backend converts frames to seconds internally.","example":81},"skip_face_enhance":{"type":"boolean","default":false,"description":"Whether to skip face similarity enhancement. Defaults to false (enhancing face similarity)."},"minor_suspected_skip":{"type":"boolean","default":false,"description":"If suspected minor is detected (10 <= age < 15), set to true to acknowledge and proceed"}},"required":["image_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Image to video task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserImage2VideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/allRecords":{"get":{"tags":["Image to Video"],"summary":"List all records","description":"allRecords - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"getApiV1UserImage2VideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userImage2Video/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userImage2Video/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image to Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserImage2VideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userImage2Video/avgProcessingTime":{"get":{"tags":["Image to Video"],"summary":"Get average processing time","description":"avgProcessingTime - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"getApiV1UserImage2VideoAvgProcessingTime","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userImage2Video/avgProcessingTime\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userImage2Video/unlimitedQueueLevel":{"get":{"tags":["Image to Video"],"summary":"unlimitedQueueLevel","description":"unlimitedQueueLevel - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"getApiV1UserImage2VideoUnlimitedQueueLevel","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userImage2Video/unlimitedQueueLevel\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userImage2Video/{_id}/markShared":{"post":{"tags":["Image to Video"],"summary":"Mark record as shared","description":"markShared - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"postApiV1UserImage2VideoIdMarkShared","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/{_id}/markShared\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/{_id}/markDownloaded":{"post":{"tags":["Image to Video"],"summary":"Mark record as downloaded","description":"markDownloaded - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"postApiV1UserImage2VideoIdMarkDownloaded","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/{_id}/markDownloaded\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/{_id}/markCopied":{"post":{"tags":["Image to Video"],"summary":"Mark record as copied","description":"markCopied - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"postApiV1UserImage2VideoIdMarkCopied","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/{_id}/markCopied\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/{_id}":{"get":{"tags":["Image to Video"],"summary":"Get record details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"getApiV1UserImage2VideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userImage2Video/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete an image to video task","description":"Delete a user's image to video task. Only final status tasks can be deleted (initialized/completed/failed). initialized tasks will be refunded.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Task in processing or invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"deleteApiV1UserImage2VideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userImage2Video/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/prompt_extension":{"post":{"tags":["Image to Video"],"summary":"Extend prompt with AI","description":"promptExtension - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1UserImage2VideoPromptExtension","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/prompt_extension\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userImage2Video/flf2v_prompt_extension":{"post":{"tags":["Image to Video"],"summary":"Extend video prompt with AI","description":"flf2vPromptExtension - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"},"example":{"success":true,"data":{},"timestamp":"2025-01-14T18:22:13.726Z"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"bearerAuth":[]}],"operationId":"postApiV1UserImage2VideoFlf2vPromptExtension","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userImage2Video/flf2v_prompt_extension\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan25/start":{"post":{"summary":"Start Wan video generation","description":"Start a Wan video generation task. This endpoint supports Wan 2.5 image-to-video, Wan 2.6 image-to-video and Wan 2.7 multi-mode video generation.\nFor Wan 2.7, set `model` to `wan2.7-i2v` and select the generation mode with `task_type`:\n- `text_to_video`: text prompt only. Do not provide image/video material.\n- `first_frame`: image-to-video from one first-frame image. Requires `image_url`.\n- `first_last_frame`: image-to-video with first and last frame control. Requires `image_url` and `last_frame_url`.\n- `reference_image`: reference-image-to-video. Requires `reference_image_urls` with 1 to 5 image URLs.\n- `video_extend`: extend an existing video clip. Requires `first_clip_url`; optional `last_frame_url`.\n- `video_edit`: edit an existing video. Requires `edit_video_url`; optional `reference_image_urls` with up to 3 image URLs.\n`text_to_video`, `first_last_frame`, `reference_image`, `video_extend` and `video_edit` are only available when `model=wan2.7-i2v`.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Video Generation"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Optional display name for the task","example":"My Wan Video"},"image_url":{"type":"string","description":"Source image URL. Required for `first_frame` and `first_last_frame`.","example":"https://example.com/image.jpg"},"prompt":{"type":"string","description":"Generation prompt","example":"Make the person in the image wave their hand"},"negative_prompt":{"type":"string","description":"Negative prompt to avoid unwanted features","example":"blurry, distorted"},"duration":{"type":"string","enum":["5","6","7","8","9","10","15"],"default":"5","description":"Video duration in seconds. Options depend on task_type: text_to_video/first_frame/first_last_frame/reference_image/video_extend use 5/10/15; video_edit uses 5/6/7/8/9/10. Wan 2.5 only supports 5/10."},"resolution":{"type":"string","enum":["480p","720p","1080p"],"default":"720p","description":"Video resolution"},"ratio":{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4"],"default":"16:9","description":"Video aspect ratio. Only used by Wan 2.7 `text_to_video` and `reference_image`."},"enable_prompt_expansion":{"type":"boolean","default":false,"description":"Whether to enable prompt rewriting using LLM"},"multi_shots":{"type":"boolean","default":false,"description":"Enable intelligent multi-shot segmentation (only active when enable_prompt_expansion is true)"},"model":{"type":"string","enum":["wan2.5-i2v-preview","wan2.6-i2v","wan2.6-i2v-flash","wan2.7-i2v"],"default":"wan2.5-i2v-preview","description":"AI model version (wan2.6-i2v and wan2.7-i2v require VIP/Max user, wan2.6-i2v-flash is available to all users)"},"task_type":{"type":"string","enum":["text_to_video","first_frame","first_last_frame","reference_image","video_extend","video_edit"],"default":"first_frame","description":"Wan 2.7 generation mode. Only used when `model=wan2.7-i2v`."},"last_frame_url":{"type":"string","description":"Last-frame image URL. Required for `first_last_frame`; optional for `video_extend`.","example":"https://example.com/last-frame.jpg"},"first_clip_url":{"type":"string","description":"Existing video clip URL. Required for Wan 2.7 `video_extend`.","example":"https://example.com/clip.mp4"},"edit_video_url":{"type":"string","description":"Input video URL. Required for Wan 2.7 `video_edit`.","example":"https://example.com/input-video.mp4"},"reference_image_urls":{"type":"array","items":{"type":"string"},"description":"Reference image URLs. Required for Wan 2.7 `reference_image` (1-5 images); optional for `video_edit` (up to 3 images).","example":["https://example.com/reference-1.jpg","https://example.com/reference-2.jpg"]},"seed":{"type":"number","minimum":0,"maximum":2147483647,"description":"Random seed for reproducibility. Value must be in the range [0, 2147483647]. If not specified, system generates a random seed."},"audio":{"type":"boolean","default":true,"description":"Whether to generate audio for the video"},"audio_url":{"type":"string","description":"URL of audio file to use for first-frame/first-last-frame video generation. Supports WAV/MP3, 3-30s duration, max 15MB. If longer than video duration, audio will be truncated.","example":"https://example.com/audio.mp3"}},"required":["prompt"],"x-duration-options-by-task-type":{"text_to_video":["5","10","15"],"first_frame":["5","10","15"],"first_last_frame":["5","10","15"],"reference_image":["5","10","15"],"video_extend":["5","10","15"],"video_edit":["5","6","7","8","9","10"]},"anyOf":[{"title":"Wan 2.5 first frame","type":"object","properties":{"model":{"type":"string","enum":["wan2.5-i2v-preview"]},"task_type":{"type":"string","enum":["first_frame"],"default":"first_frame"},"duration":{"type":"string","enum":["5","10"],"default":"5"}}},{"title":"Wan 2.6 first frame","type":"object","properties":{"model":{"type":"string","enum":["wan2.6-i2v","wan2.6-i2v-flash"]},"task_type":{"type":"string","enum":["first_frame"]},"duration":{"type":"string","enum":["5","10","15"],"default":"5"}}},{"title":"Wan 2.7 text to video","type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v"]},"task_type":{"type":"string","enum":["text_to_video"]},"duration":{"type":"string","enum":["5","10","15"],"default":"5"}}},{"title":"Wan 2.7 first frame","type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v"]},"task_type":{"type":"string","enum":["first_frame"]},"duration":{"type":"string","enum":["5","10","15"],"default":"5"}}},{"title":"Wan 2.7 first and last frame","type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v"]},"task_type":{"type":"string","enum":["first_last_frame"]},"duration":{"type":"string","enum":["5","10","15"],"default":"5"}}},{"title":"Wan 2.7 reference image","type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v"]},"task_type":{"type":"string","enum":["reference_image"]},"duration":{"type":"string","enum":["5","10","15"],"default":"5"}}},{"title":"Wan 2.7 video extension","type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v"]},"task_type":{"type":"string","enum":["video_extend"]},"duration":{"type":"string","enum":["5","10","15"],"default":"5"}}},{"title":"Wan 2.7 video edit","type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v"]},"task_type":{"type":"string","enum":["video_edit"]},"duration":{"type":"string","enum":["5","6","7","8","9","10"],"default":"5"}}}]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Wan video task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan25Start","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan25/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan25/allRecords":{"get":{"summary":"Get all Wan 2.5 tasks","description":"Get paginated list of user's Wan 2.5 tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"Number of items per page"}],"operationId":"getApiV1UserWan25AllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan25/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWan25/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan25BatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan25/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userWan25/{_id}":{"get":{"summary":"Get Wan 2.5 task details","description":"Get detailed information about a specific Wan 2.5 task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1UserWan25Id","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan25/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete a Wan 2.5 task","description":"Delete a user's Wan 2.5 image to video task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"deleteApiV1UserWan25Id","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userWan25/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan26R2V/start":{"post":{"summary":"Start reference-to-video generation","description":"Generate a video from reference images/videos using Wan 2.6 R2V Flash\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan 2.6 R2V Flash"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"model":{"type":"string","enum":["wan2.6-r2v-flash","wan2.6-r2v"],"default":"wan2.6-r2v-flash","description":"Model variant (flash=faster+cheaper, standard=higher quality audio-only)"},"name":{"type":"string","description":"Task name"},"reference_urls":{"type":"array","items":{"type":"string"},"description":"Array of reference image/video URLs (max 5)"},"prompt":{"type":"string","description":"Generation prompt (use character1, character2 to reference inputs)"},"duration":{"type":"string","enum":["5","10"],"default":"5"},"resolution":{"type":"string","enum":["720p","1080p"],"default":"720p","description":"Resolution tier, combined with aspect_ratio to determine actual size"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4"],"default":"16:9","description":"Aspect ratio for the output video"},"shot_type":{"type":"string","enum":["single","multi"],"default":"single"},"audio":{"type":"boolean","default":true}},"required":["prompt","reference_urls"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan26R2VStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan26R2V/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWan26R2V/allRecords":{"get":{"summary":"Get all R2V tasks","description":"allRecords - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan 2.6 R2V Flash"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"pageNum parameter"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"pageSize parameter"}],"operationId":"getApiV1UserWan26R2VAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan26R2V/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWan26R2V/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan 2.6 R2V Flash"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWan26R2VBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWan26R2V/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userWan26R2V/{_id}":{"get":{"summary":"Get R2V task details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan 2.6 R2V Flash"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"getApiV1UserWan26R2VId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWan26R2V/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete a R2V task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan 2.6 R2V Flash"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"deleteApiV1UserWan26R2VId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userWan26R2V/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWanSpicy/start":{"post":{"summary":"Start Wan Spicy image-to-video generation","description":"Start a Wan Spicy image-to-video task via mulerouter.ai/carrothub.\n- wan2.7-i2v-spicy: with audio support, resolution 720p/1080p, duration 2-15 seconds.\n- wan2.2-i2v-spicy: no audio, resolution 480p/720p, duration 5 or 8 seconds.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"model":{"type":"string","enum":["wan2.7-i2v-spicy","wan2.2-i2v-spicy"],"default":"wan2.7-i2v-spicy","description":"Model variant (2.7 supports audio, 2.2 no audio)"},"name":{"type":"string","description":"Optional display name for the task"},"prompt":{"type":"string","description":"Generation prompt"},"negative_prompt":{"type":"string","description":"Negative prompt (only valid when model = wan2.7-i2v-spicy)"},"image_url":{"type":"string","description":"Reference image URL (https only)"},"audio_url":{"type":"string","description":"Audio URL (https, .wav/.mp3, only valid when model = wan2.7-i2v-spicy)"},"resolution":{"type":"string","enum":["480p","720p","1080p"],"description":"Resolution tier (wan2.7 720p/1080p, wan2.2 480p/720p)"},"duration":{"type":"number","description":"Output duration in seconds (wan2.7 2-15, wan2.2 5 or 8)"},"prompt_extend":{"type":"boolean","default":true},"seed":{"type":"integer","description":"Random seed"},"minor_suspected_skip":{"type":"boolean","default":false,"description":"Skip pre-charge minor-suspect prompt for the input image"}},"required":["model","prompt","image_url","resolution","duration"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWanSpicyStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWanSpicy/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userWanSpicy/allRecords":{"get":{"summary":"Get all Wan Spicy tasks","description":"allRecords - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"pageNum parameter"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"pageSize parameter"}],"operationId":"getApiV1UserWanSpicyAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWanSpicy/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userWanSpicy/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserWanSpicyBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userWanSpicy/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userWanSpicy/{_id}":{"get":{"summary":"Get Wan Spicy task details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"getApiV1UserWanSpicyId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userWanSpicy/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete a Wan Spicy task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Wan Image to Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"deleteApiV1UserWanSpicyId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userWanSpicy/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userHappyhorseVideo/start":{"post":{"summary":"Start HappyHorse video generation task (T2V / I2V / R2V / Video-Edit)","description":"Generate a video using HappyHorse models on Alibaba DashScope. If model_version is omitted, new tasks keep the legacy 1.0 behavior.\nSupported modes:\n  - t2v: text → video (happyhorse-1.0-t2v / happyhorse-1.1-t2v)\n  - i2v: image first_frame → video (happyhorse-1.0-i2v / happyhorse-1.1-i2v)\n  - r2v: reference images → video (happyhorse-1.0-r2v / happyhorse-1.1-r2v)\n  - video-edit: video + reference images → edited video (happyhorse-1.0-video-edit)\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["HappyHorse Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["t2v","i2v","r2v","video-edit"],"description":"Generation mode"},"name":{"type":"string","description":"Task name"},"model_version":{"type":"string","enum":["1.0","1.1"],"default":"1.0","description":"Model version for t2v / i2v / r2v. video-edit always uses 1.0. HappyHorse 1.0 keeps the legacy duration/ratio options; 1.1 supports 3-15s and additional aspect ratios."},"prompt":{"type":"string","description":"Required for t2v / r2v / video-edit; optional for i2v"},"image_url":{"type":"string","description":"First frame image URL (i2v only)"},"reference_image_urls":{"type":"array","items":{"type":"string"},"description":"Reference images (r2v requires 1-9; video-edit allows 0-5)"},"edit_video_url":{"type":"string","description":"Input video URL (video-edit only)"},"input_video_seconds":{"type":"number","description":"Frontend-detected input video duration in seconds (used to estimate coins for video-edit)"},"duration":{"type":"string","enum":["3","4","5","6","7","8","9","10","11","12","13","14","15"],"default":"5","description":"Output duration (seconds). model_version=1.0 supports 5/10/15; model_version=1.1 supports 3-15. Ignored for video-edit (decided by input video)."},"resolution":{"type":"string","enum":["720P","1080P"],"default":"720P"},"ratio":{"type":"string","enum":["16:9","9:16","1:1","4:3","3:4","4:5","5:4","9:21","21:9"],"default":"16:9","description":"Aspect ratio (t2v / r2v only). model_version=1.0 supports 16:9, 9:16, 1:1, 4:3, 3:4; model_version=1.1 also supports 4:5, 5:4, 9:21, 21:9."},"audio_setting":{"type":"string","enum":["auto","origin"],"default":"auto","description":"Audio control (video-edit only). auto = model decides; origin = keep input video audio."},"seed":{"type":"integer","description":"Random seed [0, 2147483647]"},"watermark":{"type":"boolean","default":true,"description":"DashScope watermark switch"},"minor_suspected_skip":{"type":"boolean","default":false}},"required":["mode"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task created successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserHappyhorseVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userHappyhorseVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/userHappyhorseVideo/allRecords":{"get":{"summary":"List HappyHorse tasks","description":"allRecords - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["HappyHorse Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"pageNum parameter"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"pageSize parameter"}],"operationId":"getApiV1UserHappyhorseVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userHappyhorseVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/userHappyhorseVideo/batchDetail":{"post":{"summary":"Batch query task details","description":"batchDetail - HTTP POST\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["HappyHorse Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1UserHappyhorseVideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/userHappyhorseVideo/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/userHappyhorseVideo/{_id}":{"get":{"summary":"Get HappyHorse task details","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["HappyHorse Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"getApiV1UserHappyhorseVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/userHappyhorseVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete a HappyHorse task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["HappyHorse Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"deleteApiV1UserHappyhorseVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/userHappyhorseVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/talkingPhoto/start":{"post":{"summary":"Start talking photo generation","description":"Generate a talking photo from image and audio/text prompt\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Photo"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the talking photo task","example":"My Talking Photo"},"image_url":{"type":"string","description":"URL of the source image","example":"https://example.com/photo.jpg"},"audio_url":{"type":"string","description":"Optional audio URL","example":"https://example.com/audio.mp3"},"duration":{"type":"integer","description":"Duration in seconds","minimum":1,"maximum":20,"default":3,"example":5},"prompt":{"type":"string","description":"Generation prompt","example":"Make this person smile and speak"},"negative_prompt":{"type":"string","description":"Negative prompt to avoid unwanted features","example":"blurry, distorted"}},"required":["name","image_url","prompt","negative_prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Talking photo task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1TalkingPhotoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/talkingPhoto/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/talkingPhoto/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Photo"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1TalkingPhotoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/talkingPhoto/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/talkingPhoto/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Photo"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1TalkingPhotoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/talkingPhoto/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/talkingPhoto/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Photo"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1TalkingPhotoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/talkingPhoto/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete task","description":"Delete a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Photo"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1TalkingPhotoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/talkingPhoto/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/talkingVideo/start":{"post":{"summary":"Start talking video generation","description":"Generate a talking video from video and audio/text prompt\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the talking video task","example":"My Talking Video"},"video_url":{"type":"string","description":"URL of the source video","example":"https://example.com/video.mp4"},"audio_url":{"type":"string","description":"Optional audio URL","example":"https://example.com/audio.mp3"},"duration":{"type":"integer","description":"Duration in seconds","minimum":1,"maximum":20,"default":3,"example":5},"prompt":{"type":"string","description":"Generation prompt","example":"Make this person smile and speak"},"negative_prompt":{"type":"string","description":"Negative prompt to avoid unwanted features","example":"blurry, distorted"}},"required":["name","video_url","prompt","negative_prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Talking video task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1TalkingVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/talkingVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/talkingVideo/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1TalkingVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/talkingVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/talkingVideo/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1TalkingVideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/talkingVideo/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/talkingVideo/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1TalkingVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/talkingVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete task","description":"Delete a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Talking Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1TalkingVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/talkingVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/virtualTryOn/start":{"post":{"summary":"Start virtual try-on task","description":"Start a virtual try-on task with clothing images on person photos\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Virtual Try-On"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the virtual try-on task","default":"","example":"Summer Dress Try-On"},"image_urls":{"type":"array","minItems":2,"maxItems":4,"items":{"type":"string","format":"uri","pattern":"^https?://.*"},"description":"Array of 2 image URLs - [0] person image, [1] clothing image","example":["https://example.com/person.jpg","https://example.com/dress.jpg"]},"timeout":{"type":"number","default":120,"description":"Processing timeout in seconds","example":120}},"required":["image_urls"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Virtual try-on task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VirtualTryOnStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/virtualTryOn/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/virtualTryOn/allRecords":{"get":{"summary":"Get all virtual try-on records","description":"Retrieve paginated list of virtual try-on tasks for the current user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Virtual Try-On"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Virtual try-on records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number for pagination"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"example":10},"description":"Number of items per page"}],"operationId":"getApiV1VirtualTryOnAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/virtualTryOn/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/virtualTryOn/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Virtual Try-On"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VirtualTryOnBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/virtualTryOn/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/virtualTryOn/{_id}":{"get":{"summary":"Get virtual try-on task detail","description":"Retrieve detailed information of a virtual try-on task by its ID\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Virtual Try-On"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Virtual try-on task detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Virtual try-on task ID"}],"operationId":"getApiV1VirtualTryOnId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/virtualTryOn/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete virtual try-on task","description":"Delete a virtual try-on task by its ID\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Virtual Try-On"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Virtual try-on task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Virtual try-on task ID"}],"operationId":"deleteApiV1VirtualTryOnId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/virtualTryOn/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/transactionRecord/creditsHistory":{"get":{"summary":"Get credits history","description":"Retrieve paginated credits transaction history for the authenticated user. Positive amounts are credit grants or purchases; negative amounts are credit consumption.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Credits"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Credits history retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number, starting from 1."},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":10,"example":10},"description":"Number of records per page."},{"name":"is_consumption","in":"query","required":false,"schema":{"type":"boolean","example":false},"description":"When true, only returns consumption records; when false, only returns credit income records."}],"operationId":"getApiV1TransactionRecordCreditsHistory","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/transactionRecord/creditsHistory\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/r2/upload-presigned-url":{"post":{"summary":"Get pre-signed upload URL","description":"Generate a pre-signed R2 PUT URL for direct browser/client upload.\nIf bucket is omitted, files are uploaded to 3days-apac by default.\nThe returned key is automatically scoped to adam2eve/{env}/user/{user_id}/.\nUse cdnUrl as the public file URL after the PUT upload succeeds.\nAPI-token calls are charged using the R2 pricing rule; normal logged-in web/app calls are free.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Miscellaneous"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"type":"string","description":"key parameter","example":"example_key"},"bucket":{"type":"string","description":"R2 bucket. Defaults to 3days-apac.","example":"3days-apac"},"expiresIn":{"type":"integer","minimum":60,"description":"expiresIn parameter","example":60},"contentType":{"type":"string","description":"MIME type to bind to the upload request.","example":"image/png"},"fileSize":{"type":"number","required":false,"description":"Optional file size in bytes. When provided, the pre-signed URL binds Content-Length.","example":1048576},"contentLength":{"type":"number","required":false,"description":"Optional Content-Length in bytes. Takes priority over fileSize if both are provided.","example":1048576}},"required":["key"],"example":{"key":"example_key","bucket":"3days-apac","expiresIn":60,"contentType":"image/png","fileSize":1048576,"contentLength":1048576}},"example":{"key":"example_key","bucket":"3days-apac","expiresIn":60,"contentType":"image/png","fileSize":1048576,"contentLength":1048576}}}},"responses":{"200":{"description":"Operation completed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/R2UploadPresignedUrlResponse"}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1R2UploadPresignedUrl","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/r2/upload-presigned-url\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"key\": \"example_key\",\n  \"bucket\": \"3days-apac\",\n  \"expiresIn\": 60,\n  \"contentType\": \"image/png\",\n  \"fileSize\": 1048576,\n  \"contentLength\": 1048576\n}'"}]}},"/api/v1/thinkSound/start":{"post":{"summary":"Start ThinkSound generation","description":"Generate audio-visual content from video using AI with customizable parameters\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["ThinkSound"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the ThinkSound task","example":"My Audio-Visual Generation"},"video_url":{"type":"string","description":"URL of the source video (must be .mp4, .avi, .mov, or .mkv)","example":"https://example.com/video.mp4"},"caption":{"type":"string","description":"Caption for the generation","default":"","example":"Generate audio for this silent video"},"cot_description":{"type":"string","description":"Chain of thought description","default":"","example":"Detailed description of the audio generation process"},"seed":{"type":"number","description":"Random seed for reproducible results","example":12345}},"required":["video_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"ThinkSound generation started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters or video format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1ThinkSoundStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/thinkSound/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/thinkSound/{_id}":{"delete":{"summary":"Delete ThinkSound task","description":"Delete a specific ThinkSound generation task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["ThinkSound"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"ThinkSound task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the ThinkSound task to delete"}],"operationId":"deleteApiV1ThinkSoundId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/thinkSound/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]},"get":{"summary":"Get ThinkSound task details","description":"Retrieve detailed information about a specific ThinkSound generation task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["ThinkSound"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"ThinkSound task details retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID format","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"ID of the ThinkSound task"}],"operationId":"getApiV1ThinkSoundId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/thinkSound/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/thinkSound/allRecords":{"get":{"summary":"Get all ThinkSound records","description":"Retrieve paginated list of ThinkSound generation tasks for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["ThinkSound"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"ThinkSound records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid pagination parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number (starts from 1)"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"example":10},"description":"Number of records per page"}],"operationId":"getApiV1ThinkSoundAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/thinkSound/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/thinkSound/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["ThinkSound"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1ThinkSoundBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/thinkSound/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/motionTransfer/start":{"post":{"summary":"Start motion transfer task","description":"Start a motion transfer task to transfer motion from video to image\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Motion Transfer"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the motion transfer task","default":"","example":"Dance Motion Transfer"},"image_url":{"type":"string","format":"uri","pattern":"^https?://.*","description":"Reference image URL for motion transfer","example":"https://example.com/person.jpg"},"video_url":{"type":"string","format":"uri","pattern":"^https?://.*","description":"Control video URL for motion source","example":"https://example.com/dance.mp4"},"positive_prompt":{"type":"string","description":"Positive prompt for motion transfer","example":"high quality motion transfer, natural pose transition, smooth movement"},"negative_prompt":{"type":"string","description":"Negative prompt for motion transfer","example":"blurry, distorted limbs, unnatural poses, deformation"},"timeout":{"type":"number","default":300,"description":"Processing timeout in seconds","example":300}},"required":["image_url","video_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Motion transfer task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1MotionTransferStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/motionTransfer/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/motionTransfer/allRecords":{"get":{"summary":"Get all motion transfer records","description":"Retrieve paginated list of motion transfer tasks for the current user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Motion Transfer"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Motion transfer records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number for pagination"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"example":10},"description":"Number of items per page"}],"operationId":"getApiV1MotionTransferAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/motionTransfer/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/motionTransfer/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Motion Transfer"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1MotionTransferBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/motionTransfer/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/motionTransfer/{_id}":{"get":{"summary":"Get motion transfer task detail","description":"Retrieve detailed information of a motion transfer task by its ID\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Motion Transfer"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Motion transfer task detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Motion transfer task ID"}],"operationId":"getApiV1MotionTransferId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/motionTransfer/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete motion transfer task","description":"Delete a motion transfer task by its ID\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Motion Transfer"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Motion transfer task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Motion transfer task ID"}],"operationId":"deleteApiV1MotionTransferId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/motionTransfer/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/actorSwap/start":{"post":{"summary":"Start actor swap task","description":"Generate actor swap video by swapping actor from image to video\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Actor Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the actor swap task","example":"My Actor Swap"},"image_url":{"type":"string","description":"URL of the reference actor image","format":"uri","example":"https://example.com/actor.jpg"},"video_url":{"type":"string","description":"URL of the control video","format":"uri","example":"https://example.com/video.mp4"},"prompt":{"type":"string","description":"Positive prompt for generation","example":"high quality, realistic"},"negative_prompt":{"type":"string","description":"Negative prompt to avoid unwanted features","example":"blurry, distorted"},"timeout":{"type":"integer","description":"Timeout in seconds","default":300,"example":300}},"required":["image_url","video_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Actor swap task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1ActorSwapStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/actorSwap/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/actorSwap/allRecords":{"get":{"summary":"Get all task records","description":"Retrieve paginated list of user's tasks\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Actor Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"example":1},"description":"Page number"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","example":10},"description":"Page size"}],"operationId":"getApiV1ActorSwapAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/actorSwap/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/actorSwap/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Actor Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1ActorSwapBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/actorSwap/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/actorSwap/{_id}":{"get":{"summary":"Get task details","description":"Retrieve detailed information about a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Actor Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1ActorSwapId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/actorSwap/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete task","description":"Delete a specific task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Actor Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1ActorSwapId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/actorSwap/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/productAvatar/start":{"post":{"summary":"Generate product avatar with AI (Async)","description":"Generate AI-powered product avatar by combining product and person images with customizable positioning and styling.\n**⚠️ IMPORTANT: This is an ASYNCHRONOUS operation**\n### Async Workflow\n1. **Submit Task** - Call this endpoint to create a new generation task\n   - Returns immediately with task `_id` and status `initialized`\n   - Task is queued for processing\n2. **Processing States** - The task goes through these states:\n   - `initialized` → Task created, waiting in queue\n   - `sent` → Task submitted to AI service\n   - `pending` → Task received by AI service\n   - `processing` → AI is generating the image\n   - `completed` → Generation finished successfully\n   - `failed` → Generation failed (check `failed_message`)\n3. **Get Results** - Poll for task status and results:\n   - Use `GET /api/v1/productAvatar/{_id}` to check status\n   - Use `GET /api/v1/productAvatar/allRecords` to list all tasks\n   - When `current_status` is `completed`, `result_image_url` contains the generated image\n4. **Timeout Handling**:\n   - Tasks timeout after 2 hours and automatically fail\n   - Credits are automatically refunded on timeout or failure\n### Best Practices\n- Poll every 3-5 seconds to check task status\n- Handle both `completed` and `failed` states\n- Store the returned `_id` to query results later\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Product Avatar"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name for the product avatar generation task (optional)","example":"My Product Avatar"},"image_urls":{"type":"array","description":"Array of image URLs - [0] product image, [1] person image","minItems":2,"maxItems":2,"items":{"type":"string","format":"uri","pattern":"^https?://.+","description":"Image URL (must be HTTP/HTTPS)"},"example":["https://example.com/product.jpg","https://example.com/person.jpg"]},"product_rect":{"type":"object","description":"Product positioning and transformation parameters","required":["x","y","width","height","rotation","scale"],"properties":{"x":{"type":"number","description":"X coordinate position","example":100},"y":{"type":"number","description":"Y coordinate position","example":150},"width":{"type":"number","description":"Width of the product area","example":200},"height":{"type":"number","description":"Height of the product area","example":300},"rotation":{"type":"number","description":"Rotation angle in degrees","example":0},"scale":{"type":"number","description":"Scale factor for the product","example":1}}},"prompt":{"type":"string","description":"Additional prompt for AI generation (optional)","example":"Professional product showcase"},"timeout":{"type":"number","description":"Processing timeout in seconds","default":120,"example":120}},"required":["image_urls","product_rect"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Product avatar generation started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters or missing required fields","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1ProductAvatarStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/productAvatar/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/productAvatar/allRecords":{"get":{"summary":"List all product avatar tasks","description":"Retrieve a paginated list of all product avatar generation tasks for the authenticated user.\nUse this endpoint to monitor task progress and retrieve results.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Product Avatar"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successfully retrieved task list","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"Page number (starting from 1)"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"Number of items per page"}],"operationId":"getApiV1ProductAvatarAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/productAvatar/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/productAvatar/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Product Avatar"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1ProductAvatarBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/productAvatar/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/productAvatar/{_id}":{"get":{"summary":"Query task status and get result","description":"Retrieve detailed information about a specific product avatar generation task.\nUse this endpoint to poll for task status and get the result when completed.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Product Avatar"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successfully retrieved task details","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID returned from the start endpoint"}],"operationId":"getApiV1ProductAvatarId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/productAvatar/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete a product avatar task","description":"Soft delete a product avatar task. The task data will be marked as deleted but not removed from the database.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Product Avatar"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid task ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID to delete"}],"operationId":"deleteApiV1ProductAvatarId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/productAvatar/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/headSwap/start":{"post":{"summary":"Start head swap generation","description":"Generate a head swap result by replacing the head in a target image/video with a source head.\n**Supported modes:**\n- **Image to Image**: Provide an image as `target_image_url` to get a head-swapped image\n- **Image to Video**: Provide a video as `target_image_url` to get a head-swapped video (max 15 seconds)\n**Content moderation:**\n- Minor detection is performed on input images\n- If a minor is detected (age < 10), the request will be rejected with code 1003\n- If a suspected minor is detected (10 <= age < 15), set `minor_suspected_skip: true` to proceed\n**Async workflow:**\n1. Task is created with status `initialized`\n2. Task is queued and sent to algorithm service (status: `sent`)\n3. Algorithm processes the task (status: `processing`)\n4. Result is ready (status: `completed`) or failed (status: `failed`)\n5. Use `/api/v1/headSwap/{_id}` to poll for status updates\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Head Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"image_url":{"type":"string","description":"URL of the source head image (the head to be transplanted)","format":"uri","example":"https://example.com/head.jpg"},"target_image_url":{"type":"string","description":"URL of the target body image or video (where the head will be placed)","format":"uri","example":"https://example.com/body.jpg"},"minor_suspected_skip":{"type":"boolean","description":"Skip suspected minor warning (for ages 10-14). Use with caution.","default":false,"example":false}},"required":["image_url","target_image_url"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Head swap task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Invalid request parameters or insufficient coins"},"401":{"description":"Unauthorized - Invalid or missing bearer token"},"403":{"description":"Content moderation failed (code 1003 = minor detected, code 1004 = suspected minor)"}},"operationId":"postApiV1HeadSwapStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/headSwap/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/headSwap/allRecords":{"get":{"summary":"Get all head swap records","description":"Get a paginated list of the current user's head swap tasks.\nResults are sorted by creation time (newest first) and filtered by expiration.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Head Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Head swap records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token"}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"example":1},"description":"Page number (starts from 1)"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":10,"example":10},"description":"Number of items per page"}],"operationId":"getApiV1HeadSwapAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/headSwap/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/headSwap/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Head Swap"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1HeadSwapBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/headSwap/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/headSwap/{_id}":{"get":{"summary":"Get head swap task detail","description":"Get detailed information of a specific head swap task by ID\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Head Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Invalid task ID format"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Head swap task ID (MongoDB ObjectId)"}],"operationId":"getApiV1HeadSwapId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/headSwap/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete head swap task","description":"Delete a head swap task by ID.\n**Status behavior:**\n- `initialized`: Can be deleted with coin refund (task not yet sent to algorithm service)\n- `sent/pending/processing`: Cannot be deleted, returns 400 error (task is processing)\n- `completed/failed`: Can be deleted without refund (task already completed or failed)\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Head Swap"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Cannot delete task in processing state"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Head swap task ID (MongoDB ObjectId)"}],"operationId":"deleteApiV1HeadSwapId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/headSwap/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/veoVideo/start":{"post":{"summary":"Start Veo 3.1 video generation","description":"Generate videos using Google DeepMind's Veo 3.1 AI model. Supports text-to-video, image-to-video, and reference-based generation.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Veo Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the video generation task (optional, auto-generated if not provided)","example":"My Veo Video"},"prompt":{"type":"string","description":"Text prompt describing the video content. Can be empty to use default placeholder text.","example":"Two person street interview in New York City. Sample Dialogue: Host: \"Did you hear the news?\" Person: \"Yes! Veo 3.1 is now available on A2E. If you want to see it, go check their website.\""},"generationType":{"type":"string","enum":["TEXT_2_VIDEO","FIRST_AND_LAST_FRAMES_2_VIDEO","REFERENCE_2_VIDEO"],"description":"Type of generation (TEXT_2_VIDEO for text-only, FIRST_AND_LAST_FRAMES_2_VIDEO for image frames, REFERENCE_2_VIDEO for reference images)","default":"TEXT_2_VIDEO","example":"TEXT_2_VIDEO"},"imageUrls":{"type":"array","items":{"type":"string"},"description":"Image URLs for image-to-video generation. For FIRST_AND_LAST_FRAMES_2_VIDEO mode, 1-2 images (start/end frames). For REFERENCE_2_VIDEO mode, 1-3 reference images.","example":["https://example.com/start_frame.jpg","https://example.com/end_frame.jpg"]},"model":{"type":"string","enum":["veo3","veo3_fast"],"description":"Generation model (veo3 for quality, veo3_fast for speed)","default":"veo3_fast","example":"veo3_fast"},"aspectRatio":{"type":"string","enum":["16:9","9:16","Auto"],"description":"Video aspect ratio (Auto will determine automatically)","default":"Auto","example":"16:9"},"watermark":{"type":"string","description":"Custom watermark text (optional)","example":"MyBrand"},"seeds":{"type":"number","description":"Random seed for reproducible generation (10000-99999, optional)","example":12345}},"required":["prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Video generation task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VeoVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/veoVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/veoVideo/allRecords":{"get":{"summary":"Get all Veo video records","description":"Retrieve paginated list of user's Veo video generation records\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Veo Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Records retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1VeoVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/veoVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/veoVideo/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Veo Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1VeoVideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/veoVideo/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/veoVideo/{_id}":{"get":{"summary":"Get Veo video detail","description":"Retrieve detailed information of a specific Veo video generation record\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Veo Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Video detail retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Video record ID"}],"operationId":"getApiV1VeoVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/veoVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete Veo video record","description":"Soft delete a Veo video generation record\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Veo Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Video record deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Video record ID"}],"operationId":"deleteApiV1VeoVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/veoVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/veoVideo/{_id}/1080p":{"get":{"summary":"Get 1080P HD video","description":"Retrieve 1080P high-definition version of the video (only available for 16:9 aspect ratio)\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Veo Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"1080P video retrieved successfully"},"202":{"description":"1080P video is being processed, please try again later"},"400":{"description":"Invalid aspect ratio or missing task ID"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Video record ID"}],"operationId":"getApiV1VeoVideoId1080p","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/veoVideo/{_id}/1080p\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/klingVideo/start":{"post":{"summary":"Start Kling video generation","description":"Generate videos using Kling Official API.\n**Modes:**\n- `text-to-video` – generate video from text prompt\n- `image-to-video` – generate video from an image (+ optional end frame in PRO)\n- `motion-control` – transfer motion from a video onto an image\n**Versions:** `2.6` (5s/10s) and `3.0` (standard/fast: 3s–15s)\n**Quality:** `std` (Standard), `pro` (Professional), or `4k` (Kling 3.0 Native 4K for text/image video).\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the video generation task","example":"My Kling Video"},"mode":{"type":"string","enum":["text-to-video","image-to-video","motion-control"],"description":"Generation mode: text-to-video, image-to-video, or motion-control","example":"image-to-video"},"prompt":{"type":"string","description":"Text prompt describing the desired video","example":"A beautiful sunset over the ocean"},"version":{"type":"string","enum":["2.6","3.0"],"description":"Kling model version. 2.6 supports 5s/10s, 3.0 supports 5s/10s/15s","default":"2.6","example":"3.0"},"model_version":{"type":"string","enum":["standard","fast"],"description":"Kling 3.0 model variant. fast requires version=3.0, supports text-to-video/image-to-video, supports 3–15s, and uses resolution instead of quality_mode=4k.","default":"standard","example":"fast"},"resolution":{"type":"string","enum":["720p","1080p"],"description":"Output resolution for model_version=fast","default":"720p","example":"720p"},"quality_mode":{"type":"string","enum":["std","pro","4k"],"description":"Quality mode. 4K is only available for Kling 3.0 text-to-video and image-to-video","default":"std","example":"std"},"duration":{"type":"string","enum":["3","4","5","6","7","8","9","10","11","12","13","14","15"],"description":"Video duration in seconds. Kling 2.6 supports 5s/10s; Kling 3.0 supports 3–15s.","default":"5","example":"5"},"image_url":{"type":"string","description":"Input image URL (required for image-to-video and motion-control modes)","example":"https://example.com/input.jpg"},"video_url":{"type":"string","description":"Input video URL (required for motion-control mode)","example":"https://example.com/input.mp4"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"description":"Video aspect ratio (text-to-video mode only)","default":"16:9","example":"16:9"},"sound":{"type":"boolean","description":"Enable audio generation. For v2.6 only available in PRO mode (STD does not support sound). v3.0 supports sound in STD/PRO. 4K is billed as a separate quality tier.","default":false,"example":false},"end_image_url":{"type":"string","description":"End frame image URL (image-to-video + PRO mode only). Cannot be used with sound in v2.6","example":"https://example.com/end_frame.jpg"},"character_orientation":{"type":"string","enum":["video","image"],"description":"Character orientation for motion-control mode. 'image' limits duration to 3-10s, 'video' allows 3-30s","default":"video","example":"video"},"negative_prompt":{"type":"string","description":"Negative prompt to avoid certain elements","example":"blurry, low quality"},"seed":{"type":"number","description":"Random seed for reproducibility","example":12345}},"required":["mode","prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Video generation task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Invalid or missing bearer token"}},"operationId":"postApiV1KlingVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/klingVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/klingVideo/allRecords":{"get":{"summary":"Get all Kling video records","description":"Retrieve all Kling video generation records for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successfully retrieved records","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1KlingVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/klingVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/klingVideo/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1KlingVideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/klingVideo/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/klingVideo/{_id}":{"get":{"summary":"Get Kling video detail","description":"Get detailed information about a specific Kling video generation task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successfully retrieved task details"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1KlingVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/klingVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"put":{"summary":"Update Kling video name","description":"Update the name of a Kling video generation task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"New name for the task","example":"My Task"}},"required":["name"],"example":{"name":"My Task"}},"example":{"name":"My Task"}}}},"responses":{"200":{"description":"Name updated successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"putApiV1KlingVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X PUT \"https://www.a2e.com.cn/api/v1/klingVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"name\": \"My Task\"\n}'"}]},"delete":{"summary":"Delete Kling video","description":"Delete a Kling video generation task\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"deleteApiV1KlingVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/klingVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/klingOmni/start":{"post":{"summary":"Start Kling Omni video generation","description":"Generate videos using Kling Omni API (model: kling-v3-omni).\nThis is a simplified wrapper around the official Kling API.\n**Key Features:**\n- Multi-reference images: up to 7 images, use `<<<image_N>>>` tags in prompt\n- Multi-shot editing: AI Director (intelligence) or manual (customize) storyboard\n- Native sound generation via `sound` parameter\n- Flexible duration: 3–15 seconds\n**Simplified vs Official API:**\n- `image_list`: accepts `string[]` (image URLs); official uses `[{image_url, type?}]`, auto-converted on server\n- `sound`: accepts `boolean`; official uses `\"on\"/\"off\"`, auto-converted on server\n- `multi_prompt`: items need `prompt` + `duration`; server auto-adds `index` field for official API\n- `prompt` is required when `multi_shot=false` or `shot_type=intelligence`\n- `multi_prompt` total duration must equal `duration` when `shot_type=customize`\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Omni"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Task name (internal use)","example":"My Kling Omni Video"},"prompt":{"type":"string","description":"Text prompt. Use <<<image_N>>> to reference images. Required when multi_shot=false or shot_type=intelligence.","example":"<<<image_1>>> walks towards <<<image_2>>> in a sunny park"},"image_list":{"type":"array","items":{"type":"string"},"description":"Reference image URLs (up to 7, jpg/jpeg/png, max 10MB). Simplified: pass URLs directly; server converts to official [{image_url}] format.","example":["https://example.com/ref1.jpg"]},"mode":{"type":"string","enum":["std","pro"],"description":"Video generation mode. std=standard (720p), pro=professional (1080p)","default":"std"},"duration":{"type":"string","description":"Video duration in seconds (3–15)","default":"5"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"default":"16:9"},"sound":{"type":"boolean","description":"Enable native sound generation. Simplified: pass boolean; server converts to official 'on'/'off'.","default":false},"multi_shot":{"type":"boolean","description":"Enable multi-shot mode","default":false},"shot_type":{"type":"string","enum":["intelligence","customize"],"description":"Shot type. Required when multi_shot=true."},"multi_prompt":{"type":"array","description":"Manual storyboard (required when shot_type=customize, 1–6 items, total duration must equal duration). Server auto-adds index field for official API.","items":{"type":"object","required":["prompt","duration"],"properties":{"prompt":{"type":"string","description":"Prompt for this shot (max 512 chars)","example":"<<<image_1>>> stands up and waves"},"duration":{"type":"string","description":"Duration in seconds","example":"3"}}}}},"required":["prompt","duration"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Video generation task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Invalid or missing bearer token"}},"operationId":"postApiV1KlingOmniStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/klingOmni/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/klingOmni/allRecords":{"get":{"summary":"Get all Kling Omni video records","description":"Retrieve paginated list of Kling Omni video generation tasks for the authenticated user.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Omni"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Records retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized"}},"operationId":"getApiV1KlingOmniAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/klingOmni/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/klingOmni/batchDetail":{"post":{"summary":"Batch get Kling Omni video details","description":"Get details of multiple Kling Omni tasks by their IDs (max 200).\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Omni"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized"}},"operationId":"postApiV1KlingOmniBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/klingOmni/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/klingOmni/{_id}":{"get":{"summary":"Get Kling Omni video detail","description":"Get detailed information about a specific Kling Omni video generation task.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Omni"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized"},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"getApiV1KlingOmniId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/klingOmni/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"put":{"summary":"Update Kling Omni video name","description":"Update the name of a Kling Omni video generation task.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Omni"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"New name for the task","example":"My Task"}},"required":["name"],"example":{"name":"My Task"}},"example":{"name":"My Task"}}}},"responses":{"200":{"description":"Updated successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"putApiV1KlingOmniId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X PUT \"https://www.a2e.com.cn/api/v1/klingOmni/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"name\": \"My Task\"\n}'"}]},"delete":{"summary":"Delete Kling Omni video","description":"Soft-delete a Kling Omni video generation task.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Kling Omni"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Deleted successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Task not found"}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID"}],"operationId":"deleteApiV1KlingOmniId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/klingOmni/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/grokVideo/start":{"post":{"summary":"Start Grok Imagine video generation","description":"Generate videos using Grok Imagine. Supports both text-to-video and image-to-video modes.\n**Modes:**\n- `text-to-video`: Generate video from a text prompt. Requires `prompt`.\n- `image-to-video`: Generate video from a reference image. Requires at least one image in `image_urls` (or `image_url`).\n**Duration:** `6`, `10`, or `15` seconds.\n**Model version:** `legacy` (default) uses the existing Grok Imagine path. `1.5` uses Grok Imagine Video 1.5 and only supports `image-to-video`.\n**Mode:** `fun`, `normal` (default), or `spicy`.\nThis is an asynchronous API. After calling this endpoint, poll `/api/v1/grokVideo/{_id}` to check task status until `current_status` becomes `completed` or `failed`.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Grok Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the video generation task (optional, for identifying the task)","example":"My Grok Video"},"model_type":{"type":"string","enum":["text-to-video","image-to-video"],"description":"Generation mode. `text-to-video` generates video from text prompt, `image-to-video` generates video from a reference image.","default":"text-to-video","example":"text-to-video"},"model_version":{"type":"string","enum":["legacy","1.5"],"description":"Model version. `1.5` uses Grok Imagine Video 1.5 and only supports image-to-video.","default":"legacy","example":"1.5"},"prompt":{"type":"string","description":"Text prompt describing the video content. Required for text-to-video mode, optional for image-to-video mode.","example":"A cat playing with a ball of yarn in a cozy living room, warm lighting, cinematic style"},"mode":{"type":"string","enum":["fun","normal","spicy"],"description":"Generation style mode. For image-to-video, upstream may fallback spicy to normal.","default":"normal","example":"normal"},"image_urls":{"type":"array","items":{"type":"string"},"description":"Array of reference image URLs for image-to-video mode. At least one image is required when `model_type` is `image-to-video`.","example":["https://example.com/reference.jpg"]},"image_url":{"type":"string","description":"Single reference image URL (alternative to `image_urls`). Will be prepended to `image_urls` array.","example":"https://example.com/image.jpg"},"aspect_ratio":{"type":"string","enum":["auto","1:1","16:9","9:16","4:3","3:4","3:2","2:3"],"description":"Video aspect ratio. Legacy text-to-video supports 1:1/16:9/9:16; legacy image-to-video can additionally accept 4:3/3:4/3:2/2:3 depending on the selected generation path. Grok 1.5 accepts the full list including auto.","default":"16:9","example":"16:9"},"duration":{"type":"string","enum":["6","10","15"],"description":"Video duration in seconds.","default":"6","example":"6"},"nsfw_checker":{"type":"boolean","description":"Whether to enable additional NSFW checking for Grok 1.5.","default":false}},"required":[]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Video generation task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"400":{"description":"Bad Request - Invalid parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1GrokVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/grokVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/grokVideo/allRecords":{"get":{"summary":"Get Grok Video task list","description":"Retrieve paginated list of user's Grok Imagine video generation tasks, ordered by creation time (newest first).\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Grok Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"Page number (starts from 1)"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"Number of items per page"}],"operationId":"getApiV1GrokVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/grokVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/grokVideo/batchDetail":{"post":{"summary":"Batch query task details","description":"Query details for multiple tasks at once by providing an array of task IDs\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Grok Video"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Array of task IDs to query","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Batch details retrieved successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1GrokVideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/grokVideo/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/grokVideo/{_id}":{"get":{"summary":"Get Grok Video task detail","description":"Retrieve detailed information of a specific Grok Imagine video generation task by ID. Use this endpoint to poll task status after creation.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Grok Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail retrieved successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID (MongoDB ObjectId)"}],"operationId":"getApiV1GrokVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/grokVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete Grok Video task","description":"Delete a specific Grok Imagine video generation task by ID.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Grok Video"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task deleted successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task ID (MongoDB ObjectId)"}],"operationId":"deleteApiV1GrokVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/grokVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/hailuoVideo/start":{"post":{"summary":"Start Hailuo video generation","description":"Generate videos using Hailuo. Only supports image-to-video mode.\n**Required:** `prompt` and at least one image in `image_urls`.\n**Duration:** `6` or `10` seconds.\n**Resolution:** `768P` (default) or `1080P` (not available for 10s).\nThis is an asynchronous API. After calling this endpoint, poll `/api/v1/hailuoVideo/{_id}` to check task status.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Hailuo Video Generation"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Task name (optional)","example":"My Hailuo Video"},"prompt":{"type":"string","description":"Text prompt describing the video content. Required.","example":"A cat playing with a ball of yarn"},"image_urls":{"type":"array","items":{"type":"string"},"description":"Array of reference image URLs. At least one is required.","example":["https://example.com/image.jpg"]},"image_url":{"type":"string","description":"Single reference image URL (alternative to image_urls)."},"resolution":{"type":"string","enum":["768P","1080P"],"description":"Output video resolution. 1080P is not supported for 10s duration.","default":"768P"},"duration":{"type":"string","enum":["6","10"],"description":"Video duration in seconds.","default":"6"}},"required":[]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1HailuoVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/hailuoVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/hailuoVideo/allRecords":{"get":{"summary":"Get Hailuo Video task list","description":"allRecords - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Hailuo Video Generation"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task list"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"pageNum parameter"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":10,"example":10},"description":"pageSize parameter"}],"operationId":"getApiV1HailuoVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/hailuoVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/hailuoVideo/{_id}":{"get":{"summary":"Get Hailuo Video task detail","description":"detail - HTTP GET\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Hailuo Video Generation"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Task detail"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"getApiV1HailuoVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/hailuoVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"delete":{"summary":"Delete Hailuo Video task","description":"delete - HTTP DELETE\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Hailuo Video Generation"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Deleted"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"_id parameter"}],"operationId":"deleteApiV1HailuoVideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/hailuoVideo/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/seedanceVideo/start":{"post":{"summary":"Start Seedance 1.5 Pro video generation","description":"Generate videos using BytePlus ModelArk Seedance 1.5 Pro. Supports 3 modes - text-to-video, image-to-video, first-last-frames.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Miscellaneous"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string","description":"Name of the video generation task","example":"My Seedance Video"},"mode":{"type":"string","enum":["text-to-video","image-to-video"],"description":"Generation mode. For first-last-frames usage, send mode=image-to-video together with image_url + end_image_url; the backend will normalize it.","default":"text-to-video","example":"image-to-video"},"prompt":{"type":"string","description":"Text prompt describing the desired video","example":"A girl holding a fox, the girl opens her eyes..."},"image_url":{"type":"string","description":"Input image URL (required for image-to-video mode; also used as the first frame in first-last-frames usage)","example":"https://example.com/input.jpg"},"end_image_url":{"type":"string","description":"Last frame image URL. When provided together with image_url, mode is automatically treated as first-last-frames.","example":"https://example.com/last.jpg"},"duration":{"type":"string","enum":["5","10"],"description":"Video duration in seconds","default":"5"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"description":"Video aspect ratio","default":"16:9"},"resolution":{"type":"string","enum":["480p","720p"],"description":"Video resolution","default":"720p"},"camera_fixed":{"type":"boolean","description":"Whether the camera is fixed","default":false},"generate_audio":{"type":"boolean","description":"Whether to generate audio","default":false}},"required":["prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Video generation task started successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Invalid or missing bearer token"}},"operationId":"postApiV1SeedanceVideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/seedanceVideo/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/seedanceVideo/allRecords":{"get":{"summary":"Get all Seedance video records","description":"Retrieve all Seedance video generation records for the authenticated user\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Miscellaneous"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successfully retrieved records"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"getApiV1SeedanceVideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/seedanceVideo/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/seedance2Video/start":{"post":{"summary":"Start Seedance 2.0 video generation","description":"Generate videos with Seedance 2.0 (standard/mini/fast). Supports text-to-video, image-to-video, first-last-frames, and reference modes. Image / video / audio inputs must be public URLs (asset:// URIs are not accepted from clients).\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Seedance 2.0 Video Generation"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"type":"string"},"mode":{"type":"string","enum":["text-to-video","image-to-video","first-last-frames","reference"],"default":"text-to-video","description":"image-to-video uses image_url (+ optional last_frame_url); first-last-frames uses first_frame_url + last_frame_url; reference accepts any combination of reference_urls (image) / video_urls / audio_urls — audio cannot be used alone, must accompany at least one image or video reference."},"model_version":{"type":"string","enum":["standard","mini","fast"],"default":"standard"},"prompt":{"type":"string"},"image_url":{"type":"string","description":"First frame for image-to-video mode."},"first_frame_url":{"type":"string","description":"Required for first-last-frames mode."},"last_frame_url":{"type":"string","description":"Optional last frame for image-to-video; required for first-last-frames."},"reference_urls":{"type":"array","items":{"type":"string"},"maxItems":9,"description":"Reference images for reference mode (1-9 images)."},"video_urls":{"type":"array","items":{"type":"string"},"maxItems":3,"description":"Reference videos (max 3, each 2-15s, total <= 15 × number_of_videos seconds, mp4/mov). Recommended to also pass input_video_duration for accurate billing; if omitted, the server will ffprobe each URL (https only, public hosts) with a 10s per-URL timeout to derive total seconds."},"audio_urls":{"type":"array","items":{"type":"string"},"maxItems":3,"description":"Reference audios (max 3, each 2-15s, total <=15s, mp3/wav). Audio cannot be used standalone; at least one image or video reference is required."},"input_video_duration":{"type":"number","minimum":2,"maximum":45,"description":"Total duration in seconds of all reference videos (sum of each clip's length). Recommended whenever video_urls is non-empty — billing uses (input + output) × video rate. If omitted or invalid the server probes the URLs via ffprobe to fill it in. Must be within [2, 15 × number_of_videos]."},"duration":{"type":"integer","minimum":4,"maximum":15,"default":5},"aspect_ratio":{"type":"string","enum":["21:9","16:9","4:3","1:1","3:4","9:16"],"default":"16:9"},"resolution":{"type":"string","enum":["480p","720p","1080p","4k"],"default":"720p","description":"1080p and 4k are only supported by standard model_version"},"generate_audio":{"type":"boolean","default":true,"description":"Defaults to true to match billing (audio is included); pass false explicitly to disable."},"minor_suspected_skip":{"type":"boolean","default":false,"description":"Skip soft minor-suspect block (code 1004); hard CSAM block (code 1003) is always enforced."}},"required":["prompt"]},{"$ref":"#/components/schemas/WebhookInput"}]},"example":{}}}},"responses":{"200":{"description":"Task started successfully"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1Seedance2VideoStart","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/seedance2Video/start\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}},"/api/v1/seedance2Video/allRecords":{"get":{"summary":"Get all records","description":"List the current user's Seedance 2.0 video tasks with pagination.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Seedance 2.0 Video Generation"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","default":1,"example":1},"description":"Page number (1-based)"},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","default":20,"example":20},"description":"Page size"}],"operationId":"getApiV1Seedance2VideoAllRecords","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/seedance2Video/allRecords\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]}},"/api/v1/seedance2Video/batchDetail":{"post":{"summary":"Batch get task details","description":"Fetch multiple Seedance 2.0 video task records in a single request (up to 200 ids).\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Seedance 2.0 Video Generation"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","example":"example"},"description":"Task record ids (max 200)","example":["example"]}},"required":["ids"],"example":{"ids":["example"]}},"example":{"ids":["example"]}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"operationId":"postApiV1Seedance2VideoBatchDetail","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X POST \"https://www.a2e.com.cn/api/v1/seedance2Video/batchDetail\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"ids\": [\n    \"example\"\n  ]\n}'"}]}},"/api/v1/seedance2Video/{_id}":{"get":{"summary":"Get task detail","description":"Get detail of a Seedance 2.0 video task by id.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Seedance 2.0 Video Generation"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task record id"}],"operationId":"getApiV1Seedance2VideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X GET \"https://www.a2e.com.cn/api/v1/seedance2Video/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\""}]},"put":{"summary":"Rename task","description":"Rename an existing Seedance 2.0 video task.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Seedance 2.0 Video Generation"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"New task name","example":"My Task"}},"required":["name"],"example":{"name":"My Task"}},"example":{"name":"My Task"}}}},"responses":{"200":{"description":"Updated"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task record id"}],"operationId":"putApiV1Seedance2VideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X PUT \"https://www.a2e.com.cn/api/v1/seedance2Video/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n  \"name\": \"My Task\"\n}'"}]},"delete":{"summary":"Delete task","description":"Delete a Seedance 2.0 video task by id.\n\nAuthentication: set header Authorization: Bearer <token> (supports user JWT or sk_ API token).","tags":["Seedance 2.0 Video Generation"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Deleted"},"401":{"description":"Unauthorized - Invalid or missing bearer token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"_id","in":"path","required":true,"schema":{"type":"string","example":"507f1f77bcf86cd799439011"},"description":"Task record id"}],"operationId":"deleteApiV1Seedance2VideoId","x-codeSamples":[{"lang":"curl","label":"cURL","source":"curl -X DELETE \"https://www.a2e.com.cn/api/v1/seedance2Video/{_id}\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{}'"}]}}},"components":{"schemas":{"SuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","description":"Operation success status","example":true},"data":{"type":"object","description":"Response data"},"timestamp":{"type":"string","format":"date-time","description":"Response timestamp","example":"2025-01-14T18:22:13.726Z"}},"required":["success"]},"UserVoice":{"type":"object","properties":{"_id":{"type":"string","description":"Record id (MongoDB ObjectId)","example":"65a3b8c6f0c2d3e4f5a6b7c8"},"name":{"type":"string","description":"Voice model name","example":"My Custom Voice"},"voice_urls":{"type":"array","description":"Audio sample URLs used for training","items":{"type":"string"}},"gender":{"type":"string","description":"Voice gender","enum":["female","male"],"example":"female"},"model":{"type":"string","description":"Voice model provider","enum":["a2e","cartesia","minimax","elevenlabs"],"example":"a2e"},"lang":{"type":"string","description":"Internal language code used by model","example":"en"},"language":{"type":"string","description":"Original language code from client","example":"en-US"},"current_status":{"type":"string","description":"Training status","enum":["sent","pendding","processing","completed","failed"],"example":"processing"},"speaker_id":{"type":"string","description":"Speaker id returned by vendor","example":"a2e-voice-xxxx"},"coins":{"type":"number","description":"Coins cost for this training (if any)","example":0},"denoise":{"type":"boolean","description":"Whether denoising is enabled","example":true},"enhance_voice_similarity":{"type":"boolean","description":"Whether enhance voice similarity is enabled","example":true},"ttsRate":{"type":"number","description":"TTS rate (coins per 10 seconds)","example":1},"hasRefundCoin":{"type":"boolean","description":"Whether coins have been refunded for failed training","example":false},"user_id":{"type":"string","description":"Owner user id","example":"65a3b8c6f0c2d3e4f5a6b7c1"},"createdAt":{"type":"string","format":"date-time","description":"Created time","example":"2025-01-14T18:22:13.726Z"},"updatedAt":{"type":"string","format":"date-time","description":"Updated time","example":"2025-01-14T18:22:13.726Z"}}},"UserVoiceTrainingRequest":{"type":"object","required":["name","voice_urls"],"properties":{"name":{"type":"string","description":"Name of the voice model","example":"My Custom Voice"},"voice_urls":{"type":"array","minItems":1,"items":{"type":"string"},"description":"Array of audio file URLs for training","example":["https://example.com/audio1.wav","https://example.com/audio2.wav"]},"gender":{"type":"string","enum":["female","male"],"description":"Voice gender","default":"female","example":"female"},"denoise":{"type":"boolean","description":"Whether to apply denoising","example":true},"enhance_voice_similarity":{"type":"boolean","description":"Whether to enhance voice similarity","example":true},"model":{"type":"string","enum":["a2e","cartesia","minimax","elevenlabs"],"description":"Voice model to use","default":"a2e","example":"a2e"},"language":{"type":"string","description":"Language code from client (e.g. en-US, zh-CN). If omitted, server will infer from request headers.","example":"en-US"}}},"UserVoiceUpdateRequest":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"New name of the voice record","example":"My Renamed Voice"}}},"SuccessUserVoiceResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"$ref":"#/components/schemas/UserVoice"},"timestamp":{"type":"string","format":"date-time","example":"2025-01-14T18:22:13.726Z"}},"required":["success","data"]},"SuccessUserVoiceListResponse":{"type":"object","properties":{"success":{"type":"boolean","example":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/UserVoice"}},"timestamp":{"type":"string","format":"date-time","example":"2025-01-14T18:22:13.726Z"}},"required":["success","data"]},"R2UploadPresignedUrlResponse":{"type":"object","properties":{"code":{"type":"integer","example":0,"description":"Response code. 0 means success."},"data":{"type":"object","required":["uploadUrl","cdnUrl","key","bucket","expiresIn"],"properties":{"uploadUrl":{"type":"string","description":"Pre-signed URL. Upload the file with HTTP PUT."},"cdnUrl":{"type":"string","description":"Public CDN URL to use after upload succeeds."},"key":{"type":"string","description":"Final R2 object key."},"bucket":{"type":"string"},"expiresIn":{"type":"integer"}}}},"required":["code","data"]},"ErrorResponse":{"type":"object","properties":{"success":{"type":"boolean","description":"Operation success status","example":false},"error":{"type":"string","description":"Error message"},"code":{"type":"string","description":"Error code"},"timestamp":{"type":"string","format":"date-time","description":"Error timestamp","example":"2025-01-14T18:22:13.726Z"}},"required":["success","error"]},"WebhookInput":{"type":"object","properties":{"webhook_url":{"type":"string","description":"HTTPS URL to receive task.completed / task.failed notifications. Best-effort delivery, single attempt, no retries; clients should treat the detail API as the source of truth.","example":"https://your-server.example.com/a2e/webhook","maxLength":2048},"webhook_token":{"type":"string","description":"Optional plaintext token returned in the X-A2e-Webhook-Token header so receivers can verify the request originated from a2e.","example":"a-shared-secret","maxLength":256}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Use Authorization: Bearer <API_TOKEN>. Generate the token in Account > API Token. Public developer API calls should use API tokens that start with sk_."}}},"tags":[{"name":"Generate Avatar Videos","description":"Submit a script or audio file to generate an avatar presentation video. The digital avatar lip-syncs to your content and speaks on your behalf."},{"name":"Miscellaneous","description":"Supporting utilities including file upload to cloud storage, pre-signed URL generation, URL saving, and other helper endpoints used across API workflows."},{"name":"TTS and Voice Clone","description":"Convert text to natural-sounding speech using a library of built-in voices, or clone a custom voice from a short audio sample for consistent narration."},{"name":"Create Avatars","description":"Train and manage custom digital avatars from uploaded video recordings. Trained avatars can then be used in avatar video generation workflows."},{"name":"Background Matting","description":"Automatically remove or replace the background in images and videos using AI-based foreground segmentation and matting."},{"name":"Video Twin","description":"Build a personalised video twin — a digital double trained on your own footage — that can speak and present content on your behalf with natural motion."},{"name":"Face Swap","description":"Swap faces between a source and a target image or video with identity-preserving blending. Handles diverse lighting, pose, and expression conditions."},{"name":"AI Dubbing","description":"Automatically translate and re-dub a video into a target language using voice cloning and AI-driven lip-sync adjustment."},{"name":"Caption Removal","description":"Detect and cleanly remove embedded captions, subtitles, or text overlays from video frames using AI inpainting."},{"name":"Upscale","description":"Enhance the resolution of images and videos using AI super-resolution. Sharpens fine detail and reduces compression artifacts without visible upscale noise."},{"name":"Text to Image","description":"Generate images from natural language prompts using the platform's diffusion model pipeline. Describe what you want — style, composition, lighting — and receive high-resolution results."},{"name":"Nano Banana","description":"Image generation powered by Google Gemini's image model. Accepts text-only prompts or text combined with up to four reference images for high-fidelity, semantically-aware output."},{"name":"Photobook","description":"Produce a series of stylised portrait photos with consistent subject identity across different poses, outfits, or backgrounds."},{"name":"GPT Image","description":"Image generation and editing via OpenAI GPT-4o image capabilities. Excels at precise instruction-following, photorealistic rendering, and multi-step image editing tasks."},{"name":"Wan2.6 Image"},{"name":"Wan2.7 Image"},{"name":"Flux 2","description":"High-quality image generation using the Flux 2 Pro model. Delivers strong results for both creative and photorealistic use cases with fast inference."},{"name":"Image Edit","description":"AI-powered image editing including inpainting, outpainting, and prompt-guided modifications to existing images. Preserve context while making targeted changes."},{"name":"Image to Video","description":"Convert a still image into an AI-animated video. Control motion intensity, duration, and aspect ratio to produce smooth, high-quality video clips from a single reference image."},{"name":"Wan Video Generation"},{"name":"Wan Image to Video","description":"Animate a still image into a video using the Wan 2.5 / 2.6 open-source video diffusion model family. Part of the Wan series known for fluid motion and temporal consistency."},{"name":"Wan 2.6 R2V Flash"},{"name":"HappyHorse Video","description":"Asynchronous video generation powered by HappyHorse models on Alibaba DashScope. Supports HappyHorse 1.0 and 1.1 for text-to-video, image-to-video, and reference-to-video; video-edit remains on HappyHorse 1.0. Supports 720P or 1080P."},{"name":"Talking Photo","description":"Animate a portrait photo to lip-sync with a given audio track, generating a realistic talking-head video from a single still image."},{"name":"Talking Video","description":"Re-lip-sync an existing video to a new audio source using AI-driven facial animation and motion warping."},{"name":"Virtual Try-On","description":"Generate a realistic preview of a person wearing a specific garment from a product image — no physical samples required."},{"name":"Credits"},{"name":"ThinkSound","description":"Generate semantically-aware ambient sound effects and background audio that match the visual content of a video clip."},{"name":"Motion Transfer","description":"Transfer body motion captured in a source video onto a target subject, preserving the target's appearance and background."},{"name":"Actor Swap","description":"Replace an actor in a video segment with a different person, retaining original motion, camera angle, and scene continuity."},{"name":"Product Avatar","description":"Create dynamic product showcase videos that pair a product image with an AI avatar or custom background scene."},{"name":"Head Swap","description":"Replace the head in an image with a target face while keeping the original body, clothing, lighting, and background intact."},{"name":"Veo Video","description":"Text-to-video generation powered by Google DeepMind's Veo model. Produces high-definition, cinematic video clips from a text prompt or a reference image."},{"name":"Kling Video","description":"Text-to-video and image-to-video generation with Kling. Recognized for smooth motion dynamics, scene consistency, and high visual fidelity."},{"name":"Kling Omni","description":"An extended variant of Kling with additional control parameters for output style, generation quality, and advanced scene handling."},{"name":"Grok Video","description":"Video generation using xAI's Grok model. Suitable for creative and coherent video synthesis from descriptive text prompts."},{"name":"Hailuo Video Generation"},{"name":"Seedance 2.0 Video Generation"}],"x-tagGroups":[{"name":"Image & Video Generation","tags":["Image to Video","Text to Image","Nano Banana","GPT Image","Flux 2","Wan Image to Video","HappyHorse Video","Veo Video","Grok Video","Kling Video","Kling Omni","Image Edit"]},{"name":"Face & Body","tags":["Face Swap","Head Swap","Actor Swap","Talking Photo","Talking Video","Virtual Try-On","Motion Transfer","Product Avatar","Photobook"]},{"name":"Avatar & Video","tags":["Generate Avatar Videos","Create Avatars","Background Matting","Video Twin"]},{"name":"Voice & Audio","tags":["TTS and Voice Clone","AI Dubbing","ThinkSound"]},{"name":"Post Processing","tags":["Caption Removal","Upscale"]},{"name":"Utilities","tags":["Miscellaneous","Credits"]}],"trace_id":"3ed048ed-d0aa-496e-ab4d-7d99e7f2bffa"}