Gemini Omni Flash — video from a chat model
google/gemini-omni-flash-preview is Google's multimodal model: a regular chat endpoint that generates video from text, multiple images/GIFs, audio, and source video at the same time. The cheapest way to get video on the platform — ≈ $0.08 per clip.
How it differs from media models
| Omni Flash | Regular video models (/media/generate) | |
|---|---|---|
| Endpoint | POST /v1/chat/completions | POST /media/generate |
| Billing | per token (input $0.2322 / output $1.3932 per 1M) | flat per generation |
| Speed | ~40–60 s, synchronous response | task + polling |
| Video price | ≈ $0.08 | from $0.11 |
Using the API
A standard OpenAI-compatible request plus the modalities parameter:
bash
curl https://nordrouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-nr-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-omni-flash-preview",
"messages": [{"role": "user", "content": "Generate a video: a red balloon floating over a calm sea"}],
"modalities": ["image", "text"],
"max_tokens": 4000
}'Image, GIF, audio, and video input
Send ordinary OpenAI content parts in messages[].content. The following combination was verified in one real request through NordRouter:
json
{
"model": "google/gemini-omni-flash-preview",
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "Create an ad: use the person from the photo, motion from the reference video, and cut to the audio beat" },
{ "type": "image_url", "image_url": { "url": "https://example.com/hero.png" } },
{ "type": "image_url", "image_url": { "url": "https://example.com/style.gif" } },
{ "type": "input_audio", "input_audio": { "data": "BASE64_AUDIO", "format": "wav" } },
{ "type": "video_url", "video_url": { "url": "https://example.com/motion.mp4" } }
]
}],
"modalities": ["image", "text"],
"max_tokens": 4000
}- Images and GIFs:
image_url; add several parts when needed. - Audio:
input_audiowith base64 andformat(wav,mp3,ogg,aac,flac,m4a). - Video:
video_url; source clips for editing should be no longer than 10 seconds. - Studio and bot: up to 10 attachments, 20 MB per file.
- Arbitrary archives and office documents are not advertised for Omni Flash; use image, GIF, audio, or video input.
The response is a single message; the file link is in message.videos:
json
{
"choices": [{
"message": {
"role": "assistant",
"content": "I've generated the video for you.",
"videos": [{ "type": "video_url",
"video_url": { "url": "https://nordrouter.com/media/file/…" } }]
}
}],
"usage": { "prompt_tokens": 18, "completion_tokens": 58197, "total_tokens": 58215 }
}Important
modalities: ["image", "text"]is required — without it the model replies with text only.- A video weighs ~58K output tokens → total ≈ $0.08. Set
max_tokensto at least 4000 (video tokens don't count against the limit; it applies to the text part). - Files are kept for 14 days — download to keep permanently.
- Works with
stream: truetoo — the link arrives in the stream.
In the studio and the Telegram bot
The same model is available without any code:
- Studio — nordrouter.com/studio → Video → Gemini Omni Flash;
- Bot @nordy_robot — Media → 📹 Video → Gemini Omni Flash: send up to 10 files one by one, then the text prompt; the clip arrives in the same chat.
Studio/bot pricing follows actual token usage, typically ≈ $0.08 (the upfront estimate shows an upper bound of ~$0.13; the difference is refunded after generation).