google/veo3.1/fast/first-last-frame-to-video
Veo3.1 Fast First Last Frame To Video is Google's image-to-video AI model. Bring static images to life with fluid animation, consistent character motion, and professional-grade video output.
Example output — click Run to generate your own
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
https://api.sandbase.ai/v1/rungoogle/veo3.1/fast/first-last-frame-to-videoInput Schema
8 parameters · 1 required · 7 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Required | The text prompt describing the video you want to generate · Max length: 20000 |
seed | integer | Optional | The seed for the random number generator. |
duration | integer | Optional | The duration of the generated video. · Options: 4, 6, 8 · Default: 8 468 |
resolution | string | Optional | The resolution of the generated video. · Options: 720p, 1080p, 4k · Default: "720p" 720p1080p4k |
aspect_ratio | string | Optional | The aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 21:916:93:24:35:41:14:53:42:39:16 |
generate_audio | boolean | Optional | Whether to generate audio for the video. · Default: true |
last_frame_url | string | Optional | URL of the last frame of the video |
first_frame_url | string | Optional | URL of the first frame of the video |
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "google/veo3.1/fast/first-last-frame-to-video",
"prompt": "A woman looks into the camera, breathes in, then exclaims energetically, \"have you guys checked out Veo3.1 First-Last-Frame-to-Video on Fal? It's incredible!\"",
"duration": 8,
"resolution": "720p",
"generate_audio": true,
"last_frame_url": "https://static.sandbase.ai/examples/google/veo3.1/fast/first-last-frame-to-video/input_last_frame_url_1.jpeg",
"first_frame_url": "https://static.sandbase.ai/examples/google/veo3.1/fast/first-last-frame-to-video/input_first_frame_url_0.jpeg"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
Veo 3.1 Fast
google/veo3.1/fast/first-last-frame-to-video builds a coherent video between supplied opening and closing images, using the prompt to direct the intervening action. Veo 3.1 improves instruction following, physical consistency, character continuity, and audiovisual quality while supporting more ways to anchor or continue a shot. This combination makes the model a practical choice when the creative outcome depends on those qualities rather than on a generic media conversion.
For production work with google/veo3.1/fast/first-last-frame-to-video, this Fast first-and-last-frame interpolation workflow prioritizes turnaround for concept comparison, previsualization, social creative, and high-volume variation before a final direction is selected. The result is most reliable when the source material and creative brief clearly describe the intended subject, progression, visual or sonic character, and the qualities that must remain unchanged.
Highlights
Two-frame anchoring connects explicit opening and ending compositions through generated motion.
Improved physical coherence strengthens object interactions, character movement, and cause-and-effect across shots.
Fast creative iteration produces cinematic alternatives more quickly for review and selection.
Native audio generation coordinates dialogue, ambience, and sound effects with the visual action.
Pricing
| Duration | 720p/1080p, audio off | 720p/1080p, audio on | 4K, audio off | 4K, audio on |
|---|---|---|---|---|
| 4 seconds | $0.400 | $0.600 | $1.200 | $1.400 |
| 6 seconds | $0.600 | $0.900 | $1.800 | $2.100 |
| 8 seconds | $0.800 | $1.200 | $2.400 | $2.800 |
When to Use
| ✅ Good fit | ❌ Consider alternatives |
|---|---|
| The model's named workflow matches the source material and intended output | A different input modality or model route is required |
| A managed asynchronous result is suitable for the production pipeline | A synchronous, interactive editor is essential |
| The documented controls cover the required duration, framing, or format | The project needs controls outside this endpoint's schema |
| Creative iteration benefits from a repeatable request structure | Exact deterministic pixels, frames, geometry, or samples are mandatory |
| A finished downloadable media asset is the desired deliverable | Editable source layers or a native project file are required |
Prompt Guide
For generation, state the intended result first, then add the subject or source treatment, progression, style, and delivery constraints. Keep one creative variable per phrase, use the documented field names for controls, and change one setting at a time when comparing results.
{
"aspect_ratio": "21:9",
"duration": 8,
"prompt": "A woman looks into the camera, breathes in, then exclaims energetically, \"have you guys checked out Veo3.1 First-Last-Frame-to-Video on Fal? It's incredible!\"",
"resolution": "720p"
}
Technical Specs
| Spec | Value |
|---|---|
| Model ID | google/veo3.1/fast/first-last-frame-to-video |
| Inputs | aspect_ratio, duration, first_frame_url, generate_audio, last_frame_url, prompt, resolution, seed |
| Required inputs | prompt |
| Output fields | content_type, url |
| Execution | Async (submit, then poll for result) |
| Duration | 4 / 6 / 8 |
| Resolution | 720p / 1080p / 4k |
| Aspect Ratio | 21:9 / 16:9 / 3:2 / 4:3 / 5:4 / 1:1 / 4:5 / 3:4 / 2:3 / 9:16 |

