mcpField
G
google-veo

google-veo

github.com/calesthioクリエイティブ・メディア221125 回インストール15 週間前に更新
リポジトリ

google-veo について

Google Veoで動画ショットを制作するためのガイドです。APIルートやモデルごとの仕様を整理し、納品要件に応じた生成方式の選択と事前確認を支援します。

主な機能

  1. 01GeminiとEnterpriseのAPIルート比較
  2. 02Standard、Fast、Liteモデルの選択
  3. 03テキスト・画像・フレーム指定生成の計画
  4. 04参照画像と動画延長の利用
  5. 05モデルとエンドポイントの差異確認

活用シーン

  1. 01納品要件に応じたルート選択
  2. 02始点や終点を固定したショット制作
  3. 03参照画像による被写体の一貫性維持
  4. 04生成前の音声・解像度対応確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/calesthio/generative-media-skills --skill google-veo

インストール後、Claude Code で/google-veoを入力して読み込まれたか確認します。

同梱ファイルEVAL.md

詳細

Google Veo で生成する

Veo へのリクエストは、汎用的なテキスト生成ではなく、ショット制作の依頼として扱ってください。生成前に、アクセス経路、モデル、入力モード、ショットの要件、納品上の制約を確定してください。

エビデンスラベルを正しく読む

  • 文書化済みとは、Google の最新の公式 API ドキュメント、モデルカード、ポリシー、または技術レポートに記載されていることを意味します。
  • 公式評価とは、Google が測定または報告したことを意味します。独立した優位性として言い換えないでください。
  • 制作上のヒューリスティックとは、文書化されたインターフェースと一般的なショット制作上の制約から導かれる、実用的な運用上の推奨事項です。プロバイダーによる保証ではありません。
  • ドキュメントの不整合とは、Google の最新ページ間で記述が食い違っているか、汎用スキーマにはフィールドがあるものの、選択したモデルのモデルカードではサポートされていない状態を指します。推測せず、低コストの事前テストを実行してください。

このスキルに記載されている変動する情報は、すべて 2026-07-09 に確認済みです。有料の本番実行の前に、モデルのライフサイクル、クォータ、料金、リージョンの提供状況、利用規約を再確認してください。

Veo が適切な Google 動画モデルか確認する

Veo の最初/最後のフレーム制御、アセット参照、延長、確立されたパブリッシャー・モデル連携、または Veo 固有の音声仕様が役立つショット生成ワークフローには Veo を使用してください。動画の理解や文字起こしには、このスキルを使用しないでください。

現在の製品に関する公式ガイダンス: Google の Gemini API 動画概要では、マルチモーダルな一貫性、キャラクターの一貫性、事実の正確性、会話形式の複数ターンにわたる動画編集の標準モデルとして、Gemini Omni Flash が推奨されています。また、シーンの延長、最後のフレームの制御、従来のパイプラインとの連携などの機能には Veo 3.1 を位置付けています。これはプロバイダーによるモデル選択のガイダンスであり、独立した品質の証明ではありません。依頼が単に「動画を作る」であり、Veo 固有の制御を必要としない場合は、利用を決める前に現在の Google 動画モデルを比較してください。Gemini API での動画生成を参照してください。

まずアクセス経路を決める。「Veo 3.1」は単一の API 仕様ではありません

Gemini Developer API

API キーによるアクセス、1 回のリクエストにつき 1 つの出力、Veo 3.1 がネイティブに生成する音声を求める場合は、Gemini Developer API を使用してください。

文書化済み、2026-07-09 に確認:

  • 現在のモデル ID は veo-3.1-generate-preview、veo-3.1-fast-generate-preview、veo-3.1-lite-generate-preview です。
  • これらはプレビューモデルで、テキストと画像の入力を受け付け、動画を 1 つ返し、動画とともに音声を生成します。Standard と Fast は 720p、1080p、4K に対応しています。Lite は 720p と 1080p に対応していますが、4K と延長には対応していません。
  • クリップの長さは 4 秒、6 秒、8 秒ですが、1080p、4K、参照画像、延長を使用するジョブでは 8 秒が必要です。出力は 24 fps です。プロンプトの上限は 1,024 トークンです。
  • REST では POST https://generativelanguage.googleapis.com/v1beta/models/{MODEL}:predictLongRunning に x-goog-api-key を付けて送信します。返されたオペレーションは GET https://generativelanguage.googleapis.com/v1beta/{operationName} でポーリングします。保持期間内に、API キーを使って返された URI からダウンロードしてください。
  • 生成ファイルは Google のサーバーに 2 日間保存されます。Gemini API の延長経路では、以前のオペレーションで生成した Veo の 720p 動画を受け取り、7 秒を追加できます。結合後の入力が文書化された上限内であれば、最大 20 回まで繰り返せます。

最新のGemini Veo ガイド、Gemini の料金、Gemini リリースノートを参照してください。

Gemini Enterprise Agent Platform / Vertex パブリッシャーモデルルート

安定したモデル ID、IAM、Cloud Storage、リージョンガバナンス、プロンプトごとに最大 4 種類のバリエーション、Provisioned Throughput、または Cloud のセキュリティ制御が重要な場合は、Google Cloud ルートを使用してください。現在の Google ドキュメントでは Gemini Enterprise Agent Platform と呼ばれていますが、以前の統合や環境フラグには、引き続き Vertex AI と記載されている場合があります。

