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": "2枚の参照画像の人物と衣装を維持したまま、庭を歩く",
"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 動画生成
- 同一のパラメータセット、2つのモデル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": "2枚の参照画像の人物と衣装を維持したまま、庭を歩く",
"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 以上、1枚あたり 10MB 以下
string | string[]
参照動画の URL。オプション、最大 1 本。単一の文字列として渡すことも可能です。参照画像と一緒に渡すことができます。動画要件:
- フォーマット:MP4、MOV
- 長さは 10 秒以内
- 100MB 以下
- 短辺 300px 以上
video_length を渡さないでください。出力動画の長さはアップロードされた動画に従い、最長 10 秒となります。参照動画は 7 スロットのクォータのうち 2 枠としてカウントされます。string
必須
リクエスト元のタスク ID。ユーザー定義のタスク識別子。必須。英数字、アンダースコア、ハイフンのみ対応し、長さは 1〜64 文字です。後からこの ID を使用してタスクのステータスと結果を照会できます。
Response
string
呼び出し元タスク ID。結果照会に使えます。
string
初期状態。通常は
"pending"。number
このタスクの推定消費クレジット。
string
作成時刻。ISO 形式。
Query Task
これら2つのモデルはいずれも非同期動画生成です。タスクを送信後、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": "2枚の参照画像の人物と衣装を維持したまま、庭を歩く",
"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": "内部サーバーエラーが発生しました。しばらくしてから再試行してください"
}
}