Gemini Omni Flash unifies text-to-video, image-to-video, and multi-turn stateful editing in the Interactions API—best suited for creative prototypes and internal tooling.
What Is Gemini Omni Flash?
Gemini Omni Flash is Google’s multimodal preview model for video generation and editing. Its core idea is to bring text-to-video, image-to-video, and multi-turn stateful video editing into a single Interactions API workflow.
Preview Status: Know Before You Build
gemini-omni-flash-preview is still a preview release. It fits experiments, prototype validation, creative workflows, and internal tool integration—but not mission-critical production paths without fallback plans.
Core Capabilities
- Text-to-video: generate video with audio from text prompts.
- Image-to-video: upload a reference image and describe motion, camera work, scene, and mood in text.
- Stateful editing: continue modifying a prior result via
previous_interaction_id. - Uploaded video editing: upload user videos through the Files API and pass file URIs to the model.
- URI delivery: for larger video files, prefer URIs over inline base64 payloads.
Minimal API Call
The basic pattern is to create an interaction with a model and text input, then extract video data from the response.
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-omni-flash-preview",
input="A marble rolling fast on a chain reaction style track, continuous smooth shot.",
)
with open("marble.mp4", "wb") as f:
f.write(base64.b64decode(interaction.output_video.data))
In development, prioritize:
- Request latency and timeouts.
- Response format stability.
- Video persistence or object storage strategy.
- Failure handling, safety blocks, and retries.
Controlling Aspect Ratio and Output
Short-form video, ad creatives, and mobile content usually need explicit aspect ratios. The article recommends exposing landscape, portrait, and square formats as product-level options rather than relying entirely on prompt wording.
Example:
interaction = client.interactions.create(
model="gemini-omni-flash-preview",
input="A futuristic city with neon lights and flying cars, cyberpunk style",
response_format={
"type": "video",
"aspect_ratio": "9:16",
},
)
Image-to-Video Integration
Image-to-video input typically combines an image and text. The image can serve as a subject reference, motion reference, style reference, or starting frame.
Example structure:
interaction = client.interactions.create(
model="gemini-omni-flash-preview",
input=[
{
"type": "image",
"data": base64_image,
"mime_type": "image/jpeg",
},
{
"type": "text",
"text": "Use this image as a reference and generate a cinematic product shot.",
},
],
generation_config={
"video_config": {
"task": "image_to_video",
},
},
)
Don’t stop at “make it move.” More reliable prompts specify:
- Which subject traits must be preserved.
- How motion should occur.
- How the camera should move.
- How scene, background, and lighting should change.
- What must not change—product appearance, branding, etc.
Stateful Video Editing
Stateful editing depends on the previous interaction. Pass previous_interaction_id when creating a new interaction to continue editing the prior video.
first = client.interactions.create(
model="gemini-omni-flash-preview",
input="A woman playing violin outdoors.",
)
second = client.interactions.create(
model="gemini-omni-flash-preview",
previous_interaction_id=first.id,
input="Make the violin invisible. Keep everything else the same.",
)
Edit prompts should explicitly state what to preserve. If you only want a local change, say “keep everything else the same”—otherwise the model may alter composition, subjects, lighting, or style.
Editing User-Uploaded Video
To edit user-uploaded video, upload via the Files API first, then pass the file URI to Gemini Omni Flash. This is more stable than embedding large base64 blobs in request bodies and fits backend job queues and async processing better.
Product design should cover:
- File size, resolution, and duration limits.
- Upload, processing, generation, failure, and expiry states.
- Content moderation and regional restrictions.
- Fallback paths on failure.
- Storage lifecycle for source and generated files.
URI Delivery for Large Video
For large, long, or high-resolution assets, URI delivery beats base64 in production. Backends can poll interaction status by ID:
GET /v1beta/interactions/{id}
This integrates cleanly with queues, object storage, logging, and frontend progress indicators.
Prompt Writing
Video prompts should describe the shot clearly. A complete prompt often includes:
- Subject: who or what.
- Action: what the subject does.
- Camera: single shot, multi-shot, push/pull/pan, close-up, wide, etc.
- Scene: location, time, background elements.
- Lighting: natural, neon, cinematic, soft, etc.
- Style: live action, ad, documentary, animation, etc.
- Preserve: product, person, logo, composition, colors.
- Exclude: what must not change, appear, or be generated.
If you need a single continuous shot, say so explicitly. If on-screen text is required, write the exact text—otherwise output may be unstable or unreadable.
Current Limitations
Important boundaries noted in the source material:
- The EEA, Switzerland, and the UK do not support uploading or editing images that depict minors.
- EEA, Switzerland, and UK users currently cannot edit uploaded videos, but can edit model-generated videos.
- YouTube videos are not supported as media sources.
- Uploaded-video editing and model-generated-video editing are different capabilities—products should treat them separately.
These limits affect product design, especially for global or enterprise users: bake region, asset type, moderation, and failure messaging into the flow.
Developer Integration Roadmap
Integrate from simple to complex:
- Start with text-to-video; validate generation, status, download, and errors.
- Add aspect ratio options: 16:9, 9:16, 1:1.
- Add image-to-video with limits on format, size, and count.
- Introduce prompt templates for task-specific generation.
- Enable URI delivery for large video.
- Surface region limits, safety, file failures, and timeouts as explicit states.
- Only then expand to multi-image references, timecode, text rendering, and complex shot templates.
Product Shape Recommendations
Gemini Omni Flash fits a creative workflow tool better than a single chat box. Natural entry points include:
- Generate short ads.
- Animate product stills.
- Replace backgrounds or lighting.
- Reframe landscape assets to portrait.
- Add subtitles or on-screen text.
- Continue local edits from a previous version.
Summary
Gemini Omni Flash’s value is unifying video generation, image references, and multi-turn editing in the Interactions API. It is not yet the most dependable production-grade video pipeline, but it is ready for creative prototypes, asset generation, internal automation, and task-oriented video editing tools.