2026-07-09 に確認したドキュメントの内容:

  • 安定版 ID は veo-3.1-generate-001 と veo-3.1-fast-generate-001 です。veo-3.1-lite-generate-001 はプレビュー版です。
  • 廃止されたプレビュー版 ID の veo-3.1-generate-preview と veo-3.1-fast-generate-preview は、このルートでは 2026 年 4 月 2 日が廃止日でした。Gemini Developer API のプレビュー版 ID を Cloud パブリッシャーモデルルートにコピーしないでください。
  • 安定版 Standard と Fast のモデルカードでは、テキストから動画、画像から動画、最初と最後のフレームの生成、動画の延長、アセット参照画像に対応しています。Lite はテキスト/画像/延長に対応し、参照画像には対応していません。Lite の最初と最後のフレームへの対応については、公式ドキュメントの記載に矛盾があります。Veo 3.1 モデルカードには対応するとありますが、専用の最初/最後のフレームガイドには Standard と Fast のみが記載されています。モデル固有の事前確認に成功するまでは、Lite の最初/最後のフレームへの対応は未確認として扱ってください。
  • このルートでは、1~4 個の出力、4/6/8 秒のクリップ、9:16 または 16:9、24 fps、MP4、Cloud Storage への出力に対応しています。参照画像を使った生成は 8 秒です。4K の提供状況についても、公式の Cloud ドキュメント間で記載に矛盾があります。モデルカードと延長ガイドには 4K とありますが、現在のモード別生成ガイドでは "4k" は引き続きプレビュー版のみとされています。REST では小文字の "4k" を使用し、利用を約束する前に、対象のエンドポイントとモードで事前確認してください。現在のモデルカードには us-central1 が記載されています。デプロイ前にロケーションを確認してください。
  • 現在の Enterprise モデルカードでは従量課金はサポートされていません。本番環境での利用量に応じてこのルートを選ぶ前に、固定クォータまたは Provisioned Throughput を確認してください。
  • REST では、OAuth を使用して POST https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT}/locations/us-central1/publishers/google/models/{MODEL}:predictLongRunning に送信します。POST .../publishers/google/models/{MODEL}:fetchPredictOperation と本文 {"operationName":"..."} を使用してポーリングします。

最新の Veo 3.1 モデルカード、モデルのライフサイクル、動画 API ガイドを参照してください。

ルートごとの違いを平板化しないでください
コントラクトGemini Developer APIEnterprise Agent Platform パブリッシャーモデル
認証x-goog-api-keyOAuth / ADC
現行 Standard IDveo-3.1-generate-previewveo-3.1-generate-001
現行 Fast IDveo-3.1-fast-generate-previewveo-3.1-fast-generate-001
現行 Lite IDveo-3.1-lite-generate-previewveo-3.1-lite-generate-001(プレビュー)
1 回の呼び出しあたりの出力数11~4
出力の受け渡し方法一時的な Gemini ファイル URIインライン結果または storageUri / GCS URI
オペレーションのポーリングGET v1beta/{operationName}POST ...:fetchPredictOperation
ネイティブ音声現行の 3.1 バリアントでは常に有効モデル固有。下記の警告を参照
安定版 3.1 ID文書化されたものはありませんStandard と Fast の -001

ドキュメントの不足 — 音声: Gemini Developer API では、3 つの 3.1 バリアントすべてでネイティブ音声が常に有効だと明記されています。2026-07-09 の Cloud モデルカードでは、Enterprise Standard と Fast は音声生成をサポートしていない一方、Enterprise Lite はサポートしていると記載されています。ただし、一般的な Cloud パラメータスキーマには generateAudio が含まれています。一般的なフィールド一覧ではなく、選択したモデルのモデルカードに従ってください。Cloud の音声が納品要件の場合は、代表的な事前確認を 1 回実行し、予算を確定する前に実際の音声ストリームを確認してください。generateAudio が存在するというだけで、Enterprise Standard/Fast がネイティブな会話音声を生成できると約束してはいけません。現行の Cloud モデルカードを正式な参照元としてください。

ドキュメントの不足 — 一般的なフィールド: VideoGenerationModelInstance には、カメラ制御、マスク、スタイル参照、動画編集用のフィールドがありますが、Veo 3.1 のカードには、オブジェクトの挿入・削除とスタイル参照画像はサポートされないと記載されています。スキーマが表すのはリクエストの形式であり、すべてのモデルの機能ではありません。スキーマと選択したモデルカードの両方に基づいて判断してください。

制作目標に合わせて Veo のバリアントを選択する

  • 最終的なヒーローショット、難しい動き、顔の演技、精密な雰囲気、または利用可能な中で最高のルート品質が、スループットより重要な場合は、Standardを選択してください。これは制作上のヒューリスティックです。Google は、あらゆる制作依頼に当てはまる普遍的な品質順位を公表していません。
  • ストーリーボード、クリエイティブの A/B テスト、ショットリストの検討、大規模な広告配信、レイテンシに敏感なサービスには、Fastを選択してください。Google は、Fast を速度とビジネス用途向けに位置付けています。
  • 低コストで大量に反復する場合は、Liteを選択してください。Gemini Developer API では、動画の延長や 4K 出力ができず、参照画像も受け付けません。Enterprise では現行のモデルカードによると動画の延長と音声に対応していますが、参照画像には引き続き対応していません。
  • 長期運用する本番環境の統合には、安定版の Enterprise -001 モデルを使用してください。Developer API のプレビューモデルは、特にネイティブ音声が必要で、プレビュー版のライフサイクルに伴うリスクを受け入れられる場合にのみ使用してください。
  • 新しい Gemini Developer API の統合に Veo 2 または Veo 3 の ID を使用しないでください。現行の Gemini ドキュメントでは、これらは非推奨とされています。Cloud では、廃止時期が発表されていない安定版の Veo 2/3 ID が引き続き掲載されている一方、移行ガイダンスでは新しい統合に Veo 3.1 を推奨しています。現行のライフサイクルページに記載がない限り、Cloud の ID を廃止済みと表現しないでください。

