Gemini Omni Flash (Video)
The GeminiOmniAdapter wraps Google's Gemini Omni Flash
preview model (gemini-omni-flash-preview) for fast multimodal video generation
and conversational video editing via the Interactions API.
Overview
Unlike Veo (which uses models.generate_videos), Omni uses
client.interactions.create(...). It accepts text, images (and in the broader
Omni family, audio/video inputs) and returns short clips (about 3–10s at 720p /
24 FPS) with natively generated audio. Prior generations can be refined with
natural-language edit turns using previous_interaction_id.
References:
Authentication
Uses the same key as Nano Banana / Veo:
export GEMINI_API_KEY="your_api_key"
Quick Start
from dotenv import load_dotenv
load_dotenv()
from tryon.api.omni import GeminiOmniAdapter
adapter = GeminiOmniAdapter()
# Text-to-video
video = adapter.generate_text_to_video(
prompt="A fashion model walking a runway under soft studio lights",
aspect_ratio="9:16",
)
with open("outputs/omni_t2v.mp4", "wb") as f:
f.write(video)
# Image-to-video
video = adapter.generate_image_to_video(
image="data/model-1.jpg",
prompt="The model begins walking toward the camera, soft cinematic motion",
aspect_ratio="16:9",
)
# Conversational edit (reuse the prior interaction id)
edited = adapter.edit_video(
prompt="Dim the lights and add a slow dolly-in",
previous_interaction_id=adapter.last_interaction_id,
)
with open("outputs/omni_edit.mp4", "wb") as f:
f.write(edited)
API Reference
Class: GeminiOmniAdapter
Methods
generate_text_to_video(prompt, aspect_ratio="16:9", previous_interaction_id=None)→bytesgenerate_image_to_video(image, prompt, aspect_ratio="16:9", reference_images=None, previous_interaction_id=None)→bytesedit_video(prompt, previous_interaction_id=None, aspect_ratio=None)→bytes
aspect_ratio supports 16:9 and 9:16. After each successful call,
adapter.last_interaction_id is updated so you can chain edits without
re-uploading the prior clip.
When previous_interaction_id is passed to generate_text_to_video /
generate_image_to_video, the request is treated as an edit task.
opentryon CLI / MCP Server
# Text-to-video
opentryon video-generate --model gemini-omni \
--prompt "A fashion model walking a runway" --aspect-ratio 9:16
# Image-to-video (passing --image switches the method)
opentryon video-generate --model gemini-omni \
--prompt "Animate a slow walk toward camera" --image photo.jpg
# Conversational edit
opentryon video-generate --model gemini-omni \
--prompt "Dim the lights" --previous-interaction-id <id>
MCP tool: video_generate_gemini_omni.