{"servers":[{"url":"https://api.modellix.ai/api/v1/vidu/vidu-q2-ns-i2v"}],"post":{"description":"[Core Function] Vidu Q2-NS is an Image-to-Video model that animates a single first-frame image into an audio-visual synchronized clip via the Vidu template API (q2-ns-duration). [Strengths] It excels at producing sound-synced motion from one still image with flexible durations from 3 to 10 seconds and resolutions including 360p for lower-cost previews. [Best For] Highly recommended for: short social clips with ambient audio, product motion from a hero still, cost-sensitive audio-visual drafts at 360p, and general first-frame animation with negative-prompt control. [Limitations] Do NOT use this model for multi-shot narrative storytelling or when you need durations outside 3-10 seconds; it accepts only one input image and does not expose seed or aspect_ratio. [Routing] Choose Vidu Q2-NS for audio-synced I2V with 360p option and 3-10s duration. If the user needs longer clips up to 15s, multi-shot narrative, or defaults to 1080p cinematic quality, route to Vidu I2V New NS instead.","operationId":"viduQ2NSAsync","requestBody":{"content":{"application/json":{"examples":{"basic":{"summary":"Required fields only","value":{"first_frame_image":"https://example.com/portrait.jpg","prompt":"The subject smiles and turns slightly toward the camera"}},"full_options":{"summary":"Full options","value":{"duration":8,"first_frame_image":"https://example.com/city.jpg","negative_prompt":"低质量, blurry, extra fingers","prompt":"Traffic flows through neon streets as rain ripples on the pavement","resolution":"720p"}}},"schema":{"description":"Vidu Q2-NS (q2-ns-duration template) Image-to-Video request. Accepts one first-frame image and a required prompt.","properties":{"duration":{"default":5,"description":"Video duration in seconds. Default 5. Allowed values: 3-10.","enum":[3,4,5,6,7,8,9,10],"example":8,"type":"integer"},"first_frame_image":{"description":"Starting frame image URL or base64 data URI. Only one image is supported.","example":"https://example.com/portrait.jpg","minLength":1,"type":"string"},"negative_prompt":{"description":"Optional negative prompt describing content to avoid, up to 500 characters","example":"低质量, blurry, extra fingers","maxLength":500,"minLength":1,"type":"string"},"prompt":{"description":"User prompt describing the desired motion and scene, up to 5000 characters","example":"The subject smiles and turns slightly toward the camera","maxLength":5000,"minLength":1,"type":"string"},"resolution":{"default":"360p","description":"Video resolution. Default 360p.","enum":["360p","720p","1080p"],"example":"720p","type":"string"}},"required":["first_frame_image","prompt"],"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-q2-ns-i2v-001"},"model_id":"vidu/vidu-q2-ns-i2v","status":"pending","task_id":"task-vidu-q2-ns-i2v-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 Q2-NS","x-excluded":true,"x-mint":{"href":"vidu/vidu-q2-ns-i2v"}}}