curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_1_1_flash_ext",
"params": {
"prompt": "保持两张参考图的人物和服装,在花园里走路",
"image_url": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
],
"resolution": "1080p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_11_img2_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "保持参考视频的主体和运镜,光线更干净",
"video_url": ["https://example.com/reference.mp4"],
"resolution": "4K",
"aspect_ratio": "16:9"
},
"out_task_id": "omni_ext_v2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_1_1_flash_ext",
"params": {
"prompt": "用参考图里的人物,跟随参考视频的运镜",
"image_url": ["https://example.com/ref-1.jpg"],
"video_url": ["https://example.com/reference.mp4"],
"resolution": "720p",
"aspect_ratio": "16:9"
},
"out_task_id": "omni_11_img_v2v_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "gemini_omni_flash_ext",
params: {
prompt: "一个女孩在阳光花园里高兴地跳舞,电影感",
resolution: "720p",
aspect_ratio: "16:9",
video_length: "6"
},
out_task_id: "omni_ext_t2v_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "gemini_omni_flash_ext",
"params": map[string]interface{}{
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6",
},
"out_task_id": "omni_ext_t2v_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "gemini_omni_flash_ext",
"params" => [
"prompt" => "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution" => "720p",
"aspect_ratio" => "16:9",
"video_length" => "6"
],
"out_task_id" => "omni_ext_t2v_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "omni_ext_t2v_123456",
"status": "pending",
"estimated_credits": "<预估消耗额度>",
"created_at": "2026-08-28T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "请求参数无效",
"ok": false
}
{
"error": {
"code": 401,
"message": "身份验证失败,请检查您的API密钥"
}
}
{
"error": {
"code": 433,
"message": "账户余额不足,请充值后再试"
}
}
{
"error": {
"code": 500,
"message": "服务器内部错误,请稍后重试"
}
}
Gemini Omni Flash Ext / 1.1
Gemini Omni Flash Ext 视频生成
- 同一套参数,两个模型 ID:
gemini_omni_flash_ext(1.0)和gemini_omni_1_1_flash_ext(1.1) - 异步处理模式,返回任务 ID 用于后续查询
- 支持文生、最多 7 张参考图、可选 1 段参考视频;图和视频可以同时传
- 支持 720p / 1080p / 4K,时长仅 4 / 6 / 8 / 10 秒
POST
/
api
/
openapi
/
submit
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_1_1_flash_ext",
"params": {
"prompt": "保持两张参考图的人物和服装,在花园里走路",
"image_url": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
],
"resolution": "1080p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_11_img2_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "保持参考视频的主体和运镜,光线更干净",
"video_url": ["https://example.com/reference.mp4"],
"resolution": "4K",
"aspect_ratio": "16:9"
},
"out_task_id": "omni_ext_v2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_1_1_flash_ext",
"params": {
"prompt": "用参考图里的人物,跟随参考视频的运镜",
"image_url": ["https://example.com/ref-1.jpg"],
"video_url": ["https://example.com/reference.mp4"],
"resolution": "720p",
"aspect_ratio": "16:9"
},
"out_task_id": "omni_11_img_v2v_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "gemini_omni_flash_ext",
params: {
prompt: "一个女孩在阳光花园里高兴地跳舞,电影感",
resolution: "720p",
aspect_ratio: "16:9",
video_length: "6"
},
out_task_id: "omni_ext_t2v_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "gemini_omni_flash_ext",
"params": map[string]interface{}{
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6",
},
"out_task_id": "omni_ext_t2v_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "gemini_omni_flash_ext",
"params" => [
"prompt" => "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution" => "720p",
"aspect_ratio" => "16:9",
"video_length" => "6"
],
"out_task_id" => "omni_ext_t2v_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "omni_ext_t2v_123456",
"status": "pending",
"estimated_credits": "<预估消耗额度>",
"created_at": "2026-08-28T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "请求参数无效",
"ok": false
}
{
"error": {
"code": 401,
"message": "身份验证失败,请检查您的API密钥"
}
}
{
"error": {
"code": 433,
"message": "账户余额不足,请充值后再试"
}
}
{
"error": {
"code": 500,
"message": "服务器内部错误,请稍后重试"
}
}
1.0 和 1.1 共用本页参数。换模型只改
model 字段。gemini_omni_flash_ext— Gemini Omni Flash Ext(1.0)gemini_omni_1_1_flash_ext— Gemini Omni 1.1 Flash Ext
Authorizations
string
必填
所有接口均需要使用 Bearer Token 进行认证。获取 API Key:访问 API Key 管理页面 获取您的 API Key。使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY
Body
string
必填
模型名称,二选一:
gemini_omni_flash_extgemini_omni_1_1_flash_ext
type。object
必填
模型参数对象。
显示 params 对象属性
显示 params 对象属性
string
必填
视频生成的文本描述。必填。
string
默认值:"6"
生成视频时长,单位为秒。只接受字符串:
"4""6"- 默认值"8""10"
不要传
3、5、7、9 或其他秒数。枚举校验要求字符串,请传 "6" 而不是数字 6。string
默认值:"720p"
输出分辨率:
720p- 默认值1080p4K
string
默认值:"16:9"
视频宽高比:
16:9- 横屏,默认值9:16- 竖屏
string | string[]
参考图 URL,必须可由公网直接访问。也可传单张字符串。不传就是文生视频。
- 最多 7 张,允许 2 张
- 短边不小于 300px,单张不超过 10MB
string | string[]
参考视频 URL,可选,最多 1 段。也可传单段字符串。可以和参考图一起传。视频要求:
- 格式 MP4、MOV
- 时长不超过 10 秒
- 不超过 100MB
- 短边不小于 300px
video_length,输出时长跟随上传视频,最长 10 秒。参考视频按 2 个名额计入 7 槽配额。string
必填
发起方任务 ID。用户自定义的任务标识,必填。仅支持字母、数字、下划线和横线,长度为 1-64 个字符。后续可使用该 ID 查询任务状态和结果。
Response
string
发起方任务 ID,可用于查询结果。
string
初始状态,通常为
"pending"。number
本次任务的预估消耗额度。
string
创建时间,ISO 格式。
Query Task
这两个模型都是异步视频生成。提交任务后,请使用out_task_id 查询任务状态。也可参见 获取任务状态。
string
必填
提交任务时传入的发起方任务 ID。
curl --request POST \
--url https://aireiter.com/api/openapi/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"out_task_id": "omni_ext_t2v_123456"
}'
output 数组会包含生成的视频,元素含 video 字段。
参数对照
| 输入 | image_url | video_url | 时长 |
|---|---|---|---|
| 文生 | 不要传,或空数组 | 不要传 | video_length "4" / "6" / "8" / "10" |
| 参考图 | 1–7 张(含 2 张) | 不要传 | 同上 |
| 参考视频 | 不要传,或空数组 | 1 段,最长 10 秒 | 不要传 video_length,跟随片源 |
| 图 + 视频 | 最多 5 张(图片数 + 2 ≤ 7) | 1 段,最长 10 秒 | 不要传 video_length,跟随片源 |
Request Examples
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_1_1_flash_ext",
"params": {
"prompt": "保持两张参考图的人物和服装,在花园里走路",
"image_url": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
],
"resolution": "1080p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_11_img2_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "保持参考视频的主体和运镜,光线更干净",
"video_url": ["https://example.com/reference.mp4"],
"resolution": "4K",
"aspect_ratio": "16:9"
},
"out_task_id": "omni_ext_v2v_123456"
}'
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gemini_omni_1_1_flash_ext",
"params": {
"prompt": "用参考图里的人物,跟随参考视频的运镜",
"image_url": ["https://example.com/ref-1.jpg"],
"video_url": ["https://example.com/reference.mp4"],
"resolution": "720p",
"aspect_ratio": "16:9"
},
"out_task_id": "omni_11_img_v2v_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "gemini_omni_flash_ext",
params: {
prompt: "一个女孩在阳光花园里高兴地跳舞,电影感",
resolution: "720p",
aspect_ratio: "16:9",
video_length: "6"
},
out_task_id: "omni_ext_t2v_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "gemini_omni_flash_ext",
"params": map[string]interface{}{
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6",
},
"out_task_id": "omni_ext_t2v_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String payload = """
{
"model": "gemini_omni_flash_ext",
"params": {
"prompt": "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution": "720p",
"aspect_ratio": "16:9",
"video_length": "6"
},
"out_task_id": "omni_ext_t2v_123456"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "gemini_omni_flash_ext",
"params" => [
"prompt" => "一个女孩在阳光花园里高兴地跳舞,电影感",
"resolution" => "720p",
"aspect_ratio" => "16:9",
"video_length" => "6"
],
"out_task_id" => "omni_ext_t2v_123456"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "omni_ext_t2v_123456",
"status": "pending",
"estimated_credits": "<预估消耗额度>",
"created_at": "2026-08-28T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "请求参数无效",
"ok": false
}
{
"error": {
"code": 401,
"message": "身份验证失败,请检查您的API密钥"
}
}
{
"error": {
"code": 433,
"message": "账户余额不足,请充值后再试"
}
}
{
"error": {
"code": 500,
"message": "服务器内部错误,请稍后重试"
}
}