Gemini Omni video
gemini-omni-flash-preview returns a 3-10 second 720p MP4 synchronously through the Interactions API, billed by token rather than by second.
gemini-omni-flash-preview is the only Gemini model that outputs video. Unlike every other video model on HopBase it is synchronous: one request returns the finished clip as base64 MP4 in the response body. There is no task ID and no polling.
Endpoint
POST https://api.hop-base.com/v1beta/interactionsPOST /v1/interactions and POST /interactions are accepted as aliases and behave identically.
Chat Completions cannot return the video
Sending gemini-omni-flash-preview to /v1/chat/completions works, but only the text part of the answer comes back — the video block is dropped. Use the Interactions endpoint whenever you want the clip.
Request
Only model and input are required. input takes either a plain string or the native step array, and other native fields such as system_instruction and generation_config pass through unchanged.
curl https://api.hop-base.com/v1beta/interactions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-flash-preview",
"input": "Generate a 3-second video of a red ball slowly rolling on a white background"
}'There is no duration, resolution, or fps parameter. State the length you want in the prompt.
Text, image, and video input are supported. Media is carried either as base64 in data with a mime_type, or as a remote uri. Input video is limited to 10 seconds — the gateway does not check this, so the upstream is what rejects an over-length clip.
Output
| Property | Value |
|---|---|
| Duration | 3-10 seconds |
| Resolution | 720p |
| Frame rate | 24 FPS |
| Container | MP4, returned as base64 |
| Context window | 1,048,576 tokens |
The clip sits in steps[].content[] on the step whose type is model_output:
{
"status": "completed",
"model": "gemini-omni-flash-preview",
"steps": [{
"type": "model_output",
"content": [{ "type": "video", "mime_type": "video/mp4", "data": "<base64-mp4>" }]
}],
"usage": {
"total_input_tokens": 20,
"total_output_tokens": 17819,
"output_tokens_by_modality": [{ "modality": "video", "tokens": 17376 }]
}
}Because the whole MP4 arrives inside the JSON body, responses are large. Size your client buffers accordingly.
Timeouts and limits
Video generation is slow and this endpoint has no asynchronous mode — Prefer: respond-async works for Gemini image generation but not here.
- Set a generous client timeout. The gateway allows up to five minutes for the native endpoint.
- Requests routed through a CDN can be cut off near 100 seconds. This endpoint sends no keep-alive traffic while it waits, so a long generation can surface as a gateway timeout even though nothing is wrong with the request.
- A timed-out request reports no usage, so it is not billed.
- HopBase deliberately does not retry a 504 on this path. Replaying a request whose outcome is unknown would risk generating and paying for the clip twice.
The model ID carries preview. Capabilities and availability can change without notice.
Group
Omni video is served by the Gemini 官方直连 group — the same group and the same key as Gemini chat and Gemini image generation. There is no separate video package to buy. Confirm availability with GET /v1/models and see your effective rates in the signed-in model catalog.
Rates
Official list prices are on the pricing page. Your own rate is the one shown in the signed-in model catalog, and each request's actual charge is in your usage record.
Wan 3.0 and HappyHorse video API
Alibaba Model Studio video generation on HopBase — Wan 3.0 omni-reference clips up to 30s and HappyHorse 1.1 text / image / reference to video, billed only on completed output.
Available models
A production model quick reference and the authoritative way to list models available to a key.