Model API

Veo 3.1

Google's Veo 3.1 turns a prompt into a 4, 6 or 8 second video with dialogue, sound effects and ambient audio, at 720p, 1080p or 4K. Start from a first frame, set a last frame, or guide the subject with 1 to 3 reference images (reference videos are 8 seconds). For cinematic scenes, product shots and short ads with sound.

Model id

Use this in every request
veo-3-1

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": "veo-3-1",
  "input": {
    "prompt": "A red ceramic cup on a wooden table, soft morning light"
  }
}'

# 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": "veo-3-1", "quote_id": "QUOTE_ID", "input": {"prompt":"A red ceramic cup on a wooden table, soft morning light"}}'

# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $RAYWAKE_API_KEY"

Input

Input fields for veo-3-1
NameTypeDescription
inputImagearray of image URLs
Optional. Input image for the first frame of the video.

Default: []

inputImage2array of image URLs
Optional. Last frame of the video.

Default: []

inputImage3array of image URLs
Optional. Accepts 1 to 3 reference images. Duration will be 8 seconds by default. First and last images will be ignored.

Default: []

promptstring
The prompt to generate the video.
aspectRatiostring (enum)
Aspect ratio of the generated video

Default: match_input_image

One of: 16:9, 9:16, match_input_image

resolutionstring (enum)
Resolution of the generated video

Default: 720p

One of: 720p, 1080p, 4k

negativePromptstring
A text string that describes anything you want to discourage the model from generating
seedinteger
A number to make generated videos deterministic. For random result do not send.
durationSecondsstring (enum)
Duration of the generated video in seconds. When using reference images duration is set to 8 by default.

Default: 4

One of: 4, 6, 8

Output

A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.

Job excerpt
"outputs": [
  { "type": "video", "url": "https://…", "mime_type": "video/mp4", "thumbnail_url": "https://…" }
]

Pricing

  • 4 · 720p$2.54/ video
  • 6 · 720p$3.81/ video
  • 8 · 720p$5.08/ video
  • 4 · 1080p$2.54/ video
  • 6 · 1080p$3.81/ video
  • 8 · 1080p$5.08/ video
  • 4 · 4k$3.81/ video
  • 6 · 4k$5.71/ video
  • 8 · 4k$7.61/ video

The exact charge for your input comes from a quote. How charges settle