文書化された価格のスナップショット、Gemini Developer API、2026-07-09: Standard は音声ありで 720p/1080p が 1 秒あたり USD $0.40、4K が $0.60 です。Fast は 720p/1080p/4K で 1 秒あたり $0.10/$0.12/$0.30、Lite は 720p/1080p で 1 秒あたり $0.05/$0.08 です。Veo に無料枠はありません。この情報は日付付きの予算算定用データとして扱い、恒久的な価格表と見なさないでください。公式の料金ページで再確認してください。

ショットごとに生成モードを 1 つ選択する

テキストから動画を生成

構図に柔軟性があり、試行錯誤に価値がある場合に使用します。プロンプトで、被写体、動作、設定、ルック、カメラ、照明、タイミング、そして音声に対応したコントラクトでは音を指定します。

最初のフレームの画像から動画を生成

冒頭の構図、製品のデザイン、キャラクターの外見、ブランドカラーを固定する必要がある場合に使用します。入力画像が最初のフレームになります。プロンプトには動きと音声を指定し、モデルがピクセル情報とテキストのどちらを優先するか迷うほど、画像を詳しく言い直さないでください。

制作上のヒューリスティック: 画像は目標のアスペクト比に合わせ、動きの方向に十分な空間を確保し、字幕を焼き込まず、不可能な遮蔽を避け、要求する動作を開始できる現実的なポーズにします。

最初と最後のフレーム

両方の端点が重要な場合に使用します。たとえば、製品を閉じた状態から開いた状態への変化、昼から夜への変化、ビフォー/アフター、または制御されたトランジションなどです。最初の画像はimageとして、最後の画像はlastFrame/last_frameとして渡します。2枚の画像は、利用可能な4~8秒の間に実現可能なトランジションを描写している必要があります。

制作上のヒューリスティック: 両端点で、人物や物体の同一性、レンズの種類、カメラの高さ、シーンの構造、光の向きを一貫させます。2つの別々のシーンを説明するのではなく、フレーム間の動きを指定してください。同一性や視点が大きく変わると、モーフィングが発生しやすくなります。

アセット参照画像/素材

最大3枚のasset画像を使用して、ショット全体で人物、キャラクター、製品、衣装、または物体の同一性を保ちます。Gemini Developer APIでは、StandardとFastのみが対応しており、現在のGeminiドキュメントによると、LiteではreferenceImagesを利用できません。Enterpriseでは、StandardとFastがアセット参照に対応しています。Liteは対応していません。

  • referenceImagesはガイダンス用のアセットであり、開始フレームではありません。
  • 開始フレームにはimageを使用します。現在の仕様では、同じインスタンスでimageとreferenceImagesを併用できません。
  • 汎用スキーマではこの参照タイプが定義されていますが、Veo 3.1はEnterpriseルートでstyle参照画像に対応していません。
  • 見やすい画像セットを使用します。異なる角度や構成要素を含め、外見に一貫性を持たせ、可能な限り背景をニュートラルにし、対象について矛盾するバージョンを含めないでください。
拡張

別のショットを作成するよりも、既存のVeoクリップとの連続性が重要な場合に使用します。

  • Gemini Developer API:入力には、以前のVeo生成で得られたVideoオブジェクトを使用する必要があります。動画は720p、16:9または9:16、最大141秒で、かつ引き続き利用可能である必要があります。拡張のたびに7秒が追加され、返される動画には元の動画と拡張部分が含まれます。
  • Enterprise:現在のドキュメントでは、24 fps、720p/1080p/4K、9:16/16:9の1~30秒のMP4を受け付け、7秒の拡張を返します。Geminiの保持ルールを適用せず、各ルート固有のガイドを使用してください。
  • 拡張は最後の1秒/24フレームを条件として生成されます。この最後の1秒に音声が含まれていない場合、セリフや音声の連続性は保証されません。

制作上のヒューリスティック: 次の展開だけを書きます。対象、移動方向、カメラの動き、照明、背景音を維持してください。前のクリップ全体を要約しないでください。要約すると、動作が繰り返されたり、最初からやり直されたりすることがあります。

Veo のショット仕様を書く

Google が公開しているプロンプト要素は、被写体、動作、スタイル、カメラ位置/動き、構図、フォーカス/レンズ効果、雰囲気です。音声対応のルートでは、セリフ、効果音、環境音の指定も受け付けます。これらの要素から、一貫した時間的な出来事を組み立てます。

言語の制約、2026-07-09 に確認済み: Gemini のドキュメントでは、英語は完全にサポートされており、その他のプロンプト言語は評価されていません。Enterprise のカードに記載されているのも英語です。英語以外のプロンプトや音声セリフを使う場合は、対象ルートで事前にテストしてください。正確なローカライズ、法的文言、発音が必要な場合は、ネイティブ生成の忠実度を保証するのではなく、ADR またはポストプロダクションを計画してください。

