Nodes/ERPK Collection/Gemini Omni Video Generation
ComfyUI Node

Gemini Omni Video Generation

The API video node that doesn't poll for half an hour

By eRepublik-Labs·Created 10 months ago·Updated 10 days ago· 1
Gemini Omni Video Generation
  • client
  • image
  • video_path
prompt
aspect_ratio16:9
output_directory
seed0

Every other video node in the ERPK Collection submits a job and then sits polling a server for minutes. This one is the exception. Gemini Omni Video Generation calls Google's Gemini Omni Flash and gets the whole clip back in a single interaction - no waiting for job… loop, no 30-minute timeout to babysit. For quickly iterating on a prompt idea it's the node you reach for when you want an answer, not a film.

It lives under ERPK/Gemini in the pack. Text in, mp4 out: it generates 3–10 seconds of 720p video at 24fps, which sounds modest and is exactly the point. Omni Flash is a preview-tier model (the code hardcodes gemini-omni-flash-preview) tuned for fast, cheap, short clips - storyboards, motion tests, "is this shot direction even going to work?" checks. It is not the node for a hero 4k shot; that's what the Seedance nodes in this pack are for. But nothing else here returns in one call.

How it works

Under the hood it's the Google GenAI Interactions API. The node builds a response_format of {type: video} with the aspect ratio, disables background/store/stream (the documented fast path for a synchronous generation), and hands back the base64 mp4 the interaction returns. It then decodes the bytes and writes them to disk as gemini_omni_<timestamp>.mp4.

Two things Google forbids here, and the node doesn't fight them: negative prompts are not supported, and there's no temperature, top_p, system instruction, or thinking knob. The model also refuses system instructions outright. So the prompt field is where all the nuance lives - if you don't want text on screen, you write "Do not show text on screen" inline. That's the author's own guidance in the tooltip, and it's the one beginner habit to unlearn: there's no negative prompt box.

Inputs and outputs that matter

The only required input is prompt. From there:

  • image - optional start image. Connect one and the node silently switches from text-to-video to image-to-video. This is the "animate this" mode and it's the more useful one.
  • aspect_ratio - 16:9 or 9:16 only. Output is always 720p at 24 FPS; there is no resolution knob to discover later.
  • seed - cache control, not a real seed. Omni Flash takes no API seed, so this value is never sent. A fixed seed lets ComfyUI reuse the video you already paid for; -1 (randomize) bills a fresh generation every queue.

The single output, video_path, is a filesystem path to the saved .mp4, not a URL. Leave output_directory empty and it lands in ComfyUI's output folder where it shows up in the output browser normally. Set it to something else and that's where the file goes.

Installing it

It's part of the ERPK Collection pack (eRepublik-Labs/comfyui-nodes-erpk). Easiest via ComfyUI Manager - Install Custom Nodes, search erpk, install "ERPK Custom Nodes", restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk && pip install -r requirements.txt

Then restart ComfyUI and drop a Google API key into Settings > ERPK > API Keys (or right-click the canvas > ERPK Settings). Keys are stored per-user, never in the workflow. You need the google-genai package, which the pack's requirements install for you. Nothing runs on your GPU - all server-side, so a laptop can drive it.

Common issues

  • "Omni Flash returned no video" - the standard error means the prompt was refused or the interaction hadn't finished. Reword and retry.
  • No video appears - you connected the output to a Preview Image node. video_path is a file path; wire it into the pack's Preview Anything node (or any video-capable preview) instead.
  • It re-runs every queue and you're getting billed - that's the seed on randomize. Pin it if you just want the cached result back.
CategoryERPK/Gemini

Inputs (6)

NameTypeDefaultDescription
promptSTRINGWhat the video should show. Negative prompts are not supported — state exclusions inline, e.g. 'Do not show text on screen'.
clientoptGEMINI_API_CLIENTGemini API client. Optional when the key is in ComfyUI Settings.
imageoptIMAGEOptional start image. Connecting one switches the model to image-to-video.
aspect_ratiooptCOMBO16:9Video aspect ratio. Output is always 720p at 24 FPS.
output_directoryoptSTRINGDirectory to save video. Empty uses the ComfyUI output folder.
seedoptINT0-1–4294967295Cache control only — Omni Flash takes no API seed, so this is never sent. A fixed seed reuses the video you already paid for; -1 (randomize) generates again on every queue.

Outputs (1)

NameTypeDescription
video_pathSTRING