Vidu Q4 Preview API reference
Up to 4K clips with sound and spoken dialogue
Call Vidu Q4 Preview from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.
At a glance
- Made by
- Vidu
- Output
- Video
- From
- 6.75 credits per second of output ($0.0675)
- Typical time
- about 160 s
1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.
Image to Video
vidu/q4-preview/image-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
540p | 6.75 | $0.0675 |
720p | 14.25 | $0.1425 |
1080p | 18 | $0.18 |
2k | 28.5 | $0.285 |
4k | 58.5 | $0.585 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 20,000 characters | Describe what happens after the opening frame: the action, the dialogue in quotes, the camera and the sound. |
image_urlRequired | string (uri) | — | — | Opening frame. The clip starts from this image and keeps its shape. |
resolutionOptional | string | 720p | 540p, 720p, 1080p, 2k, 4k | Output resolution. 2k and 4k come back as 10-bit HEVC. |
duration_secondsOptional | integer | 5 | 3 to 16 | Output length in whole seconds, from 3 to 16. Billed per second. |
generate_audioOptional | boolean | true | — | Generate sound with the picture: dialogue, effects and ambience. Off gives a silent clip at the same price. |
enable_prompt_expansionOptional | boolean | false | — | Let the model rewrite and expand your prompt before generating. |
seedOptional | integer | — | 0 to 2147483647 | Random seed for controlled comparisons, not a frame-identical guarantee. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "vidu/q4-preview/image-to-video",
"input": {
"prompt": "He lands softly on the rooftop, laughs and turns toward the camera while the balloons sway in the evening breeze; slow push-in",
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Reference to Video
vidu/q4-preview/reference-to-video
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
540p | 6.75 | $0.0675 |
720p | 14.25 | $0.1425 |
1080p | 18 | $0.18 |
2k | 28.5 | $0.285 |
4k | 58.5 | $0.585 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 20,000 characters | Describe the scene and refer to each reference by its position: "the woman from the first image", "the robe from the second image". |
reference_image_urlsRequired | array<string (uri)> | — | up to 15 items | One to 15 reference images: people, outfits, products or places, in the order your prompt refers to them. |
reference_audio_urlsOptional | array<string (uri)> | — | up to 3 items | Up to three reference audio clips (MP3, 3 to 12 seconds each) for a voice or a sound the clip should follow. |
aspect_ratioOptional | string | 16:9 | 16:9, 9:16, 1:1, 3:4, 4:3 | Output aspect ratio. |
resolutionOptional | string | 720p | 540p, 720p, 1080p, 2k, 4k | Output resolution. 2k and 4k come back as 10-bit HEVC. |
duration_secondsOptional | integer | 5 | 3 to 16 | Output length in whole seconds, from 3 to 16. Billed per second. |
generate_audioOptional | boolean | true | — | Generate sound with the picture: dialogue, effects and ambience. Off gives a silent clip at the same price. |
seedOptional | integer | — | 0 to 2147483647 | Random seed for controlled comparisons, not a frame-identical guarantee. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in reference_image_urls. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "vidu/q4-preview/reference-to-video",
"input": {
"prompt": "The man from the reference image jogs across a sunlit rooftop at golden hour and smiles at the camera; smooth tracking shot",
"reference_image_urls": [
"https://media.popnow.ai/influencer/examples/ava.webp"
],
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"Extend Video
vidu/q4-preview/video-extend
Price
| Option | Credits (per second of output) | US dollars |
|---|---|---|
540p | 6.75 | $0.0675 |
720p | 14.25 | $0.1425 |
1080p | 18 | $0.18 |
2k | 28.5 | $0.285 |
4k | 58.5 | $0.585 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
promptRequired | string | — | up to 20,000 characters | Describe what happens next: the action that follows, the camera move and the sound. Put spoken lines in double quotes. |
video_urlRequired | string (uri) | — | — | The clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on. |
resolutionOptional | string | 720p | 540p, 720p, 1080p, 2k, 4k | Resolution of the generated new segment. It sets how sharp the new part is; match your source clip. 2k and 4k segments come back as 10-bit HEVC. |
duration_secondsOptional | integer | 5 | 3 to 16 | Length of the new segment in seconds, from 3 to 16. The source clip is added on top and is not billed. |
generate_audioOptional | boolean | true | — | Generate sound for the new segment. The source keeps its own sound either way. |
enable_prompt_expansionOptional | boolean | false | — | Let the model rewrite and expand your prompt before generating. |
seedOptional | integer | — | 0 to 2147483647 | Random seed. Keep it fixed only for controlled comparisons, not as a frame-identical guarantee. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in video_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "vidu/q4-preview/video-extend",
"input": {
"prompt": "The flowers keep opening while the camera slowly pulls back to reveal a sunlit meadow",
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
"duration_seconds": 5,
"resolution": "720p"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"
