Video · Text to video · Image to video · Video to video
Omni Flash 1.2 API
Google Gemini Omni Flash 1.2 on fal. It makes 3-15 s video with native audio from text, from a first/last frame, or from up to 10 reference images and 3 reference videos. It also edits clips up to 15 s and extends videos by 3-10 s. Output is 360p to 4K, in 16:9 or 9:16.
- Price
- From $0.0273/s
- Typical time
- ~2 min
- Model id
omni_flash_1_2
Omni Flash 1.2 runs on one varg API key and one credit balance, the same as every other model here. You pay the provider's price, with no markup.
curl -X POST https://api.varg.ai/v2/tools/video/call \
-H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni_flash_1_2",
"prompt": "A cinematic wide shot of a lighthouse on a rocky cliff at dusk, waves crashing below, the beam sweeping across the dark sea.",
"duration": 5
}'Omni Flash 1.2 pricing
From $0.0273/s. Prices are in US dollars and are the provider's own, with no markup. Omni Flash 1.2 has 5 routes: "model": "omni_flash_1_2" picks one automatically, or pass a route key as "model" to pin it. For the exact price of a request, send the same body to POST https://api.varg.ai/v2/estimate.
- fal from $0.0273/s
fal:google/gemini-omni-flash/v1.2/text-to-videoText to video Gemini Omni Flash 1.2 text-to-video: 3-15 s with native audio, 360p/720p/1080p/4K (unified 480p runs at 360p), 16:9 or 9:16 only.
- Resolution 360p
- $0.0273/s
- Resolution 720p
- $0.0819/s
- Resolution 1080p
- $0.1229/s
- Resolution 4k
- $0.2457/s
- Other
- $0.2457/s
- Minimum charge
- $0.09
- Most one request can cost
- $3.69
- Typical time
- ~2 min
- fal from $0.0273/s
fal:google/gemini-omni-flash/v1.2/image-to-videoImage to video Gemini Omni Flash 1.2 image-to-video: animate a first frame, with an optional last frame (then max 10 s). 3-15 s with native audio, 360p-4K (unified 480p runs at 360p), 16:9 or 9:16 (default 16:9).
- Resolution 360p
- $0.0273/s
- Resolution 720p
- $0.0819/s
- Resolution 1080p
- $0.1229/s
- Resolution 4k
- $0.2457/s
- Other
- $0.2457/s
- Minimum charge
- $0.09
- Most one request can cost
- $3.69
- Typical time
- ~2 min
- fal from $0.0273/s
fal:google/gemini-omni-flash/v1.2/editVideo to video Gemini Omni Flash 1.2 video edit: change a clip of up to 15 s from a text instruction and keep the rest of the scene. Output is 360p-4K (unified 480p runs at 360p) and the same length as the source; a duration you send is ignored.
- Resolution 360p
- $0.0273/s
- Resolution 720p
- $0.0819/s
- Resolution 1080p
- $0.1229/s
- Resolution 4k
- $0.2457/s
- Other
- $0.2457/s
- Most one request can cost
- $3.69
- Typical time
- ~2 min
- fal from $0.0273/s
fal:google/gemini-omni-flash/v1.2/reference-to-videoImage to video, Video to video Gemini Omni Flash 1.2 reference-to-video: up to 10 reference images and 3 reference videos, addressed as <IMAGE_REF_n>/<VIDEO_REF_n> in the prompt. 3-15 s with native audio, 360p-4K (unified 480p runs at 360p), 16:9 or 9:16.
- Resolution 360p
- $0.0273/s
- Resolution 720p
- $0.0819/s
- Resolution 1080p
- $0.1229/s
- Resolution 4k
- $0.2457/s
- Other
- $0.2457/s
- Minimum charge
- $0.09
- Most one request can cost
- $3.69
- Typical time
- ~2 min
- fal from $0.0273/s
fal:google/gemini-omni-flash/v1.2/extendVideo to video Gemini Omni Flash 1.2 extend: continue a video of any length with a 3-10 s segment from a prompt. The model conditions on the last 10 s. 360p-4K (unified 480p runs at 360p).
- Resolution 360p
- $0.0273/s
- Resolution 720p
- $0.0819/s
- Resolution 1080p
- $0.1229/s
- Resolution 4k
- $0.2457/s
- Other
- $0.2457/s
- Minimum charge
- $0.09
- Most one request can cost
- $2.46
- Typical time
- ~2 min
Omni Flash 1.2 inputs
The JSON body of the request. Media inputs are URLs: upload a local file with POST /v2/files and pass the URL it returns. Full JSON Schema, no key needed: api.varg.ai/v2/tools/video?model=omni_flash_1_2
| Field | What it does |
|---|---|
model string required | omni_flash_1_2 picks a route automatically. To pin one, pass a route key from Pricing above. |
prompt string | — |
files array of { url } | — |
aspect_ratio string | Allowed e.g. 16:9 | 9:16 | 1:1 | 4:3 | 3:4 | 21:9 | auto |
resolution string | Quality tier. Supported by this model: 480p, 720p, 1080p, 4k. Unsupported tiers fall back to the nearest available. Allowed 480p | 720p | 1080p | 4k |
audio boolean | Native audio track request. Not supported by this model — ignored if sent. |
duration integer | Length in seconds. Supported by this model's routes: fal: integer 3-15 / integer 3-10. A non-numeric value such as "auto" is routed to a route whose schema accepts it; when none does, the request is rejected. Allowed 3–15 |
Provider options
Optional, under provider_options.<provider>. Only the options of the provider that runs the job apply; pin a route to choose it.
provider_options.fal
| Field | What it does |
|---|---|
prompt string | The text prompt describing the video you want to generate. |
image_urls array of URL strings | — |
reference_video_urls array of URL strings | — |
duration integer | The duration of the generated video, in seconds. Allowed 3–15 |
resolution string | Allowed 360p | 720p | 1080p | 4k |
aspect_ratio string | Allowed 16:9 | 9:16 |
image_url string (URL) | URL of the first frame to animate. |
end_image_url string (URL) | — |
video_url string (URL) | URL of the video to edit. Must be at most 15 seconds long. |
Call the Omni Flash 1.2 API
POST https://api.varg.ai/v2/tools/video/call with Authorization: Bearer $VARG_API_KEY. It answers 202 with a job right away.
1. Send the request
curl -X POST https://api.varg.ai/v2/tools/video/call \
-H "Authorization: Bearer $VARG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni_flash_1_2",
"prompt": "A cinematic wide shot of a lighthouse on a rocky cliff at dusk, waves crashing below, the beam sweeping across the dark sea.",
"duration": 5
}'JavaScript
const headers = {
Authorization: `Bearer ${process.env.VARG_API_KEY}`,
'Content-Type': 'application/json',
}
const res = await fetch('https://api.varg.ai/v2/tools/video/call', {
method: 'POST',
headers,
body: JSON.stringify({
"model": "omni_flash_1_2",
"prompt": "A cinematic wide shot of a lighthouse on a rocky cliff at dusk, waves crashing below, the beam sweeping across the dark sea.",
"duration": 5
}),
})
const job = await res.json() // { id: "job_…", status: "queued" }Python
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['VARG_API_KEY']}"}
job = requests.post(
"https://api.varg.ai/v2/tools/video/call",
headers=headers,
json={
"model": "omni_flash_1_2",
"prompt": "A cinematic wide shot of a lighthouse on a rocky cliff at dusk, waves crashing below, the beam sweeping across the dark sea.",
"duration": 5
},
).json() # {"id": "job_…", "status": "queued"}2. Get the result
Poll the job until its status is completed, failed or cancelled; Omni Flash 1.2 typically takes about 2 min. The result is at output.outputs[0].url.
curl https://api.varg.ai/v2/jobs/$JOB_ID \
-H "Authorization: Bearer $VARG_API_KEY"
# Poll until "status" is completed, failed or cancelled.
# The result is in output.outputs[0].urlJavaScript
let current = job
while (!['completed', 'failed', 'cancelled'].includes(current.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000))
current = await (await fetch(`https://api.varg.ai/v2/jobs/${current.id}`, { headers })).json()
}
console.log(current.output?.outputs?.[0]?.url)Python
import time
while job["status"] not in ("completed", "failed", "cancelled"):
time.sleep(3)
job = requests.get(f"https://api.varg.ai/v2/jobs/{job['id']}", headers=headers).json()
print(job["output"]["outputs"][0]["url"])Or take a webhook instead of polling
Add options.webhook_url and varg POSTs the finished job to it.
{
"model": "omni_flash_1_2",
"prompt": "A cinematic wide shot of a lighthouse on a rocky cliff at dusk, waves crashing below, the beam sweeping across the dark sea.",
"duration": 5,
"options": {
"webhook_url": "https://your-app.com/varg-webhook"
}
}From Claude, ChatGPT or Cursor (MCP)
The varg MCP server, https://mcp.varg.ai/mcp, runs Omni Flash 1.2 with call_tool. Sign in with varg, no API key to paste. How to connect it
{
"tool": "video",
"input": {
"model": "omni_flash_1_2",
"prompt": "A cinematic wide shot of a lighthouse on a rocky cliff at dusk, waves crashing below, the beam sweeping across the dark sea.",
"duration": 5
},
"wait": true
}Omni Flash 1.2 API: questions
- How much does Omni Flash 1.2 cost on varg?
- Omni Flash 1.2 costs from $0.0273/s on varg, on its cheapest route. The total depends on the request. varg charges the provider's price with no markup, from one credit balance. For the exact price of a request before you run it, send the same body to POST https://api.varg.ai/v2/estimate.
- How do I call the Omni Flash 1.2 API?
- Send POST https://api.varg.ai/v2/tools/video/call with the header "Authorization: Bearer $VARG_API_KEY" and a JSON body that includes "model": "omni_flash_1_2". The call answers 202 with a job right away. Poll GET https://api.varg.ai/v2/jobs/{id} until "status" is "completed", then read output.outputs[0].url, or pass options.webhook_url to be called back.
- Can I use Omni Flash 1.2 from Claude, ChatGPT or Cursor?
- Yes. Add the varg MCP server (https://mcp.varg.ai/mcp) to Claude, ChatGPT, Cursor or any other MCP client and sign in with varg, with no API key to paste. The agent runs Omni Flash 1.2 with call_tool, passing tool "video" and "model": "omni_flash_1_2".
- How long does a Omni Flash 1.2 request take?
- Typically about 2 min on the fastest route, by the catalog's estimate. The API answers at once with a job id, so nothing waits on an open connection while it runs.
For AI agents: this page as Markdown is varg.ai/models/omni_flash_1_2.md, and every model is listed in varg.ai/models/llms.txt.