# Vidu Video Generation This file is the focused AI-readable context for one UniAll documentation page. URL: https://docs.uniall.ai/models/video/vidu Locale: en Markdown: https://docs.uniall.ai/ai/pages/models/video/vidu.md Description: Vidu source documentation. Agent guidance: - Use this page when the user is asking about this specific route or model capability. - Preserve endpoint paths, JSON keys, model IDs, and placeholder values exactly. - Treat examples such as `sk-***`, `{BASE_URL}`, and `task_xxx` as safe placeholders, not real secrets. ## Page Markdown video generationusercall Updated: 2026-06-03, this site Vidu Q3 Pro / Q3 Turbo video model call. user requires using this site stable model and video task endpoint, do not upstream or Field. ## 1. Model | Model | | text-to-video | single-image-to-video | first-and-last-frame | multiple reference images | | --- | --- | --- | --- | --- | --- | | `viduq3p-540p`| Q3 Pro | supports | supports | supports, use `image`+`last_image`| supports, use `reference_image_urls`, up to 4 | | `viduq3p-720p`| Q3 Pro | supports | supports | supports, use `image`+`last_image`| supports, use `reference_image_urls`, up to 4 | | `viduq3p-1080p`| Q3 Pro | supports | supports | supports, use `image`+`last_image`| supports, use `reference_image_urls`, up to 4 | | `viduq3t-540p`| Q3 Turbo | supports | supports | supports, use `image`+`last_image`| supports, use `reference_image_urls`, up to 4 | | `viduq3t-720p`| Q3 Turbo | supports | supports | supports, use `image`+`last_image`| supports, use `reference_image_urls`, up to 4 | | `viduq3t-1080p`| Q3 Turbo | supports | supports | supports, use `image`+`last_image`| supports, use `reference_image_urls`, up to 4 | Note: - Modellist 6 Model. - Create Task use Model. - Q3 Turbo or use; multiple reference images use Q3 Pro. ## 2. Endpoint ### 2.1 Create Video Task ```http POST /v1/video/generations ``` request headers: ```http Authorization: Bearer sk-*** Content-Type: application/json ``` ### 2.2 Query Video Task ```http GET /v1/video/generations/{task_id} ``` compatibilityqueryEndpoint: ```http GET /v1/videos/{task_id} ``` ## 3. Parameter Reference | Parameters | Type | Required | Note | | --- | --- | --- | --- | | `model` | string | Yes | use 6 Modelone of | | `prompt` | string | Yes | video generationprompt | | `duration`| integer/string | Yes | Output video duration, recommended to pass `1-16` integer | | `aspect_ratio`| string | recommended to pass | Ratio,`16:9`, `9:16`, `1:1` | | `image` | string | /first-and-last-frame required | public image URL; single-image-to-video only pass one | | `last_image`| string | first-and-last-frame required | image URL; and `image` use, legacy Field | | `reference_image_urls` | string[] | multiple reference imagesRequired | Q3 Pro multiple reference imagesField, up to 4 public image URL | | `extra_body.audio`| boolean | No | Whether to generate; requires pass `false` | | `extra_body.seed` | integer | No | random seed | | `extra_body.bgm`| boolean | No | Whether music; requires pass `false` | Fielduseconstraints: - text-to-video: only pass `prompt`, `model`, `duration`, Optional values `aspect_ratio`. - single-image-to-video: pass `image`, do not pass both array. - first-and-last-frame: pass `image`+`last_image`, do not use first-and-last-frame `images` array. - multiple reference images: pass `reference_image_urls`, do not pass both `images`, `image_urls` or pass image. - `reference_image_urls` recommended `viduq3p-*`, do not `viduq3t-*`. ## 4. Request Examples In the examples below, `{BASE_URL}` can be replaced with `https://api.aijisu.cn`. ### 4.1 text-to-video ```bash curl -X POST "{BASE_URL}/v1/video/generations" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "viduq3p-720p", "prompt": " camera, and, slow camera push-in. ", "aspect_ratio": "16:9", "duration": 5, "extra_body": {"audio": false, "seed": 42, "bgm": false}}' ``` ### 4.2 single-image-to-video ```bash curl -X POST "{BASE_URL}/v1/video/generations" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "viduq3t-540p", "prompt": " camera, natural motion, camera. ", "image": "https://example.com/source.png", "duration": 5, "extra_body": {"seed": 42}}' ``` ### 4.3 first-and-last-frame video ```bash curl -X POST "{BASE_URL}/v1/video/generations" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "viduq3p-720p", "prompt": ", keep identity stable, action. ", "image": "https://example.com/head.png", "last_image": "https://example.com/tail.png", "duration": 6, "extra_body": {"seed": 42}}' ``` ### 4.4 reference-image-to-video ```bash curl -X POST "{BASE_URL}/v1/video/generations" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "viduq3p-720p", "prompt": "A @Image1 walking through a beach in the visual style of @Image2", "reference_image_urls": ["https://example.com/ref-1.png", "https://example.com/ref-2.png"], "aspect_ratio": "16:9", "duration": 5, "extra_body": {"audio": false, "seed": 42, "bgm": false}}' ``` ## 5. Response Examples Create TaskSuccess: ```json { "id": "task_xxxxx", "task_id": "task_xxxxx", "object": "video.generation.job", "model": "viduq3p-720p", "status": "queued", "progress": 0, "created_at": 1774507626 } ``` Query Task completed: ```json { "id": "task_xxxxx", "task_id": "task_xxxxx", "object": "video.generation.job", "model": "viduq3p-720p", "status": "completed", "progress": 100, "video_url": "https://example.com/output.mp4", "created_at": 1774507626 } ``` Status: | Status | | | --- | --- | | `queued` | | | `in_progress` | generation | | `completed` | completed | | `failed` | Failed | ## 6. Common Errors ### 6.1 to change `images` do not pass: ```json { "model": "viduq3p-720p", "prompt": "first-and-last-frame ", "images": [ "https://example.com/head.png", "https://example.com/tail.png" ], "duration": 6 } ``` `images` reference. first-and-last-frame use `image`+`last_image`; multiple reference images use `reference_image_urls`. ### 6.2 Q3 Turbo use multiple reference images do not `viduq3t-*` pass `reference_image_urls`. Q3 Turbo or use. ### 6.3 use Model Create Task use Model 6 Model. Model Model do not `model` Parameterspass in. ## 7. and legacy | | legacy | | | --- | --- | --- | | text-to-videoNote | `prompt` Fielddescription "only pass prompt image-to-video" | only pass `prompt` text-to-video | | RequiredField | OpenAPI schema to change `image`, `last_image`, `reference_image_urls`, `aspect_ratio`, `extra_body` Required | only `model`, `prompt`, `duration` Required; imageField scenarioConditional | | first-and-last-frame field | use `image`+`last_image`|`image`+`last_image`, user requires Field | | first-and-last-framepass | Notedo not pass `images`| do not use first-and-last-frame `images` array;`images` Yesfirst-and-last-frame | | multiple reference imagesModel | legacyExample Model Model | use `viduq3p-*`+`reference_image_urls` | | multiple reference images | Note | recommendedup to 4 | | Q3 Turbo multiple reference images | constraints | `viduq3t-*` multiple reference images | | ExampleModel | legacyExample Model Model | user reserved 6 Model | | `duration` Type | schema string, Examplepass number | recommended to passinteger; compatibility string | | `extra_body.bgm` Type | schema string | boolean use | | Query Task | createEndpoint | `GET /v1/video/generations/{task_id}` andcompatibility `GET /v1/videos/{task_id}` |