{"servers":[{"url":"https://api.modellix.ai/api/v1/vidu/viduq3-ad"}],"post":{"description":"[Core Function] Vidu Q3 AD is a keyframe-driven short-play (short drama) Image-to-Video model that turns a film-style script plus character, scene, and prop reference images into a complete multi-shot short video, automatically planning shots and compositing them in one pass. [Strengths] It excels at multi-shot narrative coherence and keeping referenced characters, scenes, and props consistent across shots, driven directly from keyframe reference images without manual shot-by-shot prompting. [Best For] Highly recommended for: short ad films and brand stories, scripted short dramas, multi-scene narrative clips generated from a script, and character-driven reels built from a small cast of reference assets. [Limitations] Do NOT use this model to simply animate a single image (use a standard image-to-video model such as Vidu Q3 Pro/Turbo I2V instead); it requires script_content in traditional screenplay format (scene + characters + dialogue) plus 1-14 reference assets each with an image_uri, outputs 1080p in 16:9 or 9:16, and does not expose per-shot duration or style controls (duration is auto-planned). Asset type must be one of character/scene/tool. [Routing] Choose Vidu Q3 AD when the user provides a script and reference images and wants an automatically directed multi-shot short drama from keyframes. For animating a single image into one continuous clip, route to viduq3-pro-i2v / viduq3-turbo-i2v; for the standard short-play flow with placement/quality/duration/style controls, route to Vidu Q3 Drama.","operationId":"viduQ3AdAsync","requestBody":{"content":{"application/json":{"examples":{"basic":{"summary":"Script with a character asset","value":{"aspect_ratio":"16:9","assets":[{"id":"asset_001","image_uri":"https://example.com/protagonist.png","name":"Protagonist","type":"character"}],"resolution":"1080p","script_content":"Scene 1 INT. LIVING ROOM - DAY\n@Protagonist stands by the window and smiles.\n@Protagonist: Today is a good day.","script_name":"City Sunrise"}}},"schema":{"description":"Vidu Q3 AD keyframe short-play request. Field names are passed through to Vidu as-is. Note the asset image field is `image_uri`, not `image_url`. Unlike Q3 Drama, this model does NOT support placement, quality, duration, or style.","properties":{"aspect_ratio":{"default":"9:16","description":"Video aspect ratio","enum":["16:9","9:16"],"example":"9:16","type":"string"},"assets":{"description":"Reference assets (1-14; 3-10 recommended). One asset maps to exactly one image.","items":{"properties":{"id":{"description":"Asset id (free-form string, e.g. \"asset_001\")","example":"asset_001","minLength":1,"type":"string"},"image_uri":{"description":"Reference image as a publicly accessible URL or base64 data URI (png/jpeg/jpg/webp; min 128x128, recommended <=2K, aspect ratio within 1:4-4:1). Field name is image_uri, not image_url.","example":"https://example.com/protagonist.png","minLength":1,"type":"string"},"name":{"description":"Asset name (max 30 characters)","example":"Protagonist","maxLength":30,"minLength":1,"type":"string"},"type":{"description":"Asset type: character, scene, or prop (tool)","enum":["character","scene","tool"],"example":"character","type":"string"}},"required":["id","type","name","image_uri"],"type":"object"},"maxItems":14,"minItems":1,"type":"array"},"resolution":{"default":"1080p","description":"Output resolution (1080p only)","enum":["1080p"],"example":"1080p","type":"string"},"script_content":{"description":"Script content in traditional screenplay format (scene heading + characters + dialogue). English up to 5000 characters.","example":"Scene 1 INT. LIVING ROOM - DAY\n@Protagonist stands by the window and smiles.\n@Protagonist: Today is a good day.","maxLength":5000,"minLength":1,"type":"string"},"script_name":{"description":"Episode name (max 20 characters)","example":"City Sunrise","maxLength":20,"minLength":1,"type":"string"}},"required":["script_name","script_content","assets"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"code":0,"data":{"get_result":{"method":"GET","url":"https://api.modellix.ai/api/v1/tasks/task-vidu-ad-001"},"model_id":"vidu/viduq3-ad","status":"pending","task_id":"task-vidu-ad-001"},"message":"success"},"schema":{"properties":{"code":{"description":"Response code, 0 indicates success","example":0,"type":"integer"},"data":{"description":"Detailed data about the submitted asynchronous task.","properties":{"get_result":{"description":"API information to query the task result","properties":{"method":{"example":"GET","type":"string"},"url":{"example":"https://api.modellix.ai/api/v1/tasks/task-abc123","type":"string"}},"type":"object"},"model_id":{"description":"Model ID in `provider/model` format","example":"vidu/viduq3-pro-fast-i2v","type":"string"},"status":{"description":"Task status","enum":["pending","processing"],"example":"pending","type":"string"},"task_id":{"description":"Unique task identifier for polling","example":"task-abc123","type":"string"}},"required":["status","task_id","model_id"],"type":"object"},"message":{"description":"Response message","example":"success","type":"string"}},"required":["code","message","data"],"type":"object"}}},"description":"Task submitted successfully"},"400":{"content":{"application/json":{"example":{"code":400,"message":"Invalid parameters: parameter 'first_frame_image' is required"},"schema":{"properties":{"code":{"example":400,"type":"integer"},"message":{"example":"Invalid parameters: parameter 'first_frame_image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Invalid request parameters"},"401":{"content":{"application/json":{"example":{"code":401,"message":"Authentication failed: invalid API key"},"schema":{"properties":{"code":{"example":400,"type":"integer"},"message":{"example":"Invalid parameters: parameter 'first_frame_image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Unauthorized - Invalid or missing API Key"},"429":{"content":{"application/json":{"example":{"code":429,"message":"Rate limit exceeded: 100 requests per minute, retry after 60 seconds"},"schema":{"properties":{"code":{"example":400,"type":"integer"},"message":{"example":"Invalid parameters: parameter 'first_frame_image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Too many requests - Rate limit exceeded","headers":{"X-RateLimit-Limit":{"description":"Maximum requests per minute","schema":{"example":100,"type":"integer"}},"X-RateLimit-Remaining":{"description":"Remaining quota in current window","schema":{"example":0,"type":"integer"}},"X-RateLimit-Reset":{"description":"Rate limit window reset time (Unix timestamp)","schema":{"example":1704067260,"type":"integer"}}}},"500":{"content":{"application/json":{"example":{"code":500,"message":"Internal server error"},"schema":{"properties":{"code":{"example":400,"type":"integer"},"message":{"example":"Invalid parameters: parameter 'first_frame_image' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Internal server error"}},"summary":"Vidu Q3 AD (Keyframe Short Play)","x-mint":{"href":"vidu/viduq3-ad"}}}