Vertex AI の Veo を使用すると、マスクと画像オブジェクトを指定し、必要な出力の説明を含むプロンプトをモデルに指定することで、動画にオブジェクトを挿入できます。
次のモデルは、動画へのオブジェクトの挿入をサポートしています。
動画生成用の効果的なテキスト プロンプトの作成方法については、 Veo プロンプト ガイドをご覧ください。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
環境の認証を設定します。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
コンソールを使用してサービスと API にアクセスする場合、認証を設定する必要はありません。 Google Cloud Google Cloud
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして 初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
ローカルシェルを使用している場合は、ユーザー アカウントのローカル認証情報を作成します。
gcloud auth application-default login
Cloud Shell を使用している場合は、この操作を行う必要はありません。
認証エラーが返され、外部 ID プロバイダ (IdP)を使用している場合は、フェデレーション ID を使用して gcloud CLI にログインしていることを確認します。
詳細については、 認証ドキュメントのローカル開発環境の ADC の設定 をご覧ください。 Google Cloud
REST
このページの REST API サンプルをローカル開発環境で使用するには、 gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります。
詳細については、 REST を使用して認証する 認証ドキュメントの Google Cloud をご覧ください。
-
動画にオブジェクトを挿入する
コンソール
Google Cloud コンソールで、[Vertex AI] > [Media Studio] ページに移動します。
[動画] をクリックします。
[タスク] メニューで、[動画のインペイント(挿入)] を選択します。
[モデル] メニューで、表示されたオプションからモデルを選択します。
[入力動画] セクションで、[追加] をクリックします。
[プロンプト] ボックスに、生成する動画の説明となるテキスト プロンプトを入力します。
省略可: 次のパラメータ を調整します。
検索結果の表示件数: スライダーを調整するか、1 ~4 の値を入力します。
[出力ディレクトリ]: [参照] をクリックして、生成された ファイルを保存する [Cloud Storage バケット] を作成または選択します。
[実行] をクリックします。
Python
インストール
pip install --upgrade google-genai
詳しくは、SDK リファレンス ドキュメントをご覧ください。
Vertex AI で Gen AI SDK を使用するための環境変数を設定します。
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
REST
環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。
Veo API の詳細については、以下をご覧ください。
- メソッド:
endpoints.predict VideoGenerationModelInstanceVideoGenerationModelParamsVideoGenerationModelResult
動画生成リクエストを送信するには、次のコマンドを使用します。このリクエストにより長時間実行オペレーションが開始され、指定した Cloud Storage バケットに出力が保存されます。
リクエストのデータを使用する前に、次のように置き換えます。
-
PROJECT_ID: 実際の Google Cloud プロジェクト ID。 -
TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。 -
MASK_STORAGE_URI: マスク オブジェクトの Cloud Storage バケット URI パス。 -
MASK_MIME_TYPE: 画像マスクの MIME タイプ。次のいずれか 1 つのみ。image/pngimage/jpegimage/webp
-
VIDEO_INPUT_STORAGE_URI: Cloud Storage バケット URI パス動画入力オブジェクト。 -
VIDEO_MIME_TYPE: 動画オブジェクトの MIME タイプ。次のいずれか 1 つのみ。video/movvideo/mpegvideo/mp4video/mpgvideo/avivideo/wmvvideo/mpegpsvideo/flv
-
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""4k"(Veo 3.1 プレビュー モデルのみ)
デフォルト値は
"720p"です。 -
RESPONSE_COUNT: 省略可。生成する動画の数を表す整数値。指定できる値の範囲は1~4です。 -
SEED_NUMBER: 省略可。モデルが決定的な動画を生成するために使用する uint32 値。他のパラメータを変更せずにリクエストでシード番号を指定すると、モデルは同じ動画を作成するように誘導されます。指定できる値の範囲は0~4294967295です。
-
HTTP メソッドと URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-preview:predictLongRunning
リクエストの本文(JSON):
{ "instances": [ { "prompt": "TEXT_PROMPT", // The following fields can be repeated for up to three total // images. "mask": { "gcsUri": "MASK_STORAGE_URI", "mimeType": "MASK_MIME_TYPE", "maskMode": "insert" }, "video": { "gcsUri": "VIDEO_INPUT_STORAGE_URI", "mimeType": "VIDEO_MIME_TYPE" } } ], "parameters": { "storageUri": "OUTPUT_STORAGE_URI", "sampleCount": RESPONSE_COUNT, } }リクエストを送信するには、次のいずれかのオプションを選択します。
このリクエストは、一意のオペレーション 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/veo-2.0-generate-preview: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-preview:predictLongRunning" | Select-Object -Expand Content{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }-
省略可: 動画生成の長時間実行オペレーションのステータスを確認します。
リクエストのデータを使用する前に、次のように置き換えます。
- 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