Vertex AI の Veo 動画生成 API

Veo は、動画生成をサポートするモデルの名前です。Veo は、指定されたテキスト プロンプトまたは画像プロンプトから動画を生成します。Veo の詳細については、Veo 動画生成の概要をご覧ください。

コンソールでこのモデルを調べるには、Model Garden に移動して Video Generation モデルカードを確認します。

Vertex AI で Veo を試す(Vertex AI Studio)

Colab で Veo を試す

サポートされているモデル

Veo API は、次のモデルをサポートしています。

HTTP リクエスト

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:predictLongRunning \

-d '{
  "instances": [
    {
      "prompt": string,
      "image": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "lastFrame": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "video": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      },
      "referenceImages": [
        // A list of up to three asset images or at most one style image for the
        // model to use when generating videos.
        //
        // referenceImages is supported by veo-2.0-generate-exp in Preview
        {
        "image:" {
          // Union field can be only one of the following:
          "bytesBase64Encoded": string,
          "gcsUri": string,
          // End of list of possible types for union field.
          "mimeType": string
        },
        "referenceType": string
        }
      ]
    }
  ],
  "parameters": {
    "aspectRatio": string,
    "compressionQuality": string,
    "durationSeconds": integer,
    "enhancePrompt": boolean,
    "generateAudio": boolean,
    "negativePrompt": string,
    "personGeneration": string,
    "resolution": string, // Veo 3 models only
    "sampleCount": integer,
    "seed": uint32,
    "storageUri": string
  }
}'

インスタンス

インスタンス

prompt

string

Text-to-Video に必要です。
入力画像プロンプトが指定されている場合は省略可(画像から動画)。

動画の最初の 8 秒間をガイドするテキスト文字列。例:

  • ネオンサイン、空飛ぶ車、霧、夜、レンズのフレア、ボリューメトリック ライティングが輝く、ディストピア的な大都市の様子を高速で撮影したショット
  • 最高速度で走行する車のネオン ホログラム、光速、映画のようなディテール、ボリューメトリック ライティング
  • 水中で脈動する多数の斑点のあるクラゲ。体は透明であり、深海で光ります
  • 水たまりができている道を、ごく低い目線から極端なクローズアップで捉えた様子。どこか未来を感じさせる忙しない東京の街の雰囲気を、眩いネオン看板や、レンズのフレアが瞬く夜の情景に反映する。
  • 北極の空を舞うオーロラ、きらめく星、雪に覆われた風景をタイムラプスで撮影
  • 柔らかな光、暖かな色の美しい夕陽が降り注ぐ中、1 人のカウボーイが広々とした平原で馬にまたがっている
image

共用体フィールド

省略可。動画生成のガイドとなる画像。画像をエンコードする bytesBase64Encoded 文字列、または Cloud Storage バケットの場所への gcsUri 文字列 URI のいずれかになります。

lastFrame

共用体フィールド

省略可。動画の最初のフレームの画像で、間を埋めます。lastFrame には、画像をエンコードする bytesBase64Encoded 文字列または Cloud Storage バケットの場所への gcsUri 文字列 URI を指定できます。

lastFrameveo-2.0-generate-001 でのみサポートされています。

video

共用体フィールド

省略可。長さを延長する Veo 生成動画。動画をエンコードする bytesBase64Encoded 文字列、または Cloud Storage バケットの場所への gcsUri 文字列 URI のいずれかになります。

videoveo-2.0-generate-001 でのみサポートされています。

referenceImages

list[referenceImages]

省略可。動画の生成時にモデルが使用する referenceImages を説明するアセット画像(最大 3 個)またはスタイル画像(最大 1 個)のリスト。

referenceImages は、プレビュー版veo-2.0-generate-exp でサポートされています。

referenceImages.image

共用体フィールド

省略可。veo-2.0-generate-exp の参照画像が含まれます。これは、主題の入力として使用されます。各画像は、画像をエンコードする bytesBase64Encoded 文字列か、Cloud Storage バケットの場所への gcsUri 文字列 URI のいずれかになります。

referenceImages.referenceType

string

