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 Fastgoogle/veo3.1-quality— Veo3.1 Quality
Supported modes and inputs
| Model | Mode | Label | Input requirements |
|---|---|---|---|
google/veo3.1-fast | text_to_video | Text to Video | Prompt max 2000 chars |
google/veo3.1-fast | reference_to_video | Reference to Video | Prompt max 2000 chars Images reference: 1-3 files, 10 MB, formats jpg, png, webp |
google/veo3.1-fast | frames_to_video | Frames to Video | Prompt max 2000 chars Images start_frame,end_frame: 1-2 files, 10 MB, formats jpg, png, webp |
google/veo3.1-quality | text_to_video | Text to Video | Prompt max 2000 chars |
google/veo3.1-quality | reference_to_video | Reference to Video | Prompt max 2000 chars Images reference: 1-3 files, 10 MB, formats jpg, png, webp |
google/veo3.1-quality | frames_to_video | Frames to Video | Prompt max 2000 chars Images start_frame,end_frame: 1-2 files, 10 MB, formats jpg, png, webp |
Options
| Model | Option | Default | Allowed values | Applies to |
|---|---|---|---|---|
google/veo3.1-fast | duration | 8s | 8s | All modes |
google/veo3.1-fast | resolution | 720p | 720p, 1080p, 4k | All modes |
google/veo3.1-fast | aspect_ratio | 16:9 | 16:9, 9:16 | All modes |
google/veo3.1-quality | duration | 8s | 8s | All modes |
google/veo3.1-quality | resolution | 720p | 720p, 1080p, 4k | All modes |
google/veo3.1-quality | aspect_ratio | 16:9 | 16:9, 9:16 | All modes |
Pricing
| Model | Pricing |
|---|---|
google/veo3.1-fast | 5 credits per second; option multipliers: resolution={"4k":3,"720p":1,"1080p":1} |
google/veo3.1-quality | 1 credit per second; option multipliers: resolution={"4k":80,"720p":26,"1080p":26} |
Production guidance
- Pass
modeexplicitly. - Use only option values listed above.
- Upload media with
POST /api/v1/filesbefore 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"
}'