Vertex AI の Veo 動画生成 API

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

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

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

Colab で Veo を試す

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

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

詳細については、Veo モデルをご覧ください。

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
      },
      "mask": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string,
        "maskMode": 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 the following models:
        //
        // *   veo-2.0-generate-exp (Preview)
        // *   veo-3.1-generate-preview (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, // Veo 2 models only
    "generateAudio": boolean,
    "negativePrompt": string,
    "personGeneration": string,
    "resizeMode": string, // Veo 3 image-to-video only
    "resolution": string, // Veo 3 models only
    "sampleCount": integer,
    "seed": uint32,
    "storageUri": string
  }
}'

インスタンス

インスタンス

prompt

string

テキストから動画を作成するために必要です。
入力画像プロンプトが指定されている場合は省略可(画像から動画)。

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

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

共用体フィールド

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

lastFrame

共用体フィールド

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

lastFrame は次のモデルでサポートされています。

  • veo-2.0-generate-001 (Preview)
  • veo-3.0-generate-exp (Preview)
  • veo-3.1-generate-preview (Preview)
  • veo-3.1-fast-generate-preview (Preview)
  • veo-3.1-generate-001
  • veo-3.1-fast-generate-001
video

共用体フィールド

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

video は次のモデルでサポートされています。

mask

共用体フィールド

省略可。動画に適用して、動画からオブジェクトを追加または削除するマスクの画像。mask には、画像をエンコードする bytesBase64Encoded 文字列または Cloud Storage バケットのロケーションへの gcsUri 文字列 URI を指定できます。

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

referenceImages

list[referenceImages]

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

referenceImages は次のモデルでサポートされています。

referenceImages.image

共用体フィールド

省略可。題材の入力として使用される参照画像が含まれます。各画像は、画像をエンコードする 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
  • image/webp

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

  • video/mov
  • video/mpeg
  • video/mp4
  • video/mpg
  • video/avi
  • video/wmv
  • video/mpegps
  • video/flv

パラメータ

パラメータ
aspectRatio

string

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

  • "16:9"
  • "9:16"

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

compressionQuality

string

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

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

durationSeconds

integer

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

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

  • Veo 2 モデル: 58。デフォルトは 8 です。
  • Veo 3 モデル: 468。デフォルトは 8 です。
  • referenceImages を使用する場合: 8.

詳細については、Veo モデルをご覧ください。

enhancePrompt

boolean

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

enhancePrompt は次のモデルでサポートされています。

  • veo-2.0-generate-001
  • veo-2.0-generate-preview
  • veo-2.0-generate-exp
generateAudio

boolean

Veo 3 モデルでは必須です。動画の音声を生成します。指定できる値は true または false です。

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

使用可能な Veo モデルの詳細については、Veo モデルをご覧ください。

negativePrompt

string

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

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

string

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

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

string

省略可。Veo 3 モデルのみ。画像から動画を生成する場合には image と併用します。モデルが動画のサイズ変更に使用するサイズ変更モード。指定できる値は "pad"(デフォルト)または "crop" です。

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 エンコードされた動画バイトが返されます。

サンプル リクエスト

次のサンプルを使用して、独自の動画リクエストを作成します。

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

REST

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

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

  • PROJECT_ID: Google Cloud プロジェクト ID を表す文字列。
  • MODEL_ID: 使用するモデル ID を表す文字列。指定できる値は次のとおりです。
    • Veo 2: "veo-2.0-generate-001"
    • Veo 3: "veo-3.0-generate-001"
    • Veo 3: "veo-3.0-fast-generate-001"
    • Veo 3: "veo-3.0-generate-preview"(プレビュー)
    • Veo 3: "veo-3.0-fast-generate-preview"(プレビュー)
    • Veo 3.1: "veo-3.1-generate-001"
    • Veo 3.1: "veo-3.1-fast-generate-001"
  • TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
  • OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケットを表す文字列。指定しない場合、動画のバイト数がレスポンスで返されます。たとえば "gs://video-bucket/output/"
  • RESPONSE_COUNT: 生成する動画ファイルの数。指定できる値の範囲は 14 です。
  • DURATION: 生成された動画ファイルの長さを表す整数。各モデルで使用できる値は次のとおりです。
    • Veo 2 モデル: 58。デフォルトは 8 です。
    • Veo 3 モデル: 468。デフォルトは 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: veo-2.0-generate-001
    • Veo 3: veo-3.0-generate-001
    • Veo 3.1: veo-3.1-generate-001
    • Veo 3.1: veo-3.1-fast-generate-001
  • 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/"
  • RESIZE_MODE: 使用するサイズ変更モードを表す文字列。指定できる値は次のとおりです。
    • "crop": 新しいサイズに合わせて動画を切り抜きます。
    • "pad": 新しいサイズに合わせて動画をパディングします。
  • RESPONSE_COUNT: 生成する動画ファイルの数。指定できる値の範囲は 14 です。
  • DURATION: 生成された動画ファイルの長さを表す整数。各モデルで使用できる値は次のとおりです。
    • Veo 2 モデル: 58。デフォルトは 8 です。
    • Veo 3 モデル: 468。デフォルトは 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
    "resizeMode": "RESIZE_MODE"
  }
}

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

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: veo-2.0-generate-exp
    • Veo 3: veo-3.1-generate-001
  • 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/MODEL_ID: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/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-exp を使用します。

  • 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/MODEL_ID: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/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

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

  • 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"
        }
      ]
   }
}

詳細

次のステップ