明確さに役立つ場合は、次の順序を使います。必須の構文ではありません。

  1. ショットとフレーミングを指定します。
  2. 安定した被写体と設定を示します。
  3. 始まり、展開、終わりのある主要な動作を 1 つ描写します。
  4. 支配的なカメラ動作を 1 つ指示します。
  5. レンズ/フォーカス、光、色調、質感、メディアを追加します。
  6. ルートが音声に対応している場合は、音声を別の文で指定します。
  7. 必要な場合に限り、安定させる要素を指定します。

制作上の目安: 8 秒のクリップでは、物語を展開できる余地はほとんどありません。場所は 1 か所、支配的なカメラ移動は 1 つ、焦点となる動作は 1 つにし、短いやり取りは多くても 1 回にします。1 つのプロンプトに小規模なモンタージュを無理に詰め込むのではなく、カットは複数のショットに分けて生成します。

カメラの用語

位置、フレーミング、動きを区別します。

  • 位置:アイレベル、ローアングル、俯瞰、空撮。
  • フレーミング:極端なクローズアップ、クローズアップ、ミディアム、ワイド、ツーショット。
  • 動き:パン、チルト、ドリー/プッシュ、引き、トラック、ペデスタル、アーク、クレーン、手持ち、ウィップパン、ドローン。
  • 光学:マクロ、広角、望遠圧縮、浅い/深い被写界深度、ラックフォーカス。

ショットに複合的な動きが明確に必要な場合を除き、支配的な動きは 1 つにします。「ミディアムからクローズアップへゆっくりプッシュイン」は、カメラ動作を 5 つ並べるより実行しやすい指定です。

Cloud の汎用インスタンススキーマでは、画像から動画への生成専用に cameraControl も定義されており、fixed、pan_left、pan_right、tilt_up、tilt_down、truck_left、truck_right、pedestal_up、pedestal_down、push_in、pull_out を指定できます。これはモデルによって利用可否が異なる API フィールドとして扱ってください。プロンプトの動きと列挙値が矛盾する組み合わせは避けてください。

音声の指定

Gemini Developer API では、Veo 3.1 の音声は常に有効です。次の 3 つの層を分けて指定します。

  • セリフ:話者、話し方、短い正確なセリフを特定します。
  • 効果音:留め金のクリック音、注ぐ音、足音、エンジンの回転音など、同期させる個別の出来事を指定します。
  • 環境音:室内の環境音、波音、遠くの交通音、虫の声など、持続する音の背景を指定します。

クリップの長さに収まるよう、セリフは短くします。音声の指示は別の文にします。正確な文言、アクセシビリティ、ローカライズ、法的文言が重要な場合は、ネイティブ音声を要求する場合でも、ポストプロダクションで音声を差し替えるかミックスする計画を立ててください。

Google の Developer API ガイドでは引用符で囲んだセリフが例示されていますが、現在の Cloud のベストプラクティスページでは、画面に意図しない文字が描画されるのを減らすため、コロンを使い、引用符は付けないことが推奨されています。ルート固有の例に従ってください。複数のルートで堅牢に使えるプロンプトにするには、Speaker says: exact line を使い、意図しない画面上の文字がないか確認してください。

ネガティブプロンプト

negativePrompt / negative_prompt は、視覚的な失敗の種類を指定するために使い、創作の中心となる指示には使わないでください。Google は指示文ではなく、名詞や属性のリストを推奨しています。例:extra fingers, duplicate product, warped logo, subtitles, on-screen text, jump cuts。do not show text のような指示文は避けてください。

安全フィルターを回避したり、禁止コンテンツを間接的に要求したりするために、ネガティブプロンプトを使わないでください。

プロンプトの拡張とシード
  • Enterprise のプロンプト書き換え機能は詳細を追加し、Veo 3 と 3.1 では必須で、無効にできません。書き換えられたプロンプトが返されるのは、元のプロンプトが30語未満の場合のみです。
  • 汎用スキーマで非推奨となった enablePromptRewriting は効果がありません。代わりに enhancePrompt を使用しますが、選択したモデルによっては引き続き拡張が強制される場合があります。
  • シードを指定すると再現性がわずかに向上しますが、Google は決定性を保証しないと明示しています。sampleCount > 1 の場合、シードを指定しても、サービスは出力ごとに異なる乱数シードを使用します。プロンプトの拡張により、再現性はさらに低下します。

送信したプロンプト、ルート、モデル ID、入力ハッシュ、設定、オペレーション名、返された URI、選択した出力を記録してください。完全に同一のビット単位の再生成を約束しないでください。

スキーマを正確に使用する

Gemini Developer API:Python SDK のパターン
import time
from google import genai
from google.genai import types

client = genai.Client()  # GEMINI_API_KEY
operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=PROMPT,
    image=START_IMAGE,  # omit for text-to-video
    config=types.GenerateVideosConfig(
        last_frame=END_IMAGE,       # omit unless interpolating
        aspect_ratio="16:9",
        duration_seconds=8,
        resolution="1080p",
        number_of_videos=1,
        negative_prompt="subtitles, on-screen text, duplicate objects",
    ),
)

while not operation.done:
    time.sleep(10)
    operation = client.operations.get(operation)

if not operation.response or not operation.response.generated_videos:
    raise RuntimeError(f"No video returned: {operation}")

generated = operation.response.generated_videos[0]
client.files.download(file=generated.video)
generated.video.save("shot.mp4")

参照アセットの場合は、image と last_frame を省略し、config.reference_images に VideoGenerationReferenceImage(..., reference_type="asset") オブジェクトを指定します。拡張の場合は、前回返された Video を video として渡し、720p をリクエストし、互換性のない画像フィールドは省略します。

Gemini Developer API:REST の形式
{
  "instances": [{
    "prompt": "A single coherent shot...",
    "image": {"inlineData": {"mimeType": "image/png", "data": "BASE64"}},
    "lastFrame": {"inlineData": {"mimeType": "image/png", "data": "BASE64"}}
  }],
  "parameters": {
    "aspectRatio": "16:9",
    "durationSeconds": 8,
    "resolution": "1080p",
    "sampleCount": 1,
    "negativePrompt": "subtitles, on-screen text, duplicate objects"
  }
}

image、lastFrame、referenceImages、video はインスタンス内に指定します。生成制御は parameters に指定します。referenceImages を parameters に移動しないでください。

Enterprise のパブリッシャーモデル REST の形式
{
  "instances": [{
    "prompt": "A single coherent shot...",
    "image": {
      "gcsUri": "gs://bucket/input/start.png",
      "mimeType": "image/png"
    }
  }],
  "parameters": {
    "storageUri": "gs://bucket/output/shot-01/",
    "sampleCount": 4,
    "durationSeconds": 8,
    "aspectRatio": "16:9",
    "resolution": "1080p",
    "personGeneration": "allow_adult",
    "negativePrompt": "subtitles, on-screen text, duplicate objects",
    "seed": 17321
  }
}

現在の Cloud リファレンスでは、JPEG/PNG 画像を bytesBase64Encoded または gcsUri として受け付けます。汎用の VideoGenerationModelInstance では、image、video、referenceImages は相互に排他的です。lastFrame には image が必要で、referenceImages には prompt が必要です。インスタンススキーマについては VideoGenerationModelInstance、パラメーターについては VideoGenerationModelParams を参照してください。

長時間実行ジョブを安全に運用する

  1. 送信前に、ルート、モデル ID、入力の互換性、課金/クォータ、リージョン、出力先を検証します。Enterprise では、固定クォータまたは Provisioned Throughput を確認してください。従量課金方式が利用できると想定しないでください。
  2. 返されたオペレーション名をすぐに保存します。プロセスの再起動後もジョブを再開できるようにしてください。
  3. 適度な間隔でポーリングします。Google の例では、Gemini は10秒、Cloud は15秒です。一時的な429/5xx応答にはジッターを加えた指数バックオフを使用し、ポーリングに失敗しただけで生成を再送信しないでください。
  4. 通常の生成レイテンシーより長いウォールクロックタイムアウトを設定します。ただし、課金対象の処理を重複させずに後からポーリングを継続できるよう、オペレーション名は保持してください。Gemini のドキュメントでは、ピーク時の所要時間は11秒から6分とされています。
  5. 完了時には、出力を読み取る前にオペレーションレベルのエラーを確認します。空または短い結果セットは、成功ではなくフィルタリングまたは生成失敗として扱ってください。
  6. 出力は速やかにダウンロードまたはコピーします。Gemini のファイルは2日後に期限切れになります。Cloud の出力は、保持ポリシーとライフサイクルルールを適用した管理下のバケットに書き込んでください。
  7. 返されたすべてのファイルをメディアツールで検査し、再生時間、フレームレート、アスペクト比、解像度、コーデック、音声ストリームの有無、デコードエラーを確認します。

Cloud のイベント駆動型ワークフローでは、汎用パラメータースキーマで pubsubTopic を利用できます。権限と選択したモデルのパスを確認したうえで使用し、復旧手段としてポーリングも維持してください。

最初のフレームだけでなく、生成されたショットを確認する

通常速度で全編を確認し、フレーム単位で抜き取り確認し、音声も確認します。

技術的な確認項目
  • ファイルが最初から最後までデコードできる。
  • 再生時間、24 fps、解像度、アスペクト比がリクエストと一致する。
  • 音声の有無がルート/モデルの仕様と一致し、セリフが明瞭で映像と同期している。
  • 想定外の黒フレーム、末尾の静止、破損フレーム、クリッピング、深刻な圧縮アーティファクトがない。
一貫性と仕上がりの確認
  • 被写体の同一性、製品の形状、衣装、シーンのレイアウトが安定しています。
  • 主な動作がショット内ではっきりと完了します。
  • カメラの動きが、説明のつかないカットを挟まず、理解しやすい一連の動きになっています。
  • 手、接触、液体、反射、テキスト、ロゴ、オブジェクトの数が、時間経過を通じて確認しても維持されています。
  • 最初と最後のフレームを指定するジョブでは、直前にモーフィングせず、両方の意図した構図に到達します。
  • 延長はソースの末尾から連続して始まり、動きの方向、光、環境音、音声がリセットされません。
編集と音声の確認
  • オープニングフレームは編集で使えるイン点となり、最終フレームは使えるアウト点になります。
  • 話し言葉は用途に十分な精度で、話者の声が入れ替わりません。
  • SFXは目に見えるイベントに合わせて発生し、環境音が脈打ったり消えたりしません。
  • 意図しない字幕、疑似テキスト、プロバイダー由来の表示以外のウォーターマーク、許可されていないマークが表示されません。
  • プロンプトの内容を知らなくても、ショットから意図したビートが伝わります。

1つのレイヤーを変更して修正する

