Model API
Vidu Q4
Animate a starting image into a 3–16 second video, with resolutions from 540p to 4K.
Model id
vidu/q4/image-to-videoThis model has other modes with their own ids: vidu/q4/reference-to-video.
Run it
Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.
# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "vidu/q4/image-to-video",
"input": {
"prompt": "A red ceramic cup on a wooden table, soft morning light",
"image_url": "https://example.com/input.png"
}
}'
# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
-H "Authorization: Bearer $RAYWAKE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"model": "vidu/q4/image-to-video", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light","image_url":"https://example.com/input.png"}}'
# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
-H "Authorization: Bearer $RAYWAKE_API_KEY"Input
| Name | Type | Description |
|---|---|---|
prompt | string | Text prompt for video generation, max 5000 characters |
image_urlrequired | string (image URL) | URL or base64 data URI of the image to use as the first frame. Supports png, jpeg, jpg and webp up to 50 MB. |
duration | integer | Duration of the video in seconds (3-16) |
seed | integer | Random seed for reproducibility. If None, a random seed is chosen. |
resolution | string (enum) | Output video resolution |
Output
A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.
"outputs": [
{ "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]Pricing
- 540p$0.05/ second
- 720p$0.1054/ second
- 1080p$0.1332/ second
- 2K$0.2108/ second
- 4K$0.4326/ second
The exact charge for your input comes from a quote. How charges settle