text-to-video
Google Veo 3 is Google's flagship image-to-video model that creates audio-enabled videos from images. It transforms still images into cinematic 1080p videos with smooth, realistic motion, consistent lighting, and synchronized native audio.
Use one of our client libraries to get started quickly.
Google Veo 3 is Google's flagship image-to-video model that creates audio-enabled videos from images. It transforms still images into cinematic 1080p videos with smooth, realistic motion, consistent lighting, and synchronized native audio.. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Send a POST request to start generation. The API returns immediately with a prediction ID for polling.
curl -X POST "https://api.vibedream.ai/api/v1/models/veo3-i2v/generate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VIBEDREAM_API_KEY" \
-d '{
"prompt": "A beautiful sunset over mountains with golden light",
"image": "https://example.com/your-image.jpg",
"aspect_ratio": "16:9",
"duration": 1,
"resolution": "720p",
"generate_audio": false,
"negative_prompt": "your negative_prompt here",
"seed": 0
}'The API uses an API Key for authentication.
Get your API key from vibedream.ai/models/api-keys.
export VIBEDREAM_API_KEY="your-api-key"
Generation requests are queued and processed asynchronously. Poll the prediction endpoint until status is completed or failed.
curl -X POST "https://api.vibedream.ai/api/v1/models/veo3-i2v/generate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VIBEDREAM_API_KEY" \
-d '{
"prompt": "A beautiful sunset over mountains with golden light",
"image": "https://example.com/your-image.jpg",
"aspect_ratio": "16:9",
"duration": 1,
"resolution": "720p",
"generate_audio": false,
"negative_prompt": "your negative_prompt here",
"seed": 0
}'Response
Returns immediately with a prediction ID. Use id to poll for results.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing",
"statusUrl": "https://api.vibedream.ai/api/v1/predictions/550e8400-e29b-41d4-a716-446655440000",
"estimatedTime": "60-120s",
"costCents": 132,
"createdAt": "2025-01-15T12:00:00.000Z"
}# Replace YOUR_PREDICTION_ID with the id from the submit response curl "https://api.vibedream.ai/api/v1/predictions/YOUR_PREDICTION_ID" \ -H "Authorization: Bearer $VIBEDREAM_API_KEY" # Poll every 1-2s until status is "completed" or "failed"
Completed response
outputs is string[] — an array of direct download URLs hosted on assets.vibedream.ai.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"modelId": "veo3-i2v",
"modelName": "Google Veo3",
"status": "completed",
"outputs": [
"https://assets.vibedream.ai/outputs/550e8400-e29b-41d4-a716-446655440000/1736942400000-0.mp4"
],
"error": null,
"createdAt": "2025-01-15T12:00:00.000Z",
"completedAt": "2025-01-15T12:00:30.000Z"
}Failed response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"modelId": "veo3-i2v",
"modelName": "Google Veo3",
"status": "failed",
"outputs": null,
"error": "Your request was flagged by content moderation. Please modify your prompt.",
"createdAt": "2025-01-15T12:00:00.000Z",
"completedAt": "2025-01-15T12:00:05.000Z"
}| Field | Type | Description |
|---|---|---|
| id | string | Unique prediction ID (UUID). |
| modelId | string | ID of the model used for generation. |
| modelName | string | Human-readable model name. |
| status | string | Current status. One of: processing, completed, failed. |
| outputs | string[] | null | Array of output URLs. Each URL is a direct download link to the generated file on assets.vibedream.ai. null when still processing or failed. |
| error | string | null | Error message if the generation failed. null on success. |
| createdAt | string | ISO 8601 timestamp when the request was submitted. |
| completedAt | string | null | ISO 8601 timestamp when generation finished. null while processing. |
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | -- | -- | Describe the desired motion, mood, and camera movement. |
| image | string | Yes | -- | -- | Choose a clear, high-quality still image to define the subject.Pass a public image URL. Accepted: JPEG, PNG, GIF, WebP. |
| aspect_ratio | string | No | -- | 16:9, 16:9 | Select the aspect ratio for the video. |
| duration | number | No | -- | 1 – 8 (step 1) | Select the video duration (maximum 8 seconds). |
| resolution | string | No | -- | 720p, 1080p | Choose video resolution. |
| generate_audio | boolean | No | -- | -- | Whether to generate audio for the video. |
| negative_prompt | string | No | -- | -- | Things you want to avoid in the video output. |
| seed | number | No | -- | -- | Random seed for generation consistency. |
{
"prompt": "A beautiful sunset over mountains with golden light",
"image": "https://example.com/your-image.jpg",
"aspect_ratio": "16:9",
"duration": 1,
"resolution": "720p",
"generate_audio": false,
"negative_prompt": "your negative_prompt here",
"seed": 0
}{
"id": "550e8400-e29b-41d4-a716-446655440000",
"modelId": "veo3-i2v",
"modelName": "Google Veo3",
"status": "completed",
"outputs": [
"https://assets.vibedream.ai/outputs/550e8400-e29b-41d4-a716-446655440000/1736942400000-0.mp4"
],
"error": null,
"createdAt": "2025-01-15T12:00:00.000Z",
"completedAt": "2025-01-15T12:00:30.000Z"
}