失敗考えられる原因最初に試す修正
被写体がずれる、または製品が変形する変更が多すぎる、アンカーが弱いクリーンな最初のフレーム、または1~3個のアセット参照を使い、動作の複雑さを抑えます
カメラが指示に従わない相反するカメラの動詞、または動作の詰め込みすぎカメラの動きを1つだけ指定し、開始時と終了時のフレーミングを示します。二次的な動きを削除します
最初と最後の補間でモーフィングが起きる両端で同一性、形状、レンズ、または光が異なる互換性のある両端を作り直し、つなぎとなる動作だけを説明します
延長時にリセットされるプロンプトで前のシーンを要約している、または末尾の動きが安定していない次のビートだけを説明し、末尾の動きの方向と環境音を維持します
台詞が崩れる単語数や話者数が多すぎる、タイミングが短すぎる1行の台詞、または1回のやりとりに短縮します。正確さが重要な場合は、後処理で音声を生成します
不要なテキストが表示される引用した台詞、看板、または細かいタイポグラフィコロン形式の台詞を使い、ネガティブプロンプトに subtitles, on-screen text, letters を追加します
動きがせわしない4~8秒にビートが多すぎる1つの動作の流れを選び、別々のショットに分けます
シードで再現できないサンプリングが非決定的、またはプロンプトが書き換えられている近似的な再現性を許容し、選んだ出力をマスターとして保持します
API がフィールドを拒否するルート、モデル、スキーマの不一致ルートとモデルの正確なモデルカードおよびリクエスト形式を照合し、サポートされていない汎用フィールドを削除します
入力画像が失敗する未対応の MIME、破損した base64/GCS の権限、サイズやアスペクト比の問題デコード、JPEG/PNG MIME、バイト列/URI へのアクセス、サイズ、対象のアスペクト比を確認します
安全性によるブロック、または出力数の減少プロンプト/入力/出力フィルターサポートコードを確認し、リスクのある内容や許可されていない内容を削除します。フィルターを回避しないでください
音声必須の Cloud ジョブが無音になるルート固有の音声サポートとの不一致サポートされている音声仕様を使うか、音声を別途生成します。未対応のフィールドを切り替えないでください

映像品質に問題がある場合、診断中はルートとモデルを固定してください。プロンプト、入力アンカー、長さ、カメラのいずれか1つだけを一度に変更します。API の契約に問題がある場合は、クリエイティブな反復に入る前に契約を修正してください。

完全な制作例

例 1 — ネイティブ音声を使った、Gemini Developer API による縦型製品紹介ショット

目的: 実際の製品の一貫性を保ち、同期した音声を含む、9:16 の 8 秒間のソーシャルメディア向けヒーローショットを作成します。

ルートとモデル: Gemini Developer API、veo-3.1-generate-preview。

入力: 同じエスプレッソマシンを写した、使用許可済みの PNG アセット参照 3 点:前方斜め、コントロールパネル、カップ台。開始フレームはありません。すべての参照で、同一の製品構成が示されています。

完全なプロンプト:

Vertical 9:16 premium product film, one continuous shot. A compact brushed-steel espresso machine matching the reference images stands centered on a dark walnut counter in a quiet dawn kitchen. Begin in a medium close-up at control-panel height. A warm amber button illuminates; the portafilter locks with a precise quarter turn; a thin caramel stream fills a small white cup as steam catches the window light. The camera makes one slow, smooth push-in and ends on the crema and the unchanged machine logo area. Shallow depth of field, realistic stainless-steel reflections, restrained warm palette, clean commercial lighting, no people.

Audio: quiet kitchen room tone, one crisp metal latch click, a soft pump hum, liquid pouring into ceramic, and a gentle steam hiss. No music and no speech.

設定:

front_ref = types.VideoGenerationReferenceImage(
    image=front_image,
    reference_type="asset",
)
panel_ref = types.VideoGenerationReferenceImage(
    image=panel_image,
    reference_type="asset",
)
platform_ref = types.VideoGenerationReferenceImage(
    image=platform_image,
    reference_type="asset",
)

operation = client.models.generate_videos(
    model="veo-3.1-generate-preview",
    prompt=prompt,
    config=types.GenerateVideosConfig(
        reference_images=[front_ref, panel_ref, platform_ref],
        aspect_ratio="9:16",
        duration_seconds=8,
        resolution="1080p",
        number_of_videos=1,
        negative_prompt="people, hands, subtitles, on-screen text, duplicate cups, duplicate machine, warped product geometry",
    ),
)

この構成にする理由: 製品のアイデンティティは参照画像に任せ、プロンプトでは単一の動作の流れ、1 つのカメラワーク、照明、4 つの可聴イベントを指定します。参照画像を使うジョブでは 8 秒が必要です。このルートではネイティブ音声が文書化されています。

期待される結果: 音声付きの 1080p 縦型 MP4 が 1 本生成されます。マシンの特徴が維持され、ラッチ音、注出音、蒸気音が目に見えるイベントと同期します。

起こりやすい失敗と復旧方法: マシンの外観が変化する場合は、最も一貫性の低い参照画像を削除し、ポルタフィルターの動作を簡略化します。音が不自然に重なる場合は、環境音、ラッチ音、注出音だけに減らします。製品ロゴが疑似テキストになる場合は、ロゴのない参照画像を使うか、承認済みのロゴをポストプロダクションで合成します。

意義のあるバリエーション: 内部の A/B テストには Fast を使い、その後、承認済みのプロンプトを Standard で再実行します。バリエーション間で出力が同一になるとは主張しないでください。

