{"servers":[{"url":"https://api.modellix.ai/api/v1/vidu/viduq3-drama"}],"post":{"description":"[Core Function] Vidu Q3 Drama (Short Play) is a script-to-video model that turns a written script plus character, scene, and prop reference images into a complete multi-shot short drama, automatically planning the shots, transitions, and camera work in a single pass. [Strengths] It excels at multi-shot narrative coherence, automatic storyboarding and cinematography, and keeping the identity of referenced characters, scenes, and props consistent across every shot. [Best For] Highly recommended for: scripted short dramas and web-series episodes, narrative short-form ads and brand stories, rapid storyboard and pre-visualization, and character-driven reels built from a cast of reference assets. [Limitations] Do NOT use this model to simply animate a single image as-is (use a standard image-to-video model such as Vidu Q3 Pro instead); it requires a script and 1-14 reference assets, supports only 8-12 second clips at 1080p in 16:9 or 9:16, and is not intended for pixel-perfect single-product shots or complex multi-object physics. [Routing] Choose Vidu Q3 Drama when the user provides a script or narrative beats plus character/scene/prop references and wants an automatically directed multi-shot short play. If the user only wants to animate a single image or needs one continuous clip without scripted scene changes, route to a standard image-to-video model such as Vidu Q3 Pro.","operationId":"viduQ3DramaAsync","requestBody":{"content":{"application/json":{"examples":{"basic":{"summary":"Script with a character asset","value":{"assets":[{"description":"Young man in a white shirt","id":"1","image_uri":"https://example.com/protagonist.png","name":"Protagonist","type":"character"}],"script_content":"A young man walks through the city at night, recalls his childhood hometown, and finally watches the sunrise from a rooftop.","script_name":"City Sunrise"}},"with_options":{"summary":"With duration, quality and aspect ratio","value":{"aspect_ratio":"9:16","assets":[{"id":"1","image_uri":"https://example.com/protagonist.png","name":"Protagonist","type":"character"},{"id":"2","image_uri":"https://example.com/rooftop.png","name":"Rooftop","type":"scene"}],"duration":10,"quality":"high","resolution":"1080p","script_content":"A young man walks through the city at night, recalls his childhood hometown, and finally watches the sunrise from a rooftop.","script_name":"City Sunrise"}}},"schema":{"description":"Vidu Q3 Drama short-play request. Field names are passed through to Vidu as-is. Note the asset image field is `image_uri`, not `image_url`.","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":{"description":{"description":"Optional asset description (identity, appearance, age, etc.)","example":"Young man in a white shirt","type":"string"},"id":{"description":"Numeric asset id (e.g. \"1\", \"2\")","example":"1","pattern":"^[0-9]+$","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"},"duration":{"default":8,"description":"Video duration in seconds (8-12). Defaults to 8 when omitted; value 0/auto is not supported.","example":8,"maximum":12,"minimum":8,"type":"integer"},"placement":{"default":"upload","description":"Staging mode. `panorama`/`step` only take effect when `upload_image_url` is empty.","enum":["upload","panorama","step"],"example":"upload","type":"string"},"quality":{"default":"high","description":"Generation quality","enum":["standard","high"],"example":"high","type":"string"},"resolution":{"default":"1080p","description":"Output resolution (1080p only)","enum":["1080p"],"example":"1080p","type":"string"},"script_content":{"description":"Script content (20-5000 characters; Vidu limits Chinese to <=2000, English to <=5000). To hint an approximate length, include a phrase like 'generate a duration of XX seconds'.","example":"A young man walks through the city at night, recalls his childhood hometown, and finally watches the sunrise from a rooftop.","maxLength":5000,"minLength":20,"type":"string"},"script_name":{"description":"Episode name (max 20 characters)","example":"City Sunrise","maxLength":20,"minLength":1,"type":"string"},"style":{"default":"真人写实","description":"Video style (max 30 characters, no punctuation). Defaults to realistic live-action.","example":"真人写实","maxLength":30,"type":"string"},"upload_image_url":{"description":"Optional user-provided staging reference image (URL or base64 data URI)","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-drama-001"},"model_id":"vidu/viduq3-drama","status":"pending","task_id":"task-vidu-drama-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 Drama (Short Play)","x-mint":{"href":"vidu/viduq3-drama"}}}