88API88API
使用ガイドAIアプリケーションAPIリファレンスヘルプとサポート
ビデオ(Video)

Google 動画 API 仕様

Veo 3.1、Veo 3.1 Fast、Gemini Omni Flash、Gemini Omni 1.1 の呼び出し仕様。

このページは、Google の動画モデル veo-3.1、veo-3.1-fast、gemini-omni-flash、gemini-omni-flash-1.1 の呼び出し仕様です。これらのモデルは、他の動画モデルと同じく POST /v1/videos で作成し、GET /v1/videos/{id} でポーリングします。認証、素材のアップロード、ポーリングのステータス、結果のダウンロード、エラー処理は動画 API 完全呼び出し仕様を参照してください。このページでは、Google の動画モデルに固有のフィールドとルールだけを説明します。

2026-10-10 更新。Google の動画モデルの新しいリクエストはすべてポーリングを使います。callback_url は設定しないでください。

モデル一覧

モデル位置付け解像度長さ主な機能
veo-3.1正式版、画質重視720P / 1080P / 4K4、6、8 秒、デフォルト 8 秒テキストから生成、開始フレーム、開始・終了フレーム、参照画像 1–3 枚、動画延長、ネイティブの同期音声
veo-3.1-fast正式版、速度とコスト重視720P / 1080P / 4K4、6、8 秒、デフォルト 8 秒veo-3.1 と同じ
gemini-omni-flashプレビュー版720P 固定3–10 秒、デフォルト 3 秒テキストから生成、開始フレーム、開始・終了フレーム、参照画像は最大 10 枚(参照動画 1 本と組み合わせ可)
gemini-omni-flash-1.1プレビュー版、生成と編集720P / 1080P / 4K3–10 秒、デフォルト 3 秒テキストから生成、開始フレーム、開始・終了フレーム、参照画像最大 10 枚と参照動画最大 3 本、動画編集、動画延長

共通ルール

  • アスペクト比:ratio(または aspect_ratio)は 16:9 と 9:16 のみに対応し、デフォルトは 16:9 です。
  • 解像度:resolution は 720p、1080p、4k のいずれかで、デフォルトは 720p です。360p を指定した場合は 720P で生成・課金されます。
  • size:1 つのフィールドで解像度とアスペクト比を同時に指定できます。例:1280x720、1080x1920、3840x2160。アスペクト比 16:9 または 9:16 だけを書くこともできます。size、ratio、resolution の値が矛盾すると 400 が返されます。
  • 本数:1 回のリクエストで生成する動画は 1 本で、n は 1 のみです。
  • 画像:1 枚あたり 20 MiB 以下で、次のいずれかの形式で指定します。
    • 公開 HTTPS リンク(推奨)
    • Data URI。例:data:image/png;base64,...
    • プレフィックスなしの PNG、JPEG、WebP の Base64
    • multipart/form-data のファイル。フィールド名は input_reference、image、images、first_frame、last_frame のいずれか
  • 画像形式:Veo は JPEG と PNG のみ、Gemini Omni は PNG、JPEG、WebP に対応しています。
  • 動画:公開 HTTPS リンクのみで、形式は MP4、MOV、WebM、サイズは 64 MiB 以下です。ローカルの動画はローカル素材のアップロードの手順で先にアップロードし、返された url を video に指定します。動画の Data URI、Base64、multipart の動画ファイルは受け付けません。
  • 参照動画のフィールド:トップレベルの video または videos を使い、metadata.referenceVideos は使いません。Google の動画モデルはいずれも参照音声に対応していません。
  • 結果:完了後の video_url は assets.88api.ai 上の MP4 の URL です。そのままダウンロードすることも、次の延長や編集のリクエストで video として使うこともできます。

Veo 3.1 / Veo 3.1 Fast

シナリオリクエストの書き方ルール
テキストから動画生成画像と動画を送らない4、6、8 秒
開始フレームimages に画像 1 枚(image、input_reference、metadata.firstFrame も可)4、6、8 秒
開始・終了フレームimages に画像 2 枚を順番に指定、または metadata.firstFrame と metadata.lastFrame を使用4、6、8 秒
参照画像images に画像 3 枚。参照画像が 1–2 枚の場合は metadata.video_mode: "reference" を追加8 秒固定、最大 3 枚
動画延長task: "extend"、video に動画 1 本1 回につき 7 秒追加。長さ、アスペクト比、解像度、size は送れない
  • metadata.video_mode で frames(開始フレーム、または開始・終了フレーム)か reference(参照画像)を明示的に選べます。task で text_to_video、image_to_video、reference_to_video、extend を指定することもできます。両者が矛盾すると 400 が返されます。
  • generate_audio(または metadata.generateAudio)のデフォルトは true で、ネイティブの同期音声を生成します。false にすると完成動画に音声トラックは付きません。音声の有無は料金に影響しません。
  • negative_prompt(2000 文字以内)と seed(0–4294967295)はトップレベルに書くことも、metadata.negativePrompt、metadata.seed として書くこともできます。
  • 動画延長の入力は 1–30 秒の MP4 である必要があり、「完成動画の長さ − 入力の長さ」で求めた追加秒数で課金されます。
  • Veo は参照動画、参照音声、temperature、top_p に対応していません。

4K のテキストから動画生成:

{
  "model": "veo-3.1",
  "prompt": "雨の夜の街を走る銀色のスポーツカー、ローアングルの追従ショット、ネオンの映り込み、映画のような質感",
  "duration": 8,
  "resolution": "4k",
  "ratio": "16:9",
  "generate_audio": true
}

開始・終了フレーム(2 枚の画像が順に開始フレーム、終了フレームになります):

{
  "model": "veo-3.1-fast",
  "prompt": "早朝の誰もいない広場から、夜に明かりが灯った同じ構図へなめらかに移り変わる",
  "duration": 6,
  "size": "1920x1080",
  "images": [
    "https://cdn.example.com/start.jpg",
    "https://cdn.example.com/end.jpg"
  ],
  "metadata": {
    "negativePrompt": "blur, distortion"
  }
}

参照画像(8 秒固定):

{
  "model": "veo-3.1",
  "prompt": "参照画像の人物の顔と服装を保ったまま、海辺をゆっくり歩く",
  "duration": 8,
  "images": [
    "https://cdn.example.com/character-front.jpg",
    "https://cdn.example.com/character-side.jpg"
  ],
  "metadata": {
    "video_mode": "reference"
  }
}

動画延長:

{
  "model": "veo-3.1",
  "prompt": "現在のショットを続け、人物はそのまま前へ歩き続ける",
  "task": "extend",
  "video": "https://assets.88api.ai/media/task-videos/2026/10/example.mp4"
}

ローカルの画像を開始フレームとしてアップロード(metadata は JSON 文字列として送信):

curl --request POST 'https://api.88api.ai/v1/videos' \
  --header 'Authorization: Bearer sk-xxxx' \
  --form 'model=veo-3.1-fast' \
  --form 'prompt=カメラがゆっくり寄り、背景の雲が自然に流れる' \
  --form 'seconds=8' \
  --form 'size=1280x720' \
  --form 'metadata={"video_mode":"frames"}' \
  --form 'input_reference=@start.jpg;type=image/jpeg'

Gemini Omni Flash / Gemini Omni 1.1

task を指定しない場合、送信した素材によってタスクが決まります。

送信した素材タスク
画像も動画もなしテキストから動画生成
画像 1 枚のみ開始フレームからの生成
first_frame、または first_frame と last_frame(metadata.firstFrame、metadata.lastFrame にも記述可)開始フレーム、または開始・終了フレームからの生成
画像 2 枚以上、画像と動画、または複数の動画参照生成
動画 1 本のみ動画編集(gemini-omni-flash-1.1 のみ)
  • task で text_to_video、image_to_video、reference_to_video、edit、extend を明示的に指定することもできます。
  • Veo とは異なり、images に入れた 2 枚の画像は参照画像として扱われます。開始・終了フレームが必要な場合は first_frame と last_frame を使ってください。
  • 開始・終了フレームのフィールドは、通常の参照画像と併用できません。
  • gemini-omni-flash の出力は 720P のみで、動画編集と動画延長には対応していません。参照動画は参照画像と一緒に送る必要があります。
  • gemini-omni-flash-1.1 は参照画像を最大 10 枚、参照動画を最大 3 本まで受け付けます。
  • 動画編集(1.1):video に動画 1 本を指定し、変更したい内容をプロンプトに書きます。ratio、aspect_ratio、size は送れず、アスペクト比は元の動画のまま引き継がれます。resolution は指定できます。
  • 動画延長(1.1):
    • task: "extend" と 1 本の video を指定します。duration、ratio、size は送れません。
    • 1 回につき約 10 秒追加されます。resolution は 720p(デフォルト)または 1080p で、4K には対応していません。
    • 入力は 1–30 秒の MP4 である必要があります。これより長い動画は、末尾の一部(10 秒を推奨)を切り出してから延長してください。
    • 「完成動画の長さ − 入力の長さ」で求めた追加秒数で課金されます。任意で input_duration(入力動画の秒数)を送れます。実測の長さと 0.1 秒を超えて異なる場合、リクエストは拒否されます。
  • 延長結果は完全な MP4 で、入力部分はモデルによって再生成されます。元の動画に似ていますが、フレーム単位のコピーではありません。つなぎ合わせる場合は元の動画をすべて残し、延長結果のうち入力の長さより後ろの部分だけを切り出して元の動画の後ろにつなげてください。
  • temperature(0–2)と top_p(0–1)は任意で指定できます。Gemini Omni には音声生成のスイッチはありません。

開始フレームからの生成(Flash):

{
  "model": "gemini-omni-flash",
  "prompt": "カメラがゆっくり寄り、焼き菓子から湯気が立ちのぼる",
  "duration": 5,
  "ratio": "9:16",
  "image": "https://cdn.example.com/start.jpg"
}

参照画像と参照動画(1.1、4K):

{
  "model": "gemini-omni-flash-1.1",
  "prompt": "参照動画のカメラのテンポを保ち、被写体を参照画像の製品に置き換える",
  "duration": 8,
  "resolution": "4k",
  "images": ["https://cdn.example.com/product.jpg"],
  "video": "https://cdn.example.com/reference.mp4"
}

動画延長(1.1):

{
  "model": "gemini-omni-flash-1.1",
  "prompt": "現在の場面を続け、水面の波紋が自然に広がっていく",
  "task": "extend",
  "resolution": "1080p",
  "video": "https://assets.88api.ai/media/task-videos/2026/10/example.mp4"
}