Skip to content

Veo3

POST/v1/run

Veo 3 by Google - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.

Request body

Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.

stringmodelrequired

Model identifier. Set to google/veo-3/image-to-video.

Default: google/veo-3/image-to-video

stringpromptrequired

The text prompt describing how the image should be animated

stringimagerequired

URL of the input image to animate. Should be 720p or higher resolution in 16:9 or 9:16 aspect ratio. If the image is not in 16:9 or 9:16 aspect ratio, it will be cropped to fit.

Optional<string>resolution

The resolution of the generated video.

Allowed values: 720p, 1080p

Default: 720p

Optional<integer>duration

The duration of the generated video.

Allowed values: 4, 6, 8

Default: 8

Optional<boolean>generate_audio

Whether to generate audio for the video.

Default: true

Optional<boolean>auto_fix

Whether to automatically attempt to fix prompts that fail content policy or other validation checks by rewriting them.

Default: false

Optional<string>aspect_ratio

The aspect ratio of the generated image.

Allowed values: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16

Optional<integer>seed

The seed for the random number generator.

Response Schema

The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.

stringidrequired

Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.

stringstatusrequired

Current public run status.

Allowed values: pending, running, completed, failed, timeout

Optional<string>model

Public SandBase model name used for this run.

Optional<array<object>>outputs

Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.

Optional<object>error

Present only for failed or timeout runs. Contains a public error type and sanitized message.

Optional<string>error.type

Stable public error category.

Optional<string>error.message

Sanitized error message safe to show to clients.

Optional<object>usage

Usage details when available.

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: image-to-video

stringexecution_moderequired

Execution mode declared by the model registry.

Default: async