Gemini Omni Flash
Google's Video Model That Takes In Everything
- referenceImages
- frameImages
- video
If you've only ever seen text-to-video, Gemini Omni Flash is the model that makes you re-read the word "omni." It's Google's multimodal video model, and the node's input list is the tell: images, frames, an existing video, a videoId to build on - it swallows all of them and emits a video. This isn't the "type a sentence, get a clip" tier. It's the "turn these reference photos into a coherent moving scene, or edit footage you already have" tier.
Because it's a Runware pack node, none of this happens on your machine. The node serializes everything you feed it and ships it to Google's model over Runware's cloud API, then hands the finished clip back as a native VIDEO output. No GPU, no weights, no FFmpeg dance on your end - that's the whole value proposition of this pack, and it's why people without a 24GB card reach for these nodes at all.
What you actually set
The only required input is positivePrompt - and the tooltip is worth reading, because this model accepts aspect ratio and duration in the prompt itself ("a 16:9, 8-second shot of…") as an alternative to the widgets. The interesting inputs are the media ones:
- referenceImages - stills that define subjects and style.
- frameImages - the keyframe stack; the model animates between your frames rather than inventing motion from nothing.
- video - a URL, path, or UUID of footage to edit. This is the one that turns the node from a generator into an editor.
- videoId - pass back the ID of a previous generation to iterate on it in a follow-up turn. Underrated for tightening a shot: generate, look, tweak the prompt, hand the ID back, get a refinement of the same idea instead of a lottery ticket.
Then the usuals: width/height (default 1024²), duration behind a toggle (3–10 seconds - flip the toggle on, then set duration_value), temperature and topP if you want more or less randomness, and numberResults up to 4. Output is a single video.
The gotcha shared by every Runware node
Notice the duration pattern: it's a boolean toggle, and the actual value lives in duration_value. This pack gates every model parameter that has a validation rule behind an on/off switch, so "Off uses the model's default." A beginner's first run produces a default-duration video because they typed a number into the disabled duration_value field and never flipped the toggle. Flip the switch, then set the value.
Beyond that: you need a Runware API key (dashboard → Settings → Runware API key, or RUNWARE_API_KEY), and every run costs money - the node prints the price on its title bar, so watch what you're spending when you set numberResults to 4. Video is the expensive end of this pack, and iterating is where the bill creeps.
Install
Same as every node in the pack - ComfyUI Manager, search "Runware," install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
No model downloads, no CUDA version roulette. The one thing the pack does need is the key. Wire the video output into a Video Preview or Save Video node and you're running a model that would otherwise be completely out of reach locally.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. The output aspect ratio (`16:9`, `9:16`) and duration can also be given in the prompt as an alternative to the `width`/`height` and `duration` parameters. | |
| referenceImagesopt | IMAGE | — | |
| frameImagesopt | IMAGE | — | |
| videoopt | STRING | Video input (UUID or URL). Source video to be edited. | |
| sizeopt | COMBO | 720p (16:9) | Output size. Only one of resolution or dimensions is sent. |
| durationopt | BOOLEAN | false | Enable to set duration. Off uses the model's default. |
| duration_valueopt | INT | 33–10 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| videoIdopt | STRING | ID of a previously generated video. Pass it back to iterate on it in a follow-up turn, building on the earlier result. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| settings.temperatureopt | FLOAT | 1.000–2 | Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity. |
| settings.topPopt | FLOAT | 0.950–1 | Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |