Skip to main content

Vidu video

Text-to-video with Vidu models: optional audio, off-peak mode, watermarks, and more.

Quick flow

1. Submit job → get task_id
2. Poll status → wait until completed for a public URL

Basics

  • Endpoint: POST /v1/video/generations
  • Auth: Bearer Token (Authorization: Bearer {{YOUR_API_KEY}})
  • Content-Type: application/json

Request body

FieldTypeRequiredDescription
modelstringYese.g. viduq3-turbo (fast), viduq3-pro (quality), viduq2, viduq1.
promptstringYesUp to 5000 chars.
durationintegerNoSeconds. Q3: 1–16; Q2: 1–10; Q1: fixed 5.
seedintegerNoRandom if 0 or omitted.
metadataobjectNoExtra options.
└─ aspect_ratiostringNoDefault 16:9; 9:16, 1:1, etc. (3:4 / 4:3 Q2/Q3 only).
└─ resolutionstringNo540p, 720p, 1080p (Q1: 1080p only).
└─ audiobooleanNoAudio/video together (SFX / lines). Q3 only, default true.
└─ bgmbooleanNoAuto BGM, default false.
└─ off_peakbooleanNoOff-peak mode: lower credits, deliver within 48h.
└─ callback_urlstringYesWebhook for status updates.
└─ watermarkbooleanNoAdd watermark.

Model comparison

ModelStrengthsDurationResolution
viduq3-proTop quality, vivid 3D feel1–16s540p / 720p / 1080p
viduq3-turboFast, cost-effective1–16s540p / 720p / 1080p
viduq2Latest general1–10s540p / 720p / 1080p
viduq1Smooth cuts, stable camera5s1080p

Response

200 OK (submitted)
FieldTypeDescription
idstringTask id.
task_idstringSame, for polling.
statusstringe.g. queued.
progressintegerProgress.
created_atintegerCreated at.

Example

{
  "model": "viduq3-turbo",
  "prompt": "Camera on a woman sitting in a café; she looks toward the window as the camera drifts slowly, warm color grade, relaxed cozy mood.",
  "duration": 7,
  "seed": 3,
  "metadata": {
    "aspect_ratio": "16:9",
    "resolution": "1080p",
    "audio": true,
    "bgm": false,
    "off_peak": false,
    "callback_url": "https://your-api.com/v1/callback/vidu"
  }
}