Google AI - Video Interpolation
Bridge two frames into a Veo-generated clip
- first_frame
- last_frame
- video_frames
- audio
- cost_estimate
GoogleAI_VideoInterpolation is the in-between node: give it a first frame, a last frame, and a prompt, and Veo 3.1 generates the video that connects them - a motion sequence whose start and end you control precisely. It's the best tool in the pack for "I know exactly how the shot should open and close, I need a plausible middle." The frames get sent to Google's hosted model and the interpolated clip comes back as a video-frames tensor, native audio included.
What it's for
Controlled transitions and shot construction. You want a scene that begins with a close-up and ends wide - render the two key frames however you like (locally, even), then let Veo animate between them. Same for a camera move from one side of a subject to another, or a seamless loop: interpolate from frame back to frame. It's the node you reach for when free-running text-to-video is too uncontrolled and you want bookends you actually chose.
How it works
Both frames are sent to Veo along with your prompt; the tooltip notes that the last frame gets resized to match the first frame's dimensions, so your two stills don't need to share dimensions going in. The generated middle is decoded into a [frames, H, W, C] tensor at 24 FPS with an AUDIO output alongside - native audio on Veo 3.1, silent placeholder on Veo 2. As with the pack's other video node, it's a long-running REST call with polling, the cost comes out as cost_estimate, and a failure hands you an error image plus dummy audio instead of crashing the graph.
Inputs and outputs that matter
- first_frame (IMAGE) - required. Where the clip begins.
- last_frame (IMAGE) - required. Where it ends; resized to match the first frame.
- prompt (STRING, multiline, default "A smooth cinematic transition between two scenes") - how the middle should move. The more specific, the more the interpolation matches intent.
- model (COMBO, default
veo-3.1-generate-preview) - Veo 3.1 or the fast variant. - video_preset (COMBO) and duration_seconds (COMBO, default 6) - resolution and length.
- video_frames (IMAGE), audio (AUDIO), cost_estimate (STRING) - the outputs.
Installing it
Ships with the rest of COMFYUI_PROMPTMODELS (PromptModels Studio in Manager):
cd ComfyUI/custom_nodes
git clone https://github.com/cdanielp/COMFYUI_PROMPTMODELS
GEMINI_API_KEY=AI... in the pack's .env, restart. Needs ffmpeg on the system (the installer handles Linux; on macOS/Windows you add it yourself) and ComfyUI 0.26.0+.
Common issues
Interpolation quality lives and dies with how far apart your two frames are - interpolate between two nearly identical stills and the middle is trivial; stretch it across a big scene change and Veo invents transitions that can get weird. The resize behavior is worth knowing up front: since the last frame is resized to the first, wildly mismatched aspect ratios will look stretched. And the usual meter: this is a paid Veo call, so the cost_estimate output isn't decorative.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| first_frame | IMAGE | — | |
| last_frame | IMAGE | Se redimensiona al tamaño del first_frame. | |
| prompt | STRING | A smooth cinematic transition between two scenes | — |
| model | COMBO | veo-3.1-generate-preview | 3 options: veo-3.1-generate-preview, veo-3.1-fast-generate-preview, veo-2.0-generate-001 |
| video_preset | COMBO | 1920x1080 (16:9) | 5 options: 1920x1080 (16:9), 1080x1920 (9:16), 1080x1080 (1:1), 3840x2160 (16:9 4K), 2160x3840 (9:16 4K) |
| duration_seconds | COMBO | 6 | 3 options: 4, 6, 8 |
| api_keyopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video_frames | IMAGE | — |
| audio | AUDIO | — |
| cost_estimate | STRING | — |