Skip to content

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 FlashRegular video models (/media/generate)
EndpointPOST /v1/chat/completionsPOST /media/generate
Billingper token (input $0.2322 / output $1.3932 per 1M)flat per generation
Speed~40–60 s, synchronous responsetask + polling
Video price≈ $0.08from $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_audio with base64 and format (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_tokens to 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: true too — the link arrives in the stream.

In the studio and the Telegram bot

The same model is available without any code:

  • Studionordrouter.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).