例 2 — Enterprise Fast を使った 4 本同時生成の無音ストーリーボード

目的: サウンドは別途制作し、ガバナンスの整った Cloud ワークフローで編集用に選定するための、16:9 の導入ショット候補を 4 本生成します。

ルートとモデル: Gemini Enterprise Agent Platform のパブリッシャーモデルルート、veo-3.1-fast-generate-001。

完全なプロンプト:

One continuous cinematic establishing shot of a solar-powered research station on a basalt plateau just before sunrise. Three adult field researchers in orange weather shells cross from left to right toward the lit entrance while low fog streams around the buildings. Begin with a wide, low-angle view and perform one slow truck right parallel to the researchers. Deep focus, cool blue predawn light with a thin warm horizon, realistic wind movement, grounded documentary photography, restrained pacing. End with the entrance centered and the researchers still moving right.

リクエスト本文:

{
  "instances": [{"prompt": "One continuous cinematic establishing shot of a solar-powered research station on a basalt plateau just before sunrise. Three adult field researchers in orange weather shells cross from left to right toward the lit entrance while low fog streams around the buildings. Begin with a wide, low-angle view and perform one slow truck right parallel to the researchers. Deep focus, cool blue predawn light with a thin warm horizon, realistic wind movement, grounded documentary photography, restrained pacing. End with the entrance centered and the researchers still moving right."}],
  "parameters": {
    "storageUri": "gs://production-bucket/veo/research-station/v01/",
    "sampleCount": 4,
    "durationSeconds": 8,
    "aspectRatio": "16:9",
    "resolution": "1080p",
    "personGeneration": "allow_adult",
    "negativePrompt": "subtitles, on-screen text, logos, jump cuts, duplicate people, deformed hands",
    "seed": 80421
  }
}

非同期シーケンス: OAuth を使って :predictLongRunning パブリッシャーモデルエンドポイントにリクエストを送信し、name を保存してから、そのモデル固有の :fetchPredictOperation をポーリングします。返された GCS URI を読み取り、4 本すべてのファイルを検証します。

この構成にする理由: Fast と 4 本の出力により、効率的に候補を選定できます。プロンプトで地理的な位置関係、進行方向、単一のカメラパスを固定することで、バリエーションを編集上比較しやすくします。現在の Standard/Fast Enterprise カードでは音声生成がサポートされていないため、この計画はネイティブ音声に依存しません。

期待される結果: 指定したバケットに、最大 4 本の 8 秒間の候補が生成されます。4 本未満の場合は部分的な結果、またはフィルタリングされた結果として記録する必要があります。

起こりやすい失敗と復旧方法: 人数が増えすぎる場合は、2 人に減らすか、最初のフレームで固定します。トラックの走行が弧を描く場合は、サポートされている cameraControl と競合しないことを確認したうえで、エンドポイントのサポートを確認してから、文章によるカメラの指示を、画像から動画を生成する事前検証に置き換えます。すべてのバリエーションで同様に失敗する場合は、モデルを変更する前にショットの仕様を修正します。

例 3 — 最初と最後のフレームを指定した変形

意図: カメラやブランド表現を変えずに、承認済みのパッケージが平らなカートンから組み立て済みのディスプレイパックへ折りたたまれる様子を示します。

ルートとモデル: Cloud との安定した統合には Enterprise veo-3.1-generate-001 を使用します。ネイティブの生成音声が必要な場合は、代わりに Gemini Developer API Standard を使用します。

入力: 平らなカートンの開始 PNG と組み立て済みパックの終了 PNG を用意します。どちらも 16:9 で、同じ卓上、レンズ、カメラの高さ、光の方向、色調、承認済みアートワークを使用します。

完全なプロンプト:

Static eye-level tabletop product shot. The flat die-cut carton in the first frame folds along its real crease lines in a physically plausible sequence: side walls rise, tabs tuck inward, the top closes, and the assembled display pack settles precisely into the final-frame position. Keep the camera fixed, preserve the printed artwork, proportions, tabletop, shadows, and soft north-window lighting. One continuous transformation with no cuts, no hands, and no extra objects.

完全な Enterprise REST 設定: インスタンスに prompt、image、lastFrame を指定し、生成制御パラメーターは parameters に指定します。

{
  "instances": [{
    "prompt": "Static eye-level tabletop product shot. The flat die-cut carton in the first frame folds along its real crease lines in a physically plausible sequence: side walls rise, tabs tuck inward, the top closes, and the assembled display pack settles precisely into the final-frame position. Keep the camera fixed, preserve the printed artwork, proportions, tabletop, shadows, and soft north-window lighting. One continuous transformation with no cuts, no hands, and no extra objects.",
    "image": {"gcsUri": "gs://approved-inputs/carton-flat.png", "mimeType": "image/png"},
    "lastFrame": {"gcsUri": "gs://approved-inputs/carton-assembled.png", "mimeType": "image/png"}
  }],
  "parameters": {
    "durationSeconds": 8,
    "aspectRatio": "16:9",
    "resolution": "1080p",
    "sampleCount": 2,
    "storageUri": "gs://approved-output/veo/carton-fold/",
    "negativePrompt": "hands, extra panels, duplicate package, rewritten artwork, subtitles, camera movement"
  }
}

この構成にする理由: エンドポイントで正確な構図を指定し、プロンプトではその間をつなぐ部分だけを説明します。撮影ジオメトリを合わせることで、形状変化の負荷を軽減できます。

