Veo は、動画生成をサポートするモデルの名前です。Veo は、指定されたテキスト プロンプトまたは画像プロンプトから動画を生成します。
コンソールでこのモデルを調べるには、Model Garden に移動して Video Generation
モデルカードを確認します。
Vertex AI で Veo を試す(Vertex AI Studio)
サポートされているモデル
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,
// Optional. An image to guide video generation.
"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
}
}
],
"parameters": {
"aspectRatio": string,
"negativePrompt": string,
"personGeneration": string,
"sampleCount": integer,
"seed": uint32,
"storageUri": string,
"durationSeconds": integer,
"enhancePrompt": boolean
}
}'
Veo モデルには、次のパラメータを使用します。詳細については、Veo を使用してテキスト プロンプトと画像プロンプトを使用して動画を生成するをご覧ください。
パラメータ | |
---|---|
|
Text-to-Video に必須です。 動画の最初の 8 秒間()をガイドするテキスト文字列。例:
|
|
画像から動画への変換に必要です。 動画生成をガイドする入力画像。1,280 x 720 ピクセルまたは 720 x 1,280 ピクセルの画像をおすすめします。 次のいずれかになります。
画像のアスペクト比が異なる場合は、中央切り抜きツールを使用して画像が切り抜かれます。 画像のアスペクト比は同じでも解像度が大きい場合は、画像のサイズが変更されます。 |
durationSeconds |
必須。生成する動画ファイルの長さ。指定できる整数値は |
negativePrompt |
省略可。モデルが生成しないようにする必要がある内容を記述したテキスト文字列。次に例を示します。
|
enhancePrompt |
省略可。Gemini を使用してプロンプトを強化します。指定できる値は |
seed |
省略可。生成される動画を確定するためリクエストする数値。他のパラメータを変更せずにリクエストにシード番号を追加すると、モデルは同じ動画を生成します。
有効な範囲は |
storageURI |
省略可。出力動画を保存する Cloud Storage バケットの URI( |
sampleCount |
省略可。リクエストされた出力画像の数。指定できる値は |
aspectRatio |
省略可。生成される動画のアスペクト比を定義します。次のいずれか:
|
personGeneration |
省略可。人物や顔の生成を許可するかどうかを制御する安全設定。次のいずれかです。
|
generateAudio |
必須となる対象:
|
リクエストの例
テキストから動画へのリクエストまたは画像から動画へのリクエストを送信するには、次のリクエストを使用します。
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-preview
(プレビュー)
- TEXT_PROMPT: 動画の生成をガイドするために使用されるテキスト プロンプト。
- OUTPUT_STORAGE_URI: 省略可。出力動画を保存する Cloud Storage バケット。指定しない場合、動画のバイト数がレスポンスで返されます。たとえば
gs://video-bucket/output/
。 - RESPONSE_COUNT: 生成する動画ファイルの数。指定できる整数値: 1~4。
- DURATION: 生成する動画ファイルの長さ。指定できる整数値は 5 ~ 8 です。
-
その他のオプション パラメータ
ユースケースに応じて、次のオプションの変数を使用します。
"parameters": {}
オブジェクトに次のパラメータの一部またはすべてを追加します。"parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: 文字列。省略可。生成される動画のアスペクト比を定義します。値:
16:9
(デフォルト、横向き)または9:16
(縦向き)。 - NEGATIVE_PROMPT: 文字列。省略可。モデルが生成しないようにする内容を記述したテキスト文字列。
- PERSON_SAFETY_SETTING: 文字列。省略可。人物や顔の生成を許可するかどうかを制御する安全性設定。値:
allow_adult
(デフォルト値): 成人のみの生成を許可します。disallow
: 画像に人物や顔が含まれないようにします。
- RESPONSE_COUNT: 整数、省略可。リクエストされた出力画像の数。値:
1
~4
。 - SEED_NUMBER: uint32。省略可。生成される動画を確定するための数値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。値:
0
~4294967295
。
- ASPECT_RATIO: 文字列。省略可。生成される動画のアスペクト比を定義します。値:
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
{ "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: 生成する動画ファイルの数。指定できる整数値: 1~4。
- DURATION: 生成する動画ファイルの長さ。指定できる整数値は 5 ~ 8 です。
-
その他のオプション パラメータ
ユースケースに応じて、次のオプションの変数を使用します。
"parameters": {}
オブジェクトに次のパラメータの一部またはすべてを追加します。"parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: 文字列。省略可。生成される動画のアスペクト比を定義します。値:
16:9
(デフォルト、横向き)または9:16
(縦向き)。 - NEGATIVE_PROMPT: 文字列。省略可。モデルが生成しないようにする内容を記述したテキスト文字列。
- PERSON_SAFETY_SETTING: 文字列。省略可。人物や顔の生成を許可するかどうかを制御する安全性設定。値:
allow_adult
(デフォルト値): 成人のみの生成を許可します。disallow
: 画像に人物や顔が含まれないようにします。
- RESPONSE_COUNT: 整数、省略可。リクエストされた出力画像の数。値:
1
~4
。 - SEED_NUMBER: uint32。省略可。生成される動画を確定するための数値。他のパラメータを変更せずにリクエストにシード番号を指定すると、モデルは同じ動画を生成するように導かれます。値:
0
~4294967295
。
- ASPECT_RATIO: 文字列。省略可。生成される動画のアスペクト比を定義します。値:
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
{ "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。使用可能な値:
veo-2.0-generate-001
(一般提供の許可リスト)veo-3.0-generate-preview
(プレビュー)
- 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",
"generatedSamples":[
{
"video":
{
"uri": string,
"encoding": string
}
},
{
"video":
{
"uri": string,
"encoding": string
}
},
{
"video":
{
"uri": string,
"encoding": string
}
},
{
"video":
{
"uri": string,
"encoding": string
}
},
]
}
}
レスポンス要素 | 説明 |
---|---|
name |
動画生成リクエストの送信後に開始される長時間実行オペレーションの完全なオペレーション名。 |
done |
オペレーションが完了したかどうかを示すブール値。 |
response |
長時間実行オペレーションのレスポンス本文。 |
generatedSamples |
生成された動画サンプル オブジェクトの配列。 |
video |
生成された動画。 |
uri |
生成された動画の Cloud Storage URI。 |
encoding |
動画エンコードのタイプ。 |
レスポンスの例(長時間実行オペレーションをポーリング)
{
"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",
"generatedSamples":[
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
"encoding":"video/mp4"
}
}
]
}
}
詳細
- Vertex AI で Veo を使用する方法については、Veo を使用してテキストと画像のプロンプトを使用して動画を生成するをご覧ください。
次のステップ
- Google DeepMind の Veo モデルに関する情報を確認する。
- ブログ投稿「Veo と Imagen 3: Vertex AI で新しい動画生成モデルと画像生成モデルを発表」を読む。
- ブログ投稿「クリエイターとともにクリエイターのために構築された、新しい生成メディアのモデルとツール」を読む。