動画モデル上級者向け更新日
POST/v1/videos/generations
Gemini Omni 1.2 Flash
リクエスト ID gemini-omni-1.2-flash
プロトコル
POST /v1/videos/generations· 動画を生成の例GET /v1/videos/tasks/{id}· 動画タスクを照会の例GET /v1/videos/tasks/{id}/content· 動画をダウンロードの例DELETE /v1/videos/tasks/{id}· 終了済みの動画タスクを削除の例POST /v1/videos/assets· 素材をアップロードの例DELETE /v1/videos/assets/{id}· 素材を削除の例
認証
リクエストには API キー管理 の API キーが必要です。JSON リクエストには Content-Type: application/json を設定します。
Authorization: Bearer YOUR_API_KEY
リクエストパラメータ
POST /v1/videos/generations
| 項目 | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | 必須 | gemini-omni-1.2-flash. このページに記載のモデル ID を指定します。 |
prompt | string | 条件付き | 場面、動き、カメラワークを記述します。 テキスト指示が必要な場合は、この項目か type: "text" の content 項目を使います。 |
content | array<object> | 条件付き | 参照素材と任意のテキスト項目です。prompt のみで生成する場合は省略できます。 開始・終了フレーム、最大 10 枚の参照画像、または 15 秒・64 MB 以内の MP4/MOV 動画 1 本を指定します。入力タイプは分けて使います。 |
content[].type | string | 必須 | 指定できる値は text, image_url, input_image, video_url, input_video です。 |
content[].text | string | 条件付き | type: "text" の項目にプロンプトを指定します。 |
content[].role | string | 条件付き | 開始フレームは first_frame、終了フレームは last_frame です。終了フレームには開始フレームが必要です。 通常の参照画像には reference_image を使用します。 参照動画には reference_video を使用します。 |
content[].asset_id | string | 条件付き | POST /v1/videos/assets に素材をアップロードし、返された id を指定します。multipart では kind(image, video)を file より先に指定します。 |
resolution | string | 任意 | 指定できる値は 360p, 720p, 1080p, 4k です。 既定値は 720p です。 |
ratio | string | 任意 | 出力の縦横比です。aspect_ratio でも指定できます。 指定できる値は 16:9, 9:16 です。 既定値は 16:9 です。 |
duration | integer | 任意 | 出力時間を秒で指定します。 3~15 秒の整数を指定します。 テキスト・参照画像の既定値は 10 秒です。フレーム・延長モードは 3~10 秒です。編集では省略し、延長では追加する長さを指定します。 |
generation_mode | string | 任意 | 指定できる値は auto, t2v, i2v, reference, edit, extend です。 既定値の auto は素材に合うモードを選択します。モードを指定する場合は素材と一致させます。 |
source_task_id | string | 条件付き | 同じモデルで自分が完了・決済したタスクの ID です。アップロード動画と併用できません。 |
リクエスト例
API Key をローカルの環境変数 ICODEEASY_API_KEY に設定し、直接 HTTP 呼び出しに対応するエンドポイントを選択します。指定クライアントが必要な場合は設定ガイドに従ってください。
例のメディア URL とアセット ID は、有効な素材に置き換えてください。
Video Generations
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/generations' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"model": "gemini-omni-1.2-flash",
"prompt": "Slow camera push toward a paper lantern swaying gently by a lake.",
"resolution": "720p",
"ratio": "16:9",
"duration": 5
}'
動画タスクを照会
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
-H "Authorization: Bearer $ICODEEASY_API_KEY"
動画をダウンロード
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID/content' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-L \
-o result.mp4
終了済みの動画タスクを削除
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/tasks/YOUR_TASK_ID' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-i \
-X DELETE
素材をアップロード
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/assets' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-F 'kind=image' \
-F '[email protected];type=image/png'
素材をアップロード · 動画をアップロード
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/assets' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-F 'kind=video' \
-F '[email protected];type=video/mp4'
素材を削除
bash
curl -sS 'https://api.icodeeasy.cc/v1/videos/assets/YOUR_ASSET_ID' \
-H "Authorization: Bearer $ICODEEASY_API_KEY" \
-i \
-X DELETE
レスポンスとタスク
HTTP 202 · タスクの受付
json
{
"id": "vid_1785398400000000000",
"object": "video.generation.job",
"model": "gemini-omni-1.2-flash",
"created_at": "2026-07-30T08:00:00Z",
"status_url": "/v1/videos/tasks/vid_1785398400000000000",
"content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
"status": "queued",
"updated_at": "2026-07-30T08:00:00Z",
"task_id": "vid_1785398400000000000"
}
HTTP 200 · 完了したタスクの取得
json
{
"id": "vid_1785398400000000000",
"object": "video.generation.job",
"model": "gemini-omni-1.2-flash",
"created_at": "2026-07-30T08:00:00Z",
"status_url": "/v1/videos/tasks/vid_1785398400000000000",
"content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
"status": "succeeded",
"updated_at": "2026-07-30T08:01:00Z",
"url": "/v1/videos/tasks/vid_1785398400000000000/content"
}
id を保存します。同じ API キーで status_url に GET リクエストを送り、status が succeeded または failed になるまで確認します。成功後は content_url からダウンロードし、HTTP リダイレクトに従います。どちらのパスも API ベース URL からの相対パスです。
| フィールド | 型 | 説明 |
|---|---|---|
id / task_id | string | タスク ID。作成レスポンスの task_id は id と同じです。 |
status | string | 状態は queued、running、succeeded、failed のいずれかです。 |
progress | integer | 生成の進捗。進捗値が得られない場合は省略されます。 |
error.code | string | タスクが失敗した場合のエラー分類。 |
主なエラー
| HTTP | エラータイプ | 説明 |
|---|---|---|
| 400 | invalid_request | モデル、パラメーターの組み合わせ、参照メディアを確認します。 |
| 401 | unauthorized | API キーが未指定、無効、または停止済みかどうかを確認します。 |
| 402 | insufficient_balance | タスクの送信に必要な残高が不足しています。 |
| 404 | not_found | 照会が 404 の場合はタスク ID を保存し、照会 URL と作成元アカウントの API キーを確認します。既に完了している可能性があるため、この応答だけで再送信しないでください。 |
| 409 | video_not_ready | 動画は生成中です。引き続き状態を確認してください。 |
| 503 | submission_unknown | 送信結果を確認できません。再送信する前にサポートへタスク作成の有無を確認してください。 |
接続ガイド · リクエスト項目、タスクの状態、レスポンス形式は API ガイドを参照してください。
機能と制限
text_to_video· 対応image_to_video· 対応first_frame· 対応last_frame· 対応reference_images· 対応video_input· 対応audio· 未公開- 制限 解像度: 360p, 720p, 1080p, 4k · アスペクト比: 16:9, 9:16 · 長さ: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 · 参照画像:最大 10 枚 · 入力:Use 3–10 seconds with first and last frames or extension. Edit or extend one video up to 15 seconds and 64 MB. Editing follows the source duration.