Skip to main content
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "viduq3-pro",
    "prompt": "A cat playing piano, camera slowly zooms in, cinematic quality",
    "duration": 8,
    "resolution": "1080p",
    "aspect_ratio": "16:9"
  }'
{
  "id": "<string>",
  "object": "<string>",
  "model": "<string>",
  "status": "<string>",
  "created_at": 123
}

Documentation Index

Fetch the complete documentation index at: https://docs.toapis.com/llms.txt

Use this file to discover all available pages before exploring further.

  • Async task API, returns a task ID after submission
  • Supported models: viduq3-pro, viduq3-turbo, viduq3-mix, viduq3
  • viduq3-pro and viduq3-turbo support text-to-video, image-to-video, and first-last frame generation
  • viduq3 and viduq3-mix are for reference image based video generation and require image_urls
  • Supports 540p / 720p / 1080p; viduq3-mix supports 720p / 1080p only
Use publicly accessible image URLs. Do not pass base64 image data in image_urls; upload local images with the Upload Image API first.

Authorization

Authorization
string
required
All endpoints require Bearer Token authentication.
Authorization: Bearer YOUR_API_KEY

Request Parameters

model
string
required
Vidu Q3 model name.Options:
  • viduq3-pro - higher quality model
  • viduq3-turbo - faster model
  • viduq3-mix - multi-reference image video generation
  • viduq3 - multi-reference image video generation
prompt
string
required
Text prompt describing the subject, action, scene, camera movement, and style.Example: "A cat playing piano, camera slowly zooms in, cinematic quality"
duration
integer
default:"5"
Video duration in seconds.
  • viduq3-pro / viduq3-turbo: 1 to 16
  • viduq3 / viduq3-mix: 3 to 16
resolution
string
default:"720p"
Video resolution.Options:
  • 540p
  • 720p
  • 1080p
viduq3-mix does not support 540p.
aspect_ratio
string
Video aspect ratio. Available for text-to-video. When image_urls is provided, the output ratio is usually determined by the reference image.Common values: 16:9, 9:16, 1:1, 4:3, 3:4
image_urls
string[]
Reference image URL array.
  • viduq3-pro / viduq3-turbo
    • Omitted: text-to-video
    • 1 image: image-to-video, image as first frame
    • 2 images: first-last frame, first image as first frame and second image as last frame
  • viduq3 / viduq3-mix
    • Required, up to 7 reference images
Example: ["https://example.com/reference.jpg"]
audio
boolean
default:"true"
Whether to generate audio. Used by viduq3-pro / viduq3-turbo.Default: true
metadata
object
Extended parameters.
seed
integer
Random seed for more reproducible results with the same parameters.

Model Selection

ModelUse CaseImage InputResolution
viduq3-proHigh quality text/image/first-last frame generationOptional, up to 2 images540p / 720p / 1080p
viduq3-turboFast text/image/first-last frame generationOptional, up to 2 images540p / 720p / 1080p
viduq3-mixMulti-reference image video generationRequired, up to 7 images720p / 1080p
viduq3Multi-reference image video generationRequired, up to 7 images540p / 720p / 1080p

Billing Dimensions

Vidu Q3 is billed by model, resolution, and generation type:
  • Standard generation: viduq3-pro, viduq3-turbo without metadata.generation_type=reference2video
  • Reference generation: viduq3, viduq3-mix, or requests that explicitly set metadata.generation_type=reference2video

Response

id
string
Task ID for querying task status.
object
string
Object type, usually generation.task.
model
string
Model used for the request.
status
string
Task status: queued, in_progress, completed, or failed.
created_at
integer
Task creation timestamp.

Examples

Text-to-Video

{
  "model": "viduq3-pro",
  "prompt": "A cat playing piano, camera slowly zooms in, cinematic quality",
  "duration": 8,
  "resolution": "1080p",
  "aspect_ratio": "16:9",
  "audio": true
}

Image-to-Video

{
  "model": "viduq3-turbo",
  "prompt": "The person in the image slowly turns and smiles",
  "image_urls": ["https://example.com/portrait.jpg"],
  "duration": 5,
  "resolution": "720p"
}

First-Last Frame

{
  "model": "viduq3-pro",
  "prompt": "The person naturally sits down from standing, smooth motion",
  "image_urls": [
    "https://example.com/first-frame.jpg",
    "https://example.com/last-frame.jpg"
  ],
  "duration": 8,
  "resolution": "720p"
}

Multi-Reference Image Video

{
  "model": "viduq3-mix",
  "prompt": "Keep the character consistent from the reference images, walking through a futuristic city street",
  "image_urls": [
    "https://example.com/character-front.jpg",
    "https://example.com/character-side.jpg"
  ],
  "duration": 6,
  "resolution": "1080p",
  "metadata": {
    "generation_type": "reference2video"
  }
}
Video generation is asynchronous. Use the Get Video Task Status endpoint to query progress and results.
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "viduq3-pro",
    "prompt": "A cat playing piano, camera slowly zooms in, cinematic quality",
    "duration": 8,
    "resolution": "1080p",
    "aspect_ratio": "16:9"
  }'