Gemini Omni 1.1 Flash
Endpoint
POST /videos/generations
Full URL: https://modelfold.ai/v1/videos/generations
Authentication: every request must include the
Authorization: Bearer <API_KEY>header.
Send model parameters directly in the JSON body. Do not wrap them in input. This request waits for generation to finish and returns data[].url; supported media models also offer async jobs, polling and callbacks. Replace example media URLs with your own publicly accessible files. See API gateway for billing and errors.
Input parameters for the multimodal video generation task.
Request Parameters
Body (application/json)
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | The model name used to generate the task. This field is required. This interface must use the google/gemini-omni-flash-1-1 model. Default:"google/gemini-omni-flash-1-1"。 Allowed values:google/gemini-omni-flash-1-1。 Example:google/gemini-omni-flash-1-1。 |
prompt | string | Yes | Prompt required by the ModelFold gateway; at most 2000 characters. The video prompt, used to describe the visual content, style, cinematography, or character actions of the target video. maxLength: 2000. Example:Generate a short video of a futuristic city at night, with the camera slowly pushing forward as a character emerges from a neon-lit street.。 |
image_urls | array<string> | No | An array of image URLs. Multiple reference images can be uploaded to provide references for characters, scenes, styles, or storyboards. Image limitations: - Each file must not exceed 20MB- Use publicly accessible image URLs - Maximum of 7 images - Note: This field is mutually exclusive with the first-frame image ( first_frame_url) and cannot be provided at the same time. |
first_frame_url | string | No | The URL of the first-frame image. Used to specify the starting frame of the generated video. Note: This field is mutually exclusive with image_urls, audio_ids, video_list, and character_ids and cannot be provided at the same time. Example:https://example.com/assets/first-frame.png。 |
last_frame_url | string | No | The URL of the last-frame image. Used to specify the ending frame of the generated video. Note: The last-frame image cannot be used alone and must be provided together with the first-frame image (first_frame_url). Example:https://example.com/assets/last-frame.png。 |
audio_ids | array<string> | No | An array of audio IDs generated by the gemini-omni-audio interface. Used to provide narration, dialogue, background music, or sound references for the video. Up to 3 items. Note: This field is mutually exclusive with the first-frame image (first_frame_url) and cannot be provided at the same time. |
video_list | array<object> | No | An array of video clips. Each element describes a video asset that can be used for generation and its trimming time range. Video limitations: - Each file must not exceed 100MB- Video duration must not exceed 30s- ends should be greater than start- The difference between the end and start times must not exceed 10s- Maximum of 1 item, occupying two image slots - Note: This field is mutually exclusive with the first-frame image ( first_frame_url) and cannot be provided at the same time. |
video_list[].url | string | Yes | The video URL. Each video file must not exceed 100MB, and the video duration must not exceed 30s. |
video_list[].start | number | Yes | The start time, in seconds. minimum: 0. |
video_list[].ends | number | Yes | The end time, in seconds. It should be greater than start. The difference between the end and start times must not exceed 10 seconds. minimum: 0. |
character_ids | array<string> | No | An array of character IDs generated by the gemini-omni-character interface. Used to provide character appearance, identity, or person references for the video. Up to 3 character IDs. Each uses 1 image slot (2 if created with portrait + body images). Total slots (images + videos × 2 + character slots) ≤ 7. Note: This field is mutually exclusive with the first-frame image (first_frame_url) and cannot be provided at the same time. |
duration | string | Yes | The duration of the generated video, in seconds. Valid values are 4, 6, 8, and 10. This parameter only takes effect when there is no video input. If video input is used, the output duration is determined by the model, and the duration parameter will be ignored. Note: When video input is provided, the output duration is automatically determined by the model. In this case, the duration parameter will not take effect. Allowed values:4 / 6 / 8 / 10。 Example:8。 |
aspect_ratio | string | No | The aspect ratio of the generated video. 16:9 is landscape, and 9:16 is portrait. Allowed values:16:9 / 9:16。 Example:16:9。 |
resolution | string | No | The resolution of the generated video. Valid values are 360p, 720p, 1080p, and 4k. Default:"720p"。 Allowed values:360p / 720p / 1080p / 4k。 Example:720p。 |
seed | integer | No | The random seed. Valid range: [0, 2147483647]. If not specified, the system will automatically generate a seed. A fixed seed can improve result reproducibility, but because the model itself is stochastic, results may still vary. |
Request Example
bash
curl -X POST "https://modelfold.ai/v1/videos/generations" \
-H "Authorization: Bearer $MODELFOLD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-omni-flash-1-1",
"prompt": "Generate a short video of a futuristic city at night, with the camera slowly pushing forward as a character emerges from a neon-lit street.",
"duration": "8",
"resolution": "720p"
}'json
{
"model": "google/gemini-omni-flash-1-1",
"prompt": "Generate a short video of a futuristic city at night, with the camera slowly pushing forward as a character emerges from a neon-lit street.",
"duration": "8",
"resolution": "720p"
}Response
200 — Generation completed. usage contains actual billing details; result URLs are illustrative.
json
{
"ok": true,
"created": 1792134000,
"data": [
{
"url": "https://modelfold.ai/uploads/outputs/result.mp4"
}
],
"usage": {}
}