Reference · Tools
Gemini Video Gen
Generate videos using Google Veo models.
Gemini Video Gen submits text prompts to the Google Veo API and returns finished video files as binary data directly on the workflow item. You can configure aspect ratio (16:9, 9:16, or 1:1), clip duration (5–8 seconds), and request multiple samples in one call. A typical use case is an automated content pipeline that turns a product description into short social-media video clips without manual editing.
- Node type
- Action (binary)
- Parameters
- 5
- Outputs
- Output, Error
- Credentials
- Google AI (Gemini)
Gemini Video Gen
Generate videos using Google Veo models.
Overview
Gemini Video Gen uses the Google Veo API to generate short videos from text prompts, with configurable aspect ratio (16:9, 9:16, 1:1), duration (5–8 seconds), several samples per request, and an optional person-generation policy. Video generation is a long-running job: the node submits the request, waits for it to finish, downloads the finished files and stores them as binary data on the output item. You can also submit without waiting and pick the result up elsewhere.
Category: AI
Tool Name: gemini_video_gen
Version: 1
Appearance: Icon: gemini | Color: #ffffff
Node Type
Action (Binary) — handles file/binary data operations
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Google AI (Gemini) credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Model | options | No | veo-2.0-generate-001 | The video generation model to use. |
Options: veo-2.0-generate-001 (Veo 2.0) | ||||
| Prompt | string | Yes | — | Text prompt describing the video to generate. Supports expressions. If empty, falls back to the input item’s prompt, text or description field. |
| Options | collection | No | {} | Optional generation and polling settings. |
| — Aspect Ratio | options | No | 16:9 | Video aspect ratio. |
Options: 16:9 (Landscape), 9:16 (Portrait), 1:1 (Square) | ||||
| — Duration (Seconds) | number | No | 5 | Duration of the generated video in seconds (5-8). |
| — Sample Count | number | No | 1 | Number of video samples to generate (1-4). |
| — Person Generation | options | No | — | Policy for generating people in the video. |
Options: dont_allow, allow_adult, allow_all — plus the empty default, which uses the model’s own policy | ||||
| — Wait For Completion | boolean | No | true | Whether to poll until the video generation is complete. If false, returns the operation name immediately. |
| — Poll Interval (ms) | number | No | 15000 | Milliseconds between poll requests when waiting for completion. |
| — Max Poll Duration (ms) | number | No | 600000 | Maximum total time to spend polling before timing out (default: 10 minutes). |
| — Binary Property Name | string | No | data | Property name for the primary video binary output. Additional videos use video_1, video_2, etc. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use. |
| Include Input | boolean | No | false | Whether to include the original input item fields in the output. |
| Max Concurrency | number | No | 3 | Maximum number of items to process concurrently. Keep low for video generation due to heavy resource usage. |
Output Data
One output item per input item, however many videos it contains. The first video is written to the binary property named by Binary Property Name (default data); any further samples land on video_1, video_2, video_3 beside it. Files are .mp4 unless the model returns WebM. Binary data arriving from upstream is preserved.
The output item’s JSON contains only the fields below. The input item’s JSON is merged in only when Include Input is on:
| Field | Description |
|---|---|
operationName | Identifier of the generation job Veo created for this item. |
model | The model that generated the video. |
status | completed when the job finished, failed when it finished unsuccessfully, pending when Wait For Completion is off and the node returned without waiting. |
videoCount | How many videos were actually attached to the item. Present only when Wait For Completion is on. |
With Wait For Completion off, the item carries operationName and status: "pending" and no video binary — the job is still running when the node moves on, so pair this with a later step that retrieves the result.
Reference the result downstream by expression, e.g. {{ $json.status }}, and the videos through the binary property names above.
Usage Examples
- Generate a video of a forest scene using Google Veo
- Create a portrait-format video for a social media reel
- Generate multiple video variations from a single prompt
- Create an 8-second video with a detailed nature description
- Generate a square video for social media
Example Configuration
Generate one landscape clip with the defaults:
{
"type": "gemini_video_gen",
"parameters": {
"model": "veo-2.0-generate-001",
"prompt": "A golden retriever running through a field of sunflowers at sunset"
}
}
A vertical clip for short-form video, with no people:
{
"type": "gemini_video_gen",
"parameters": {
"prompt": "A satisfying close-up of fresh fruit being sliced",
"maxConcurrency": 2,
"options": {
"aspectRatio": "9:16",
"durationSeconds": 5,
"sampleCount": 1,
"personGeneration": "dont_allow",
"waitForCompletion": true,
"pollIntervalMs": 15000,
"maxPollDurationMs": 600000,
"binaryPropertyName": "data"
}
}
}
Three variants of the same prompt, with a longer polling window:
{
"type": "gemini_video_gen",
"parameters": {
"prompt": "{{ $json.sceneDescription }}, photorealistic, high detail",
"includeInput": true,
"maxConcurrency": 1,
"options": {
"aspectRatio": "16:9",
"durationSeconds": 8,
"sampleCount": 3,
"waitForCompletion": true,
"pollIntervalMs": 20000,
"maxPollDurationMs": 900000
}
}
}
Submit and move on without waiting:
{
"type": "gemini_video_gen",
"parameters": {
"prompt": "An abstract animation of colorful geometric shapes morphing",
"maxConcurrency": 3,
"options": {
"aspectRatio": "1:1",
"durationSeconds": 6,
"sampleCount": 1,
"waitForCompletion": false
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Gemini Video Gen calls the Google Veo API to generate short videos from text prompts, supporting aspect ratios of 16:9, 9:16, or 1:1 and durations of 5 to 8 seconds. Use this tool when a workflow needs to programmatically produce motion video content from descriptive text, including support for multiple samples per request. The tool outputs binary video file data via the binary storage layer on the main channel, with failures delivered to the error output.
Frequently asked questions
What credentials does this node require, and where do I get them?
The node uses Google AI (Gemini) credentials, configured as a `googleAi` credential type in BusyBot. You need a Google AI API key that has access to the Veo video generation models. Set up the credential once in BusyBot's credential manager and reuse it across any Gemini nodes in your workspace.
Video generation takes time — does the node block my workflow while it waits?
By default, the node submits the job, polls until it finishes, downloads the files, and only then passes the item downstream — so yes, the workflow step waits. However, there is also an option to submit without waiting, so you can pick up the result later in a separate step or workflow. For long pipelines or high-volume use, the non-blocking submit mode avoids tying up a workflow execution while the video renders.
How do I access the generated video files after the node runs?
Finished videos are stored as binary data on the output item, accessible via BusyBot's binary storage layer on the main Output channel. Each sample requested produces a separate binary file. If generation fails, the item is routed to the Error output instead of the main Output, so you can handle failures in a dedicated branch without crashing the whole workflow.
Can I generate more than one video clip per request?
Yes. The node supports multiple samples per request, meaning a single Gemini Video Gen node can return several distinct video clips from the same prompt in one call. Each sample is stored as its own binary file on the output item. This is useful when you want to pick the best take or present variation options downstream.
What constraints exist on clip duration and aspect ratio?
Duration must be between 5 and 8 seconds — you cannot generate clips shorter than 5 seconds or longer than 8 seconds with this node. Aspect ratio is limited to the three presets supported by Veo: 16:9 (landscape), 9:16 (portrait/vertical), and 1:1 (square). There is no free-form resolution or duration input; values outside these options are not available in the node's parameters.
Build with the Gemini Video Gen node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Google AI (Gemini) credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.