referenceImages オブジェクトで必須。提供される参照画像のタイプを指定します。次の値を使用できます。

  • "asset": 参照画像は、生成された動画のアセット(シーン、オブジェクト、キャラクターなど)を提供します。
  • "style": 参照画像は、生成された動画のスタイル情報(シーンの色、照明、テクスチャなど)を提供します。
bytesBase64Encoded

string

画像ファイルまたは動画ファイルの base64 エンコードされたバイト文字列。次のオブジェクトで使用されます。

gcsUri

string

Cloud Storage バケットの場所への文字列 URI。次のオブジェクトで使用されます。

mimeType

string

次のオブジェクトに必要です。

動画または画像の MIME タイプを指定します。

画像の場合、次の MIME タイプが使用できます。

  • image/jpeg
  • image/png

動画の場合、次の MIME タイプが使用できます。

  • video/mp4

パラメータ

パラメータ
aspectRatio

string

省略可。生成される動画のアスペクト比を指定します。指定できる値は次のとおりです。

  • 16:9(デフォルト値)
  • 9:16
compressionQuality

string

省略可。生成される動画の圧縮品質を指定します。指定できる値は "optimized" または "lossless" です。

デフォルトは "optimized" です。

durationSeconds

integer

必須。生成する動画ファイルの長さ(秒単位)。

指定できる値は次のとおりです。

  • veo-2.0-generate-001: 58。デフォルトは 8 です。
  • veo-3.0-generate-preview: 8
  • referenceImages を使用する場合: 8
enhancePrompt

boolean

省略可。Gemini を使用してプロンプトを強化します。指定できる値は true または false です。デフォルト値は true です。

enhancePromptveo-3.0-generate-001 または veo-3.0-fast-generate-001 ではサポートされていません。

generateAudio

boolean

veo-3.0-generate-preview の場合に必須。動画の音声を生成します。指定できる値は true または false です。

generateAudioveo-2.0-generate-001 または veo-2.0-generate-exp ではサポートされていません。

negativePrompt

string

省略可。モデルが生成しないようにする必要がある内容を記述したテキスト文字列。次に例を示します。

  • 天井の照明、明るい色
  • 人物、動物
  • 複数の車、風
personGeneration

string

省略可。人物や顔の生成を許可するかどうかを制御する安全性設定。次のいずれかになります。

  • allow_adult(デフォルト値): 成人のみの生成を許可します
  • dont_allow: 画像に人物や顔が含まれないようにします
resolution

string

省略可。Veo 3 モデルのみ。生成された動画の解像度。指定できる値は 720p(デフォルト)または 1080p です。

sampleCount

int

省略可。リクエストされた出力動画の数。指定できる値は 14 です。

seed

uint32

省略可。生成される動画を確定するためリクエストする数値。他のパラメータを変更せずにリクエストにシード番号を追加すると、モデルは同じ動画を生成します。

有効な範囲は 04,294,967,295 です。

storageUri

string

