Gemini Omni 1.1 Flash — Video generation and editing
Use the public model ID below for both Official and Ext routes. Provider model names are mapped by the server.
Gemini Omni 1.1 Flash
Use the public model ID below for both Official and Ext routes. Provider model names are mapped by the server.
gemini-omni-1.1-flash
Routes and model mapping
Official: automatic 3–10 second output; omit duration. Supports reference images, first/last frames and video editing. Ext: specify 4, 6, 8 or 10 seconds; default 6. Both support 360p, 720p, 1080p and 4k, landscape or portrait.
The public ID stays the same. Fixed duration selects Ext; first/last frames, metadata.task and task continuation select Official. If both routes support a request, your routing group chooses the route; omitting duration alone does not guarantee Official or automatic duration. Use metadata.task=text_to_video for automatic Official text-to-video.
| Official · 318 | Ext · 319 | |
|---|---|---|
| model → upstream | gemini-omni-1.1-flash |
gemini-omni-1.1-flash-ext |
| duration | auto · 3–10s | 4 / 6 / 8 / 10s · default 6s |
POST https://apimaster.ai/v1/videos/generations · POST https://apimaster.ai/v1/videos
Authorization: Bearer YOUR_API_KEY · Content-Type: application/json
Request parameters
| Field | JSON type | Route | Default | Required | Values / limits |
|---|---|---|---|---|---|
model |
string |
Official / Ext | — | ✓ | gemini-omni-1.1-flash |
prompt |
string |
Official / Ext | — | Ext ✓; Official: prompt / media | Official: prompt / media; Ext: prompt |
resolution |
string |
Official / Ext | 720p |
— | 360p / 720p / 1080p / 4k; Official: 2160p → 4k |
aspect_ratio |
string |
Official / Ext | 16:9 |
— | 16:9 / 9:16 |
ratio |
string |
Official / Ext | — | — | aspect_ratio |
size |
string |
Official / Ext | — | — | aspect_ratio |
duration |
integer |
Ext | 6 |
— | 4 / 6 / 8 / 10; × video_urls |
seconds |
integer |
Ext | — | — | duration |
image_urls |
string[] |
Official / Ext | [] |
— | HTTP/HTTPS; Official ≤ 10; Ext: frame = 1, reference = 1 / 3 |
first_frame_image |
string |
Official | — | — | HTTP/HTTPS |
last_frame_image |
string |
Official | — | — | HTTP/HTTPS + first_frame_image |
image_with_roles |
object[] |
Official | — | — | [{"url":"https://…","role":"first_frame"}] |
video_urls |
string[] |
Official / Ext | [] |
— | HTTP/HTTPS; ≤ 1; Official ≤ 10s; Ext: × duration |
metadata |
object |
Official | — | — | {"task":"text_to_video"} |
metadata.task |
string |
Official | — | — | text_to_video / image_to_video / reference_to_video / edit / extend |
extend_from_task_id |
string |
Official | — | — | task_…; completed; × video_urls |
generation_type |
string |
Ext | frame |
— | frame / reference |
nsfw_check |
boolean |
Ext | false |
— | true / false |
image_with_roles[].url |
string |
Official | — | ✓ | HTTP/HTTPS |
image_with_roles[].role |
string |
Official | — | ✓ | first_frame / last_frame / reference |
Parameter constraints
- Ext reference mode accepts exactly 1 or 3 images; 2 images with
generation_type: "reference"and a fixeddurationhave no compatible route. For 2 references, use an available Official route withmetadata: {"task":"reference_to_video"}and omitduration,secondsandgeneration_type; output length is automatic. - last_frame_image requires first_frame_image. Choose either explicit frame fields or image_with_roles; do not send both.
- On Ext, duration (and its seconds alias) cannot be combined with video_urls. Official has no fixed-duration parameter.
- ratio and size are aliases of aspect_ratio, not resolution. If multiple aspect-ratio fields are supplied, they must agree. duration and seconds must also agree.
- Each image_with_roles item contains url and role. Use first_frame, last_frame or reference; a last frame requires a first frame. Supply public HTTP/HTTPS media URLs.
- Only the documented JSON fields are accepted. Multipart uploads and fields such as seed, fps, negative_prompt, generate_audio, n and callback_url are not supported by this endpoint.
- video_urls accepts one downloadable video. Official editing/extension input must be at most 10 seconds. Task continuation uses your completed public task ID and stays on its original Official channel.
- nsfw_check is an Ext boolean; the provider default is false. Enabling the optional pre-check may add moderation fees.
Request examples
curl "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gemini-omni-1.1-flash","prompt":"A paper boat floats on a sunlit lake, gentle camera movement.","resolution":"1080p","aspect_ratio":"16:9","metadata":{"task":"text_to_video"}}'
Official · text_to_video
{
"model": "gemini-omni-1.1-flash",
"prompt": "A paper boat floats on a sunlit lake, gentle camera movement.",
"resolution": "1080p",
"aspect_ratio": "16:9",
"metadata": {
"task": "text_to_video"
}
}
Ext · duration
{
"model": "gemini-omni-1.1-flash",
"prompt": "A paper boat floats on a lake.",
"duration": 6,
"resolution": "720p",
"aspect_ratio": "9:16"
}
Official · first_frame_image / last_frame_image
{
"model": "gemini-omni-1.1-flash",
"prompt": "A smooth transition between the two views.",
"first_frame_image": "https://YOUR_PUBLIC_HOST/start.jpg",
"last_frame_image": "https://YOUR_PUBLIC_HOST/end.jpg",
"resolution": "1080p"
}
Official · image_with_roles
{
"model": "gemini-omni-1.1-flash",
"prompt": "A smooth camera movement.",
"image_with_roles": [
{
"url": "https://YOUR_PUBLIC_HOST/start.jpg",
"role": "first_frame"
},
{
"url": "https://YOUR_PUBLIC_HOST/end.jpg",
"role": "last_frame"
}
],
"resolution": "720p"
}
Ext · generation_type=reference
{
"model": "gemini-omni-1.1-flash",
"prompt": "Combine the subjects and visual style from these references.",
"duration": 8,
"generation_type": "reference",
"image_urls": [
"https://YOUR_PUBLIC_HOST/a.jpg",
"https://YOUR_PUBLIC_HOST/b.jpg",
"https://YOUR_PUBLIC_HOST/c.jpg"
],
"resolution": "720p"
}
Official · metadata.task=edit
{
"model": "gemini-omni-1.1-flash",
"prompt": "Keep the scene but change the lighting to sunset.",
"metadata": {
"task": "edit"
},
"video_urls": [
"https://YOUR_PUBLIC_HOST/input.mp4"
],
"resolution": "1080p"
}
Ext · video_urls
{
"model": "gemini-omni-1.1-flash",
"prompt": "Use the camera motion of the reference video.",
"generation_type": "reference",
"video_urls": [
"https://YOUR_PUBLIC_HOST/reference.mp4"
],
"resolution": "720p"
}
Official · extend_from_task_id
{
"model": "gemini-omni-1.1-flash",
"prompt": "Continue the scene with a slow camera move.",
"extend_from_task_id": "task_YOUR_COMPLETED_OFFICIAL_TASK",
"metadata": {
"task": "extend"
},
"resolution": "720p"
}
Query and download
{"id":"task_...","task_id":"task_...","object":"video","model":"gemini-omni-1.1-flash","status":"queued"}
Poll every 5–10 seconds until completed or failed. Download with the same API key. Successful video links appear in the usage log.
curl "https://apimaster.ai/v1/videos/task_..." -H "Authorization: Bearer YOUR_API_KEY"
curl -L "https://apimaster.ai/v1/videos/task_.../content" -H "Authorization: Bearer YOUR_API_KEY" -o video.mp4
queued → in_progress → completed / failed
{"id":"task_...","task_id":"task_...","object":"video","model":"gemini-omni-1.1-flash","status":"completed","progress":100,"url":"https://apimaster.ai/v1/videos/task_.../content","metadata":{"url":"https://apimaster.ai/v1/videos/task_.../content"}}
Google official list prices
2026-10-23 · USD · $17.50 / 1,000,000 output token
| Resolution | Output token/s | Video output USD/s |
|---|---|---|
| 360p | 1,931 | $0.0337925 |
| 720p | 5,792 | $0.10136 |
| 1080p | 8,688 | $0.15204 |
| 4K | 17,376 | $0.30408 |
Input: $1.50 / 1,000,000 token · Text output: $9 / 1,000,000 token.
An estimate is reserved at submission and reconciled against the final provider bill using frozen channel and account price rules. Official input usage can increase the final amount. Failed generation refunds the generation reservation. Model cards and consumption logs show the applicable price.
Google Cloud — Gemini Omni · Google Gemini API
400: invalid parameters · 401: authentication · 402: balance · 503: no compatible route / route unavailable
