curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-omni-flash",
"prompt": "A blue pump bottle slowly rotates in a clean white studio, commercial product video",
"duration": 6,
"aspect_ratio": "9:16",
"resolution": "720p",
"image_urls": ["https://example.com/reference.jpg"]
}'
{
"id": "video_01JZEXAMPLE",
"object": "generation.task",
"model": "gemini-omni-flash",
"status": "queued",
"created_at": 1779247407
}
Gemini Omni Flash
Gemini Omni Flash Video Generation
Generate videos with the legacy Gemini Omni Flash channel using text or up to 3 reference images
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-omni-flash",
"prompt": "A blue pump bottle slowly rotates in a clean white studio, commercial product video",
"duration": 6,
"aspect_ratio": "9:16",
"resolution": "720p",
"image_urls": ["https://example.com/reference.jpg"]
}'
{
"id": "video_01JZEXAMPLE",
"object": "generation.task",
"model": "gemini-omni-flash",
"status": "queued",
"created_at": 1779247407
}
Note for users in mainland China: Please use
https://toapis.cn as the API endpoint (Base URL). Replace https://toapis.com with https://toapis.cn in the examples in this document.- Use
gemini-omni-flash(or the channel’s configuredgemini_omni_flashalias) in themodelfield - Supports text-to-video and reference-image-to-video
- Supports 4 / 6 / 10 second durations
- Supports
720pand1080p;1080pis landscape-only - Async task API: submit a task, then query by task ID
This page documents the non-official legacy
gemini-omni-flash model. It does not use the Vertex AI Interactions API. Other legacy channel implementations may have different limits. The separate gemini-omni-flash-preview-official page documents official Vertex AI access.Upload local images with the Upload Image API first, then pass the returned URLs in
image_urls. Do not pass base64 image data directly.Authorizations
string
required
Use Bearer Token authentication:
Authorization: Bearer YOUR_API_KEY
Body
string
default:"gemini-omni-flash"
required
Model name. Use
gemini-omni-flash for the legacy channel. Some channel configurations expose the equivalent gemini_omni_flash alias.string
required
Text prompt for video generation.
integer
default:"6"
Video duration. Supported values are
4, 6, or 10 seconds.string
default:"16:9"
Video aspect ratio:
16:9landscape9:16portrait
string
default:"720p"
Video resolution:
720p or 1080p. The legacy channel uses a landscape output for 1080p.string[]
Optional public reference image URL array with up to
3 items. Omit it for text-to-video. Base64/data URIs and video inputs are not supported by this channel.Response
string
Task ID for status polling.
string
Object type, usually
generation.task.string
Model name used for the request.
string
Task status:
queued, in_progress, completed, or failed.integer
Task creation timestamp.
string
Generated video URL when the task completes.
Examples
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini-omni-flash",
"prompt": "A blue pump bottle slowly rotates in a clean white studio, commercial product video",
"duration": 6,
"aspect_ratio": "9:16",
"resolution": "720p",
"image_urls": ["https://example.com/reference.jpg"]
}'
{
"id": "video_01JZEXAMPLE",
"object": "generation.task",
"model": "gemini-omni-flash",
"status": "queued",
"created_at": 1779247407
}
Query Task
The generation endpoint returns a task ID. Use the common video task status endpoint to fetch status and results:curl --request GET \
--url https://toapis.com/v1/videos/generations/{task_id} \
--header "Authorization: Bearer YOUR_API_KEY"