vidu/q2/image-to-video/pro
Vidu Q2 Pro by Shengshu - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.
PNG, JPEG, WebP, or GIF · 20 MiB maximum
PNG, JPEG, WebP, or GIF · 20 MiB maximum
Example output — click Run to generate your own
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
https://api.sandbase.ai/v1/runvidu/q2/image-to-video/proInput Schema
8 parameters · 2 required · 6 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | URL of the image to use as the starting frame |
prompt | string | Required | Text prompt for video generation, max 3000 characters · Max length: 3000 |
bgm | boolean | Optional | Whether to add background music to the video (only for 4-second videos) · Default: false |
seed | integer | Optional | Random seed for reproducibility. If None, a random seed is chosen. |
duration | integer | Optional | Duration of the video in seconds · Options: 2, 3, 4, 5, 6, 7, 8 · Default: 4 2345678 |
end_image | string | Optional | URL of the image to use as the ending frame. When provided, generates a transition video between start and end frames. |
resolution | string | Optional | Output video resolution · Options: 720p, 1080p · Default: "720p" 720p1080p |
movement_amplitude | string | Optional | The movement amplitude of objects in the frame · Options: auto, small, medium, large · Default: "auto" autosmallmediumlarge |
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "vidu/q2/image-to-video/pro",
"bgm": false,
"image": "https://static.sandbase.ai/examples/shengshu/vidu/q2/image-to-video/pro/input_image_0.webp",
"prompt": "A woman walking through a vibrant city street at night, neon lights reflecting off wet pavement.",
"duration": 4,
"resolution": "720p",
"movement_amplitude": "auto"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
Vidu Q2 Image to Video Pro
Teams can place this named operation inside review, asset preparation, and publishing pipelines while keeping the original request attached to every result. Vidu Q2 Pro by Shengshu - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation. Vidu Q2 Image to Video Pro is designed around the vidu/q2/image-to-video/pro workflow for pro work in video production. Because vidu/q2/image-to-video/pro is a separate catalog entry, evaluations should use this route’s own inputs, output expectations, and billing behavior. The endpoint is especially useful when a project has a defined transformation goal and needs a repeatable request contract instead of an ad-hoc desktop step. This capability boundary is specific to the endpoint named above.
bgm controls whether to add background music to the video (only for 4-second videos); seed controls random seed for reproducibility. If None, a random seed is chosen; image controls uRL of the image to use as the starting frame; prompt controls text prompt for video generation, max 3000 characters; duration controls duration of the video in seconds; duration accepts 2, 3, 4, 5, 6, 7, 8; end image controls uRL of the image to use as the ending frame. When provided, generates a transition video between start and end frames; resolution controls output video resolution. The mandatory portion is image, prompt. Vidu Q2 Image to Video Pro exposes bgm, seed, image, prompt, duration, end_image, resolution as its documented request surface. For example, the route documentation includes “https://static.sandbase.ai/examples/shengshu/vidu/q2/image-to-video/pro/input_image_0.webp”. Applications can submit that exact shape asynchronously, retain the chosen arguments in job metadata, and collect the resulting media URL for review or publishing.
Highlights
- Coherent motion. Vidu Q2 Image to Video Pro is built to turn the route’s text or reference media into a temporally connected sequence rather than unrelated frames.
- Shot direction. Prompts can describe subject action, camera movement, pacing, and atmosphere so Vidu Q2 Image to Video Pro has a concrete motion plan.
- Reference-aware generation. When this route accepts source media, Vidu Q2 Image to Video Pro uses it to anchor identity, composition, or the clip boundary throughout generation.
- Production variants. Declared duration, resolution, framing, or inference controls support repeatable video options for review and selection.
Pricing
| Billing option | Price |
|---|---|
| Billing formula | params.resolution == "1080p" ? 0.3 + params.duration * 0.1 : 0.1 + params.duration * 0.05 |
duration=2 · resolution=720p | $0.200000 |
duration=2 · resolution=1080p | $0.500000 |
duration=3 · resolution=720p | $0.250000 |
duration=3 · resolution=1080p | $0.600000 |
duration=4 · resolution=720p | $0.300000 |
duration=4 · resolution=1080p | $0.700000 |
duration=5 · resolution=720p | $0.350000 |
duration=5 · resolution=1080p | $0.800000 |
duration=6 · resolution=720p | $0.400000 |
duration=6 · resolution=1080p | $0.900000 |
duration=7 · resolution=720p | $0.450000 |
duration=7 · resolution=1080p | $1.000000 |
duration=8 · resolution=720p | $0.500000 |
duration=8 · resolution=1080p | $1.100000 |
When to Use
| Scenario | Why it fits |
|---|---|
| Choose Vidu Q2 Image to Video Pro | Use it when the job specifically calls for pro and the route’s documented input contract matches assets already available in your workflow. |
| Keep the request reproducible | Use the required image, prompt explicitly, then record optional choices alongside the prompt for repeatable reruns. |
| Build controlled creative variations | Change one declared control at a time when comparing framing, format, duration, resolution, style, or other route-supported output decisions. |
| Integrate asynchronous delivery | Use this endpoint when an application can submit work, track completion, and collect the returned media URL instead of requiring an immediate inline artifact. |
| Validate before a large batch | Run representative prompts and source assets first, confirm the visual or audio behavior, then lock the successful request shape for scaled production. |
Prompt Guide
Lead with the subject or transformation, then add the composition, environment, style, lighting, motion, voice, or fidelity details relevant to this route. Keep every parameter inside the documented schema; the example below uses only fields declared for vidu/q2/image-to-video/pro.
{
"image": "https://static.sandbase.ai/examples/shengshu/vidu/q2/image-to-video/pro/input_image_0.webp",
"prompt": "A woman walking through a vibrant city street at night, neon lights reflecting off wet pavement.",
"duration": 2,
"resolution": "720p",
"movement_amplitude": "auto"
}
Technical Specs
| Specification | Details |
|---|---|
| Model ID | vidu/q2/image-to-video/pro |
| Execution mode | async |
| Task type | video |
bgm | boolean · optional |
seed | integer · optional |
image | string · required |
prompt | string · required |
duration | integer · optional · choices: 2, 3, 4, 5, 6, 7, 8 |
end_image | string · optional |
resolution | string · optional · choices: 720p, 1080p |
movement_amplitude | string · optional · choices: auto, small, medium, large |