省略可。出力動画を保存する Cloud Storage バケットの URI(gs://BUCKET_NAME/SUBDIRECTORY 形式)。Cloud Storage バケットが指定されていない場合、レスポンスで base64 エンコードされた動画バイトが返されます。

サンプル リクエスト

次の例を参考に、独自の動画リクエストを作成してください。

Text-to-Video 生成リクエスト

REST

Vertex AI Veo API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID を表す文字列。
  • MODEL_ID: 使用するモデル ID を表す文字列。指定できる値は次のとおりです。
    • "veo-2.0-generate-001"
    • "veo-3.0-generate-001"
    • "veo-3.0-fast-generate-001"
    • "veo-3.0-generate-preview"(プレビュー)
    • "veo-3.0-fast-generate-preview"(プレビュー)
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケットを表す文字列。指定しない場合、動画のバイト数がレスポンスで返されます。たとえば "gs://video-bucket/output/"
  • RESPONSE_COUNT: 生成する動画ファイルの数。指定できる値の範囲は 14 です。
  • DURATION: 生成された動画ファイルの長さを表す整数。各モデルで使用できる値は次のとおりです。
    • Veo 2 モデル: 58
    • Veo 3 モデル: 8
  • その他のオプション パラメータ

    ユースケースに応じて、次のオプションの変数を使用します。"parameters": {} オブジェクトに次のパラメータの一部またはすべてを追加します。

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: 省略可。生成された動画のアスペクト比を説明する文字列値。次の値を使用できます。
      • 横向きの "16:9"
      • "9:16"(縦向き)

      デフォルト値は "16:9" です。

    • NEGATIVE_PROMPT: 省略可。モデルが生成しないようにするコンテンツを記述した文字列値。
    • PERSON_SAFETY_SETTING: 省略可。人物や顔の生成の安全性設定を制御する文字列値。次の値を使用できます。
      • "allow_adult": 成人の人物とその顔のみが生成されるようにします。
      • "disallow": 人物や顔を生成しません。

      デフォルト値は "allow_adult" です。

    • RESOLUTION: 省略可: 生成された動画の解像度を制御する文字列値。Veo 3 モデルのみでサポートされています。次の値を使用できます。
      • "720p"
      • "1080p"

      デフォルト値は "720p" です。

    • RESPONSE_COUNT: 省略可。生成する動画の数を表す整数値。指定できる値の範囲は 14 です。
    • SEED_NUMBER: 省略可。モデルが確定的な動画を生成するために使用する uint32 値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。指定できる値の範囲は 04294967295 です。

HTTP メソッドと URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

リクエストの本文(JSON):

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": "RESPONSE_COUNT"
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning" | Select-Object -Expand Content
このリクエストは、一意のオペレーション ID を含む完全なオペレーション名を返します。この完全なオペレーション名を使用して、動画生成リクエストのステータスをポーリングします。
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

画像から動画への生成リクエスト

REST

Vertex AI Veo API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID を表す文字列。
  • MODEL_ID: 使用するモデル ID を表す文字列。指定できる値は次のとおりです。
    • veo-2.0-generate-001(一般提供)
    • veo-3.0-generate-preview(プレビュー)
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • INPUT_IMAGE: 入力画像を表す Base64 エンコード文字列。最適な品質を得るには、入力画像の解像度が 720p(1280 x 720 ピクセル)以上で、アスペクト比が 16:9 または 9:16 であることをおすすめします。他のアスペクト比やサイズの画像は、アップロード時にサイズ変更されるか中央で切り抜かれることがあります。
  • MIME_TYPE: 入力画像の MIME タイプを表す文字列。次の MIME タイプの画像のみがサポートされています。
    • "image/jpeg"
    • "image/png"
  • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケットを表す文字列。指定しない場合、動画のバイト数がレスポンスで返されます。たとえば "gs://video-bucket/output/"
  • RESPONSE_COUNT: 生成する動画ファイルの数。指定できる値の範囲は 14 です。
  • DURATION: 生成された動画ファイルの長さを表す整数。各モデルで使用できる値は次のとおりです。
    • Veo 2 モデル: 58
    • Veo 3 モデル: 8
  • その他のオプション パラメータ

    ユースケースに応じて、次のオプションの変数を使用します。"parameters": {} オブジェクトに次のパラメータの一部またはすべてを追加します。

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: 省略可。生成された動画のアスペクト比を説明する文字列値。次の値を使用できます。
      • 横向きの "16:9"
      • "9:16"(縦向き)

      デフォルト値は "16:9" です。

    • NEGATIVE_PROMPT: 省略可。モデルが生成しないようにするコンテンツを記述した文字列値。
    • PERSON_SAFETY_SETTING: 省略可。人物や顔の生成の安全性設定を制御する文字列値。次の値を使用できます。
      • "allow_adult": 成人の人物とその顔のみが生成されるようにします。
      • "disallow": 人物や顔を生成しません。

      デフォルト値は "allow_adult" です。

    • RESOLUTION: 省略可: 生成された動画の解像度を制御する文字列値。Veo 3 モデルのみでサポートされています。次の値を使用できます。
      • "720p"
      • "1080p"

      デフォルト値は "720p" です。

    • RESPONSE_COUNT: 省略可。生成する動画の数を表す整数値。指定できる値の範囲は 14 です。
    • SEED_NUMBER: 省略可。モデルが確定的な動画を生成するために使用する uint32 値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。指定できる値の範囲は 04294967295 です。

HTTP メソッドと URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

リクエストの本文(JSON):

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "image": {
        "bytesBase64Encoded": "INPUT_IMAGE",
        "mimeType": "MIME_TYPE"
      }
    }
  ],
  "parameters": {
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_COUNT
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning" | Select-Object -Expand Content
このリクエストは、一意のオペレーション ID を含む完全なオペレーション名を返します。この完全なオペレーション名を使用して、動画生成リクエストのステータスをポーリングします。
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

アセット画像を使用した動画リクエスト

REST

Vertex AI Veo API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • BASE64_ENCODED_IMAGE: Base64 バイトでエンコードされた被写体の画像。このフィールドと mimeType を繰り返して、最大 3 つの被写体画像を指定できます。
  • IMAGE_MIME_TYPE: 入力画像の MIME タイプ。次のいずれか 1 つのみ:

    • image/jpeg
    • image/png

    このフィールドと bytesBase64Encoded を繰り返して、最大 3 つの被写体画像を指定できます。

  • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケット。指定しない場合、Base64 バイトでエンコードされた動画がレスポンスで返されます。例: gs://video-bucket/output/
  • RESPONSE_COUNT: 生成する動画ファイルの数。指定できるのは整数値(1~4)です。
  • その他のオプション パラメータ

    ユースケースに応じて、次のオプションの変数を使用します。"parameters": {} オブジェクトに次のパラメータの一部またはすべてを追加します。

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: 省略可。生成された動画のアスペクト比を説明する文字列値。次の値を使用できます。
      • 横向きの "16:9"
      • "9:16"(縦向き)

      デフォルト値は "16:9" です。

    • NEGATIVE_PROMPT: 省略可。モデルが生成しないようにするコンテンツを記述した文字列値。
    • PERSON_SAFETY_SETTING: 省略可。人物や顔の生成の安全性設定を制御する文字列値。次の値を使用できます。
      • "allow_adult": 成人の人物とその顔のみが生成されるようにします。
      • "disallow": 人物や顔を生成しません。

      デフォルト値は "allow_adult" です。

    • RESOLUTION: 省略可: 生成された動画の解像度を制御する文字列値。Veo 3 モデルのみでサポートされています。次の値を使用できます。
      • "720p"
      • "1080p"

      デフォルト値は "720p" です。

    • RESPONSE_COUNT: 省略可。生成する動画の数を表す整数値。指定できる値の範囲は 14 です。
    • SEED_NUMBER: 省略可。モデルが確定的な動画を生成するために使用する uint32 値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。指定できる値の範囲は 04294967295 です。

HTTP メソッドと URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

リクエストの本文(JSON):

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      // The following fields can be repeated for up to three total
      // images.
      "referenceImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
            "mimeType": "IMAGE_MIME_TYPE"
          },
          "referenceType": "asset"
        }
      ]
    }
  ],
  "parameters": {
    "durationSeconds": 8,
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_COUNT
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning" | Select-Object -Expand Content
このリクエストは、一意のオペレーション ID を含む完全なオペレーション名を返します。この完全なオペレーション名を使用して、動画生成リクエストのステータスをポーリングします。
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

スタイル画像を使用した動画リクエスト

REST

Vertex AI Veo API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • BASE64_ENCODED_IMAGE: base64 バイトでエンコードされたスタイル画像。
  • IMAGE_MIME_TYPE: 入力画像の MIME タイプ。次のいずれか 1 つのみ。
    • image/jpeg
    • image/png
  • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケット。指定しない場合、動画のバイト数がレスポンスで返されます。たとえば gs://video-bucket/output/
  • RESPONSE_COUNT: 生成する動画ファイルの数。指定できるのは整数値(1~4)です。
  • その他のオプション パラメータ

    ユースケースに応じて、次のオプションの変数を使用します。"parameters": {} オブジェクトに次のパラメータの一部またはすべてを追加します。

    "parameters": {
      "aspectRatio": "ASPECT_RATIO",
      "negativePrompt": "NEGATIVE_PROMPT",
      "personGeneration": "PERSON_SAFETY_SETTING",
      // "resolution": RESOLUTION, // Veo 3 models only
      "sampleCount": RESPONSE_COUNT,
      "seed": SEED_NUMBER
    }
    • ASPECT_RATIO: 省略可。生成された動画のアスペクト比を説明する文字列値。次の値を使用できます。
      • 横向きの "16:9"
      • "9:16"(縦向き)

      デフォルト値は "16:9" です。

    • NEGATIVE_PROMPT: 省略可。モデルが生成しないようにするコンテンツを記述した文字列値。
    • PERSON_SAFETY_SETTING: 省略可。人物や顔の生成の安全性設定を制御する文字列値。次の値を使用できます。
      • "allow_adult": 成人の人物とその顔のみが生成されるようにします。
      • "disallow": 人物や顔を生成しません。

      デフォルト値は "allow_adult" です。

    • RESOLUTION: 省略可: 生成された動画の解像度を制御する文字列値。Veo 3 モデルのみでサポートされています。次の値を使用できます。
      • "720p"
      • "1080p"

      デフォルト値は "720p" です。

    • RESPONSE_COUNT: 省略可。生成する動画の数を表す整数値。指定できる値の範囲は 14 です。
    • SEED_NUMBER: 省略可。モデルが確定的な動画を生成するために使用する uint32 値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。指定できる値の範囲は 04294967295 です。

HTTP メソッドと URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

リクエストの本文(JSON):

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_ENCODED_IMAGE",
            "mimeType": "IMAGE_MIME_TYPE"
          },
          "referenceType": "style"
        }
      ]
    }
  ],
  "parameters": {
    "durationSeconds": 8,
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_COUNT
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning" | Select-Object -Expand Content
このリクエストは、一意のオペレーション ID を含む完全なオペレーション名を返します。この完全なオペレーション名を使用して、動画生成リクエストのステータスをポーリングします。
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

動画生成の長時間実行オペレーションのステータスをポーリングする

動画生成の長時間実行オペレーションのステータスを確認します。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID
  • MODEL_ID: 使用するモデル ID。
  • OPERATION_ID: 元の動画生成リクエストで返された一意のオペレーション ID。

HTTP メソッドと URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

リクエストの本文(JSON):

{
  "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation" | Select-Object -Expand Content
このリクエストは、オペレーションがまだ実行中か完了しているかなど、オペレーションに関する情報を返します。

レスポンスの本文(動画生成リクエスト)

テキストから動画または画像から動画へのリクエストを送信すると、次のレスポンスが返されます。

{
  "name": string
}
レスポンス要素 説明
name 動画生成リクエストの送信後に開始される長時間実行オペレーションの完全なオペレーション名。

レスポンスの例(動画生成リクエスト)

{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

レスポンスの本文(長時間実行オペレーションのポーリング)

元の動画生成の長時間実行オペレーションのステータスをポーリングすると、次のようなレスポンスが返されます。

{
   "name": string,
   "done": boolean,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "raiMediaFilteredCount": integer,
      "videos":[
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
         {
           "gcsUri": string,
           "mimeType": string
         },
      ]
   }
}
レスポンス要素 説明
bytesBase64Encoded 動画オブジェクトを表す Base64 バイトでエンコードされた文字列。
done オペレーションが完了したかどうかを示すブール値。
encoding 動画エンコードのタイプ。
gcsUri 生成された動画の Cloud Storage URI。
name 動画生成リクエストの送信後に開始される長時間実行オペレーションの完全なオペレーション名。
raiMediaFilteredCount 責任ある AI ポリシーにより Veo がフィルタした動画の数を返します。動画がフィルタリングされない場合、返されるカウントは 0 です。
raiMediaFilteredReasons 責任ある AI ポリシーにより除外された Veo 動画の理由を一覧表示します。詳細については、 安全性フィルタのコードカテゴリをご覧ください。
response 長時間実行オペレーションのレスポンス本文。
video 生成された動画。

レスポンスの例(長時間実行オペレーションをポーリング)

{
   "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID",
   "done":true,
   "response":{
      "@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
      "raiMediaFilteredCount": 0,
      "videos":[
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
          "mimeType":"video/mp4"
        },
        {
          "gcsUri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
          "mimeType":"video/mp4"
        }
      ]
   }
}

詳細

次のステップ