Veo 3.1 API

Model-specific Buble API parameters, modes, pricing, and examples for Veo 3.1.

Veo 3.1 API

Veo 3.1 on Buble is available as Fast and Quality variants for cinematic text-to-video, reference-to-video, and frame-controlled video generation.

Model keys

  • google/veo3.1-fast — Veo3.1 Fast
  • google/veo3.1-quality — Veo3.1 Quality

Supported modes and inputs

ModelModeLabelInput requirements
google/veo3.1-fasttext_to_videoText to VideoPrompt max 2000 chars
google/veo3.1-fastreference_to_videoReference to VideoPrompt max 2000 chars
Images reference: 1-3 files, 10 MB, formats jpg, png, webp
google/veo3.1-fastframes_to_videoFrames to VideoPrompt max 2000 chars
Images start_frame,end_frame: 1-2 files, 10 MB, formats jpg, png, webp
google/veo3.1-qualitytext_to_videoText to VideoPrompt max 2000 chars
google/veo3.1-qualityreference_to_videoReference to VideoPrompt max 2000 chars
Images reference: 1-3 files, 10 MB, formats jpg, png, webp
google/veo3.1-qualityframes_to_videoFrames to VideoPrompt max 2000 chars
Images start_frame,end_frame: 1-2 files, 10 MB, formats jpg, png, webp

Options

ModelOptionDefaultAllowed valuesApplies to
google/veo3.1-fastduration8s8sAll modes
google/veo3.1-fastresolution720p720p, 1080p, 4kAll modes
google/veo3.1-fastaspect_ratio16:916:9, 9:16All modes
google/veo3.1-qualityduration8s8sAll modes
google/veo3.1-qualityresolution720p720p, 1080p, 4kAll modes
google/veo3.1-qualityaspect_ratio16:916:9, 9:16All modes

Pricing

ModelPricing
google/veo3.1-fast5 credits per second; option multipliers: resolution={"4k":3,"720p":1,"1080p":1}
google/veo3.1-quality1 credit per second; option multipliers: resolution={"4k":80,"720p":26,"1080p":26}

Production guidance

  • Pass mode explicitly.
  • Use only option values listed above.
  • Upload media with POST /api/v1/files before calling media-input modes.
  • Use the exact model key for the variant you want.

Example: text to video

curl https://buble.ai/api/v1/generations \
  -H "Authorization: Bearer $BUBLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/veo3.1-fast",
    "mode": "text_to_video",
    "prompt": "A cinematic product launch shot with slow camera movement, premium lighting, and realistic motion",
    "duration": "8s",
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'

Example: media-guided video

curl https://buble.ai/api/v1/generations \
  -H "Authorization: Bearer $BUBLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/veo3.1-fast",
    "mode": "frames_to_video",
    "prompt": "Animate the source into a polished cinematic motion shot with natural camera movement",
    "start_frame": "https://example.com/start.png",
    "duration": "8s",
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'