Gemini Omni Flash Video API: Pricing, Integration, and When to Use It
You're adding AI video generation to your product and the per-second pricing models are making your cost projections look unreliable. An 8-second clip costs 8× more than a 1-second clip — and if your users prefer longer content, your unit economics spiral. Gemini Omni Flash on GenRelay works differently: flat per-generation pricing regardless of video length. Here's what that means for your budget, and how to integrate it.
What Is Gemini Omni Flash?
Gemini Omni Flash is Google's fast video generation model, accessible through GenRelay's unified generative media API. As of August 2026, GenRelay supports Omni Flash alongside Veo 3.1 (t2v, i2v, ref2v), Grok Imagine 1.0, and Grok Imagine 1.5 — all from a single endpoint with one API key.
Omni Flash's defining characteristic is its per-generation billing model, which separates it from the per-second pricing that most video models use. You pay a flat fee per video generated, independent of how many seconds that video runs.
How Does Omni Flash Pricing Compare to Other Video Models?
GenRelay video pricing as of August 2026:
| Model | 720p | 1080p | Billing unit |
|---|---|---|---|
| Gemini Omni Flash | $0.10 | $0.15 | Per generation (flat) |
| Veo 3.1 Lite | $0.060 | $0.120 | Per second |
| Grok Imagine 1.5 | $0.022 | $0.022 | Per second |
| Grok Imagine 1.0 | $0.010 | $0.010 | Per second |
The billing unit difference matters more than the headline number. Let's do the math for a 5-second video at 720p:
| Model | Cost (5s, 720p) |
|---|---|
| Gemini Omni Flash | $0.10 |
| Veo 3.1 Lite | 5 × $0.060 = $0.30 |
| Grok Imagine 1.5 | 5 × $0.022 = $0.11 |
| Grok Imagine 1.0 | 5 × $0.010 = $0.05 |
And for a 10-second video at 720p:
| Model | Cost (10s, 720p) |
|---|---|
| Gemini Omni Flash | $0.10 ← flat, same as 5s |
| Veo 3.1 Lite | 10 × $0.060 = $0.60 |
| Grok Imagine 1.5 | 10 × $0.022 = $0.22 |
| Grok Imagine 1.0 | 10 × $0.010 = $0.10 |
The crossover point: Omni Flash becomes cost-equivalent to Grok 1.0 at ~10 seconds of 720p output. Beyond that, Omni Flash is cheaper per-second than any per-second model at comparable quality. Compared to Veo 3.1 Lite, Omni Flash saves 67% on a 5-second 720p clip.
At 1080p:
| Model | Cost (5s, 1080p) |
|---|---|
| Gemini Omni Flash | $0.15 |
| Veo 3.1 Lite | 5 × $0.120 = $0.60 |
| Grok Imagine 1.5 | 5 × $0.022 = $0.11 |
The bottom line on pricing: Omni Flash isn't the cheapest option for very short clips (Grok 1.0 wins there), but it's the most predictable — your cost doesn't change with video duration. For applications where users generate medium-to-long clips and you need reliable unit economics, flat pricing removes a major variable from your margin model.
How Do I Call the Omni Flash Video API?
Video generation is asynchronous. You submit a job, receive a job ID, and poll for completion. Here's the full workflow in Python:
import time
import requests
API_KEY = "YOUR_GENRELAY_KEY"
BASE_URL = "https://genrelay.ai/v1"
def generate_video(prompt: str, resolution: str = "720p") -> str:
"""Submit an Omni Flash video job and return the completed video URL."""
# Step 1: Submit generation job
resp = requests.post(
f"{BASE_URL}/videos/generations",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={
"model": "omni-flash",
"prompt": prompt,
"resolution": resolution, # "720p" or "1080p"
},
timeout=30,
)
resp.raise_for_status()
job_id = resp.json()["id"]
print(f"Job submitted: {job_id}")
# Step 2: Poll for completion
poll_url = f"{BASE_URL}/videos/jobs/{job_id}"
while True:
status_resp = requests.get(
poll_url,
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=15,
)
status_resp.raise_for_status()
job = status_resp.json()
if job["status"] == "succeeded":
return job["output"]["url"]
elif job["status"] == "failed":
raise RuntimeError(f"Job failed: {job.get('error', 'unknown')}")
print(f"Status: {job['status']} — waiting 5s...")
time.sleep(5)
# Usage
video_url = generate_video(
"A timelapse of a city skyline transitioning from sunset to night, cinematic",
resolution="720p",
)
print(f"Video ready: {video_url}")
For 1080p output, change "resolution": "720p" to "resolution": "1080p" — the price updates to $0.15/generation automatically.
Here's the same job submission in curl for quick testing:
# Submit the job
JOB_ID=$(curl -s -X POST https://genrelay.ai/v1/videos/generations \
-H "Authorization: Bearer YOUR_GENRELAY_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-flash",
"prompt": "Product reveal animation: a sleek smartwatch rotating 360 degrees on a white pedestal",
"resolution": "720p"
}' | jq -r '.id')
echo "Job ID: $JOB_ID"
# Poll for completion
while true; do
STATUS=$(curl -s "https://genrelay.ai/v1/videos/jobs/$JOB_ID" \
-H "Authorization: Bearer YOUR_GENRELAY_KEY" | jq -r '.status')
echo "Status: $STATUS"
[ "$STATUS" = "succeeded" ] && break
[ "$STATUS" = "failed" ] && echo "Job failed" && break
sleep 5
done
# Get the output URL
curl -s "https://genrelay.ai/v1/videos/jobs/$JOB_ID" \
-H "Authorization: Bearer YOUR_GENRELAY_KEY" | jq -r '.output.url'
What Request Parameters Does Omni Flash Accept?
| Parameter | Type | Values | Notes |
|---|---|---|---|
model |
string | "omni-flash" |
Required |
prompt |
string | up to 2048 chars | Required. Describe motion, subject, style, lighting. |
resolution |
string | "720p" / "1080p" |
Default "720p". 1080p = $0.05 more per generation. |
negative_prompt |
string | optional | Describe what to avoid in the output. |
Prompt structure for video: Describe the subject, the action or motion, the visual style, and the camera perspective — in that order. "A tabby cat stretching on a sunny windowsill, slow motion, shallow depth of field, golden hour lighting" generates more consistent output than a generic scene description.
When Should I Use Omni Flash vs. Veo 3.1 or Grok?
The choice comes down to three factors: video duration, quality requirements, and cost structure.
Choose Omni Flash when:
- Your application generates medium-to-long videos (8+ seconds) and you want cost that doesn't scale with duration
- You need 1080p at a budget that Veo 3.1 Lite can't match — $0.15/gen vs $0.60/gen for a 5-second clip
- You want predictable per-video billing regardless of content type
- Gemini's visual aesthetic (clean, cinematic, Google-trained) fits your content style
Choose Grok Imagine 1.0 when:
- You're generating short clips (under 5 seconds) and cost-per-video is the primary constraint — Grok 1.0 at $0.010/s is unmatched for brevity
- You want i2v (image-to-video) capability — Grok Imagine 1.5 supports image input at $0.022/s
Choose Veo 3.1 Lite when:
- Your use case requires Veo's specific motion model, physics rendering, or reference video support (ref2v)
- You're generating short clips where the per-second cost stays below Omni Flash's flat fee
- You need audio generation (Veo 3.1 supports audio in output; see Veo 3.1 API tutorial)
For a SaaS product where users generate on-demand and clip length is user-controlled, Omni Flash's flat pricing is the least-risky cost model — you can set a fixed credit price per generation and maintain consistent margins.
Cost Modeling for Scale
Two usage scenarios showing how pricing plays out at volume:
Scenario A: 10,000 video generations/month, mixed 720p and 1080p (70/30 split)
- Omni Flash: 7,000 × $0.10 + 3,000 × $0.15 = $1,150/month
- Veo 3.1 Lite (avg 8s clips): 7,000 × (8 × $0.060) + 3,000 × (8 × $0.120) = $3,360 + $2,880 = $6,240/month
Scenario B: 5,000 short clips/month (avg 3 seconds, 720p only)
- Omni Flash: 5,000 × $0.10 = $500/month
- Grok 1.0: 5,000 × (3 × $0.010) = $150/month
Scenario B shows where Omni Flash isn't the optimal pick for short content. When average clip duration drops below ~5 seconds, per-second models become more cost-effective. If your application serves both short and long clips, consider routing by expected duration: Grok 1.0 for clips under 5 seconds, Omni Flash for longer content.
Frequently Asked Questions
Does Gemini Omni Flash support image-to-video (i2v)?
Omni Flash is a text-to-video model. For image-to-video workflows, use Grok Imagine 1.5 (i2v, $0.022/s) or Veo 3.1 i2v on GenRelay.
What is the typical generation time for Omni Flash?
Most 720p generations complete within 30–90 seconds. 1080p takes longer — plan for 60–150 seconds. Build your polling interval around 5-second intervals with a 5-minute timeout as a reasonable bound.
What resolution does Omni Flash support?
720p and 1080p. Both are available through the GenRelay endpoint. The platform doesn't currently offer 4K output for Omni Flash.
Is the $0.10/generation price the same regardless of video length?
Yes — the per-generation model charges the same amount whether your video is 3 seconds or 15 seconds. This is the key pricing distinction from Veo 3.1 Lite and Grok models, which charge by the second.
Are there rate limits I should design around?
Rate limits depend on your GenRelay plan. Free tier includes limited credits and lower concurrent job capacity. Paid plans ($14/mo) unlock higher concurrency. Check your current usage and limits in the GenRelay console.
Does Omni Flash support audio in output?
Audio output support for Omni Flash varies — check the GenRelay model page for the current capability list. For guaranteed audio in generated video, Veo 3.1 is the established option on the platform.
Summary
Gemini Omni Flash via GenRelay offers a pricing model that's distinct from the rest of the GenRelay video lineup: flat cost per generation, not per second. At $0.10/gen (720p) and $0.15/gen (1080p), it's significantly cheaper than Veo 3.1 Lite for clips over 5 seconds, competitive with Grok 1.5, and particularly well-suited to applications where clip duration is user-controlled. The integration is straightforward — submit a job, poll to completion, retrieve the output URL. If you need Grok's ultra-low per-second rates for sub-5-second clips or Veo 3.1's advanced capabilities, those are two API parameter changes away on the same GenRelay endpoint.