Veo 3.1 Fast
Google Veo 3.1 Fast. Three generation modes, picked automatically from what you send — you do not declare a mode:
| inputs | mode |
|---|---|
| prompt only | text-to-video |
image_url (+ optional image_end_url) | first / last frame |
ref_imgs (up to 3) | reference-to-video |
⚠️ First/last frames and ref_imgs are mutually exclusive and a request carrying both is rejected — upstream they share one field, so one would silently overwrite the other.
⚠️ Reference mode is locked by Google: duration is fixed at 8s and the aspect ratio at 16:9. Passing anything else is rejected rather than silently overridden (you would be billed for 4s and receive 8s).
Pricing — per second of generated video, in tokens (USD at $0.02/token):
| generate_audio | tokens/s | USD/s |
|---|---|---|
| false (default) | 5.4 | $0.108 |
| true | 8.06 | $0.1612 |
⚠️ Audio costs ~49% more. Note that Google’s own default is true; this endpoint defaults it to false so an omitted value never lands you on the expensive tier by surprise. Example: a 6s video without audio costs 32.4 tokens.
⚠️ 720p and 1080p cost the same — that is the published rate, not an omission here. 4K exists in Google’s enum but has no published price, so it is not offered.
The prompt is translated to English automatically before generation.
Returns an img_uuid; poll GET /api/v1/jobs/detail (or use custom_callback_url) to get the generated video.
Headers
Body
Model name. Must be veo3_1_fast.
veo3_1_fast Text prompt describing the video. Max 2000 tokens. Translated to English automatically.
Optional. First-frame image URL (≤10MB). Switches the request to first/last-frame mode.
Optional. Last-frame image URL. Requires image_url — last-frame-only is not supported.
Optional. Up to 3 reference images (≤10MB each). Switches the request to reference mode, which fixes duration to 8s and aspect ratio to 16:9. Cannot be combined with image_url / image_end_url. image_urls is accepted as a compatible alias.
3Video duration in seconds. ⚠️ Fixed at 8 when ref_imgs is used.
4, 6, 8 Output resolution. Both tiers cost the same. resolution is accepted as a compatible alias.
720p, 1080p Output aspect ratio. auto lets the model pick from the input image, or from the prompt for text-to-video. ⚠️ Fixed at 16:9 when ref_imgs is used. aspect_ratio is accepted as a compatible alias.
auto, 16:9, 9:16 Generate an audio track. ⚠️ Costs ~49% more per second. Defaults to false here (Google's own default is true).
Optional. A publicly accessible HTTPS URL. When the task status changes (processing / success / failed), GoEnhance sends a POST request to this URL. The request body is identical to the response of GET /api/v1/jobs/detail. If your server does not respond with HTTP 200, the notification is retried up to 3 times, with a 3-second timeout per attempt.
"https://your-server.com/goenhance/callback"
