Gemini Omni Flash

Generate a video from an idea, animate a reference image, or change objects, clothing, lighting, backgrounds, and style in an existing video. You can combine an image and video to guide an edit.

Open Omni in Create. Select an optional image or video, then describe what should change and what should stay the same. Studio supports imageUrl and videoUrl input connections.

Settings and price

  • Model ID: gemini-omni-flash. Provider model: gemini-omni-1.1-flash.
  • 413 credits per clip, up to 10 seconds, 720p, 16:9 or 9:16. This is a flat clip price; a shorter prompt does not reduce the charge. Set duration to 10 or omit it.
  • One optional JPEG, PNG, or WebP image up to 4 MB. Images are normalized to at most 2048 pixels per side.
  • One optional MP4 video up to 10 seconds and 20 MB. Edits keep the reference length and aspect ratio. Duration is measured on the server. Upload references to Vydra first. Submit the edit and poll the returned job ID while it processes.
  • The result is a video. For a still-image result, use image editing.
  • Google may restrict video editing by region or reject unsupported content. Failed generations receive an automatic credit refund.

1. Upload a reference

Authenticate with a bearer API key with jobs:write. Request a signed upload URL, then PUT the file bytes directly to it with the same Content-Type. Do not send your Vydra API key to the storage URL. Signed URLs expire after 10 minutes.

POST /api/v1/library/upload-urljson
{
  "contentType": "video/mp4",
  "size": 1234567
}

The response contains uploadUrl and publicUrl. Use publicUrl in the generation request. Optionally save it to your library with POST /api/v1/library and { "name": "Clip", "url": "PUBLIC_URL", "kind": "video" }. JPEG, PNG, and WebP use the same upload flow with their image content types.

2. Generate or edit

POST /api/v1/jobsjson
{
  "workflow": "generate_video",
  "input": {
    "model": "gemini-omni-flash",
    "prompt": "Change the red cup to blue. Keep the camera, table, and lighting the same.",
    "videoUrl": "YOUR_UPLOADED_VIDEO_PUBLIC_URL",
    "duration": 10,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }
}

Add imageUrl for an image reference. Omit videoUrl to animate the image; omit both URLs for text-to-video. Aliases image_url and video_url are accepted. Multiple image arrays, provider interaction IDs, and video extension are not exposed.

3. Retrieve and refine

The job starts asynchronously. Poll GET /api/v1/jobs/ID with jobs:read until completed or failed, or supply a webhookUrl in the create-job request. Completed jobs return result.videoUrl, hosted by Vydra. Submit that URL as the next videoUrl to make another edit; each edit is a separate paid generation. Never expose a provider API key to users.

Use the job ID when contacting support. The admin console records submission, status, provider errors, refunds, and output delivery.

Provider reference: Google Gemini Omni documentation.