Gemini Omni 1.1 Flash
gemini-omni-1.1-flash
A multimodal model for video generation and editing, with a single API covering text-to-video, image-to-video, reference-image-to-video, and video editing, layered output from draft to 4K with a built-in audio track
Try gemini-omni-1.1-flash
Input
Showcases
View all showcasesOutput
videoPricing
gemini-omni-1.1-flash per video
Positioning Overview
Gemini Omni 1.1 Flash is a multimodal model released by Google for video generation and editing scenarios, and it is called on HiAPI.ai through a unified interface. On a single pipeline, it covers text-to-video, image-to-video, reference-image-to-video, and video editing. It can modify existing clips and extend scenes according to natural-language instructions, and it uses first and last frames to control camera movement and transitions. Output duration ranges from 4 to 10 seconds, with resolutions selectable from 360p to 4k. It is suitable for developers and content teams that need high-frequency draft creation, multi-round iteration, and a unified generation and editing workflow.
Key Highlights
- Generation and editing unified in the same model — text generation, image generation, reference generation, and video editing share a single call path, reducing the cost of switching between multiple models.
- A layered workflow from low-resolution drafts to 4K — you can first use 360p for fast test iterations, and after confirming the direction, produce output at 720p, 1080p, or 4k, balancing efficiency and final quality.
- First and last frames control camera movement — by setting the first-frame and last-frame images, you can constrain the camera direction and transitions, making the motion of narrative clips more controllable.
- Reference materials participate in generation — you can pass up to 7 images as references, and video input and first-frame settings are mutually exclusive, with clear boundaries for input conditions.
Capability Description
Multiple video generation modes: supports four task types: text-to-video, image-to-video, reference-image-to-video, and video-to-video. Developers choose the input method based on the available materials, and the output is uniformly a video asset.
Natural-language video editing: by describing the modification intent in a prompt, you can redraw and adjust an existing video without rebuilding the entire generation pipeline.
Scene extension: by passing an existing video clip as input, you can continue the content on that basis to build a longer continuous narrative.
First and last frame camera constraints: first_frame_url and last_frame_url can be used together to fix the start and end frames and control camera movement and transition pacing.
Selectable resolution and aspect ratio: resolutions support 360p, 720p, 1080p, and 4k, and aspect ratios support 16:9 and 9:16, making it easy to adapt to landscape and portrait placements.
Applicable Scenarios
- Creative teams quickly producing video drafts — input a script or first-frame image and quickly generate multiple drafts at low 360p resolution for script review and direction selection.
- Advertising and social content production — use reference images plus prompts to generate 16:9 or 9:16 clips, and after confirmation, upscale them to high resolution for placement materials.
- Modifying and extending existing materials — take an existing video as input and use natural-language instructions to modify the visuals or extend the clip for post-production adjustments to the final cut.
- Narrative clips that require precise transitions — set first and last frames to constrain the start and end of the camera, producing cinematic clips with controlled motion for storyboard previews.
Limitations and Model Selection Advice
The model's single output duration is limited to 4 to 10 seconds; longer content needs to be generated in segments and then stitched together. 360p results are more suitable as drafts and should not be used directly as the final cut. When a first-frame image is passed, image or video input cannot be added on top of it, and last_frame_url must be used together with first_frame_url, so there are constraints on input combinations. Flash is positioned toward speed and iteration efficiency. If a task has strict image-quality requirements or needs a longer single-segment duration, other models should be evaluated during model selection, and actual test results should be taken as the basis.
What's new
View changelog →- Parameter change Updated gemini-omni-1.1-flash docs
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: gemini-omni-1.1-flash
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for gemini-omni-1.1-flash and route default — see the parameter table below.
seedintegerOptionalmin 0max 2147483647Random seed used to control the randomness of generation results; pass an integer to reproduce identical output.
promptstringRequiredminLength 1maxLength 20000Text prompt describing the content you want to generate, in string form.
durationintegerRequiredDefault: 8min 4max 10Duration of the generated video, as an integer, default 8.
46810image_urlsarrayOptionalminItems 0maxItems 7Array of reference image URLs, with elements being image address strings, used to provide image input for generation.
Array [ string ]
resolutionstringOptionalDefault: "720p"Resolution of the generated video, as a string, default 720p.
360p720p1080p4kvideo_listarrayOptionalmaxItems 1
Array of video clips, each element containing a video address and start/end times, used to specify the interval of the input video to use.
Array [ object ]
Array items
urlstringRequiredminLength 1The video address of the array element, as a string, pointing to a single video file.
endsnumberOptionalmin 0End time of this video clip, as a number.
startnumberOptionalDefault: 0min 0Start time of this video clip, as a number, default 0.
aspect_ratiostringOptionalDefault: "16:9"Aspect ratio of the generated video, as a string, default 16:9.
16:99:16last_frame_urlstringOptionalminLength 1URL of the last frame image, as a string, specifying the ending frame of the generated video.
first_frame_urlstringOptionalminLength 1URL of the first frame image, as a string, specifying the starting frame of the generated video; required when last_frame_url is provided.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-1.1-flash",
"input": {
"prompt": "…",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gemini-omni-1.1-flash",
input: {
"prompt": "…",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "gemini-omni-1.1-flash",
"input": {
"prompt": "…",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "16:9"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
LTX 2.5 Fast Lightricks $0.086 /second -
Kling 4.0 Kuaishou $0.330 /second -
Kling 3.0 Kuaishou $0.100 /second -
Kling AI Avatar Kuaishou -- -
Grok Imagine 1.5 xAI $0.011 /second -
Vidu Q4 Preview Vidu $0.051 /second -
Vidu Q3 Vidu $0.149 /second -
HeyGen Avatar IV HeyGen $0.150 /second -
Kling 2.5 Kuaishou $0.060 /second -
Ray 3.2 Luma $0.214 /video -
Wan 2.7 Video Alibaba $0.100 /second -
MiniMax H3 MiniMax $0.072 /second
Same Provider
-
Nano Banana 2 Google $0.036 /image -
Nano Banana 2 Lite Google $0.033 /image -
Imagen 4 Google $0.030 /image -
Gemini Omni Google -- -
Nano Banana Google $0.021 /image -
Veo 3.1 Fast Google $0.170 /second -
Veo 3.1 Google $0.290 /second -
Lyria 3.5 Google $0.090 /song -
Nano Banana Pro Google $0.057 /image -
Google Virtual Try-On Google $0.107 /image -
Veo 3.1 Lite Google $0.060 /second -
Lyria 3 Pro Google $0.140 /song