期待される結果: 指定したフレームから始まり、指定したフレームで終わる連続した補間が生成されます。

起こりやすい失敗と対処法: パネルが溶けるように変形する場合は、折りたたみの手順を簡略化するか、別ショットとしてよりつながりやすい中間の終了ポーズを作成します。アートワークがずれる場合は、ロゴなしの生成用素材を使い、承認済みアートワークをポストプロダクションで合成します。法的表示が必要なパッケージでは、生成された文字に頼らないでください。

例 4 — 連続性を保った Developer API での延長

意図: 以前に生成した折り紙の鳥の Veo ショットを、映像や音声をリセットせずに続けます。

入力条件: 以前の Gemini Veo Video オブジェクトが保持されており、720p です。最後の 1 秒には、鳥が右方向へ滑空する様子と、紙の翼がこすれる音、静かな庭の環境音が含まれています。

完全な延長プロンプト:

Continue the same shot without a cut. Track right at the existing speed as the origami bird glides beneath the arch, banks gently toward camera, and lands on the stone fountain rim. Preserve its blue paper pattern, afternoon light, garden layout, motion direction, shallow depth of field, paper-wing rustle, and quiet garden ambience. End after the bird becomes still on the rim.

設定: 以前に返された Video を video として渡し、veo-3.1-generate-preview、resolution="720p"、duration_seconds=8、出力数 1 を指定します。

この構成にする理由: 次の場面だけを説明し、つなぎ目で重要な連続性の制約を繰り返しています。音声の環境音は、元の映像の末尾にすでに含まれています。

期待される結果: 返されたファイルには、元の動画と 7 秒の延長部分が結合されています。

起こりやすい失敗と対処法: 鳥の位置がリセットされる場合は、末尾の 1 秒で動きが安定してつながるように、元の動画をトリミングするか再生成します。音声が急に変わる場合は、生成した延長部分を映像素材として使い、ポストプロダクションで連続した音声を作成します。

権利、同意、来歴、安全性の確認

プロンプトや参照素材を送信する前に、以下を確認してください。

  1. 入力するすべての画像、動画、音声、商標、デザイン、キャラクター、映像素材、肖像について、使用権を確認してください。
  2. 識別可能な人物や、生体情報・肖像の使用について、法的に十分な同意を得てください。欺瞞的ななりすましや、同意のない親密なコンテンツを作成しないでください。
  3. 安全性ブロックを回避する隠れみのとして、公人、私人、子ども、著作権で保護されたキャラクターを利用しないでください。現在の Cloud の安全性コードには、子ども、有名人、第三者のコンテンツ、性的コンテンツ、暴力、ヘイト、その他のカテゴリが明示的に含まれています。
  4. 現実のニュース、選挙、紛争、犯罪、製品の性能について、合成された「証拠」を作らないでください。合理的な視聴者が誤解する可能性がある場合は、合成による演出であることを明記してください。
  5. 来歴を保持してください。Gemini Veo の出力には SynthID が付与され、Enterprise のモデルカードには C2PA のサポートも記載されています。来歴メタデータを削除したり、偽ったり、AI 生成のクリップを人間のみが作成したと主張したりしないでください。
  6. パッケージの文言、推奨表現、規制対象の主張、編集目的のニュース利用、センシティブな歴史描写について、法務・ブランドレビューを実施してください。生成されたテキストや事実を示すデモは、証拠にはなりません。
  7. 実際のデプロイで使うプロンプト一式を用いて、表現やステレオタイプをテストしてください。Google の Veo 3 技術レポートでは、職業を十分に指定していない一部のプロンプトで肌の色が明るい人に偏る傾向と、意味上のバイアスリスクが報告されています。人口統計情報は、関連性があり、許可されている場合にのみ指定し、中立性を前提とせず出力を確認してください。

Google の生成 AI 禁止使用ポリシーでは、危険・違法な行為、権利侵害、同意のない生体情報の使用、欺瞞的ななりすまし、安全性対策の回避、有害な性的・暴力的・ヘイト行為、来歴に関する誤解を招く表現を禁止しています。Gemini API 追加規約には、Google は生成コンテンツの所有権を主張しないものの、ユーザーはその使用について引き続き責任を負い、類似の出力が他のユーザー向けに生成される場合があると記載されています。無償サービスでは、プロンプトや出力が製品改善に使用され、人間によるレビューが行われることがあります。機密情報や個人情報を送信しないでください。記載されている有料サービスの規約では、プロンプトや応答は製品改善に使用されません。選択した利用経路に適用される規約を確認してください。

同じ Gemini API の規約では、ユーザーは 18 歳以上であることが求められ、18 歳未満の人を対象とする、またはその人がアクセスする可能性のある API クライアントは禁止されています。また、EEA、スイス、英国で提供する API クライアントには、有料サービスの利用が求められています。これらは利用経路ごとのデプロイ要件として扱い、公開前に最新の規約を再確認してください。

生成がブロックされた場合は、エラーコードまたはサポートコードを確認し、理由を記録したうえで、正当で安全なコンセプトに修正するか、停止してください。フィルターを回避するために「ジェイルブレイク」を試みたり、婉曲表現を使ったり、禁止されたリクエストを分割したりしないでください。

情報源の網羅範囲とエビデンスの限界

Veo があらゆる場合に優れていると主張するために、サードパーティのベンチマークは使用していません。このスキルにおけるモデル選択は、検証済みのインターフェース機能と本番環境への適合性に基づいています。

コメント