Veo は、動画生成をサポートするモデルの名前です。Veo は、ユーザーが指定したテキスト プロンプトまたは画像プロンプト(/products#product-launch-stages)から動画を生成します。
コンソールでこのモデルを調べるには、Model Garden に移動して Video Generation
モデルカードを確認します。
Vertex AI で Veo を試す(Vertex AI Studio)
サポートされているモデル
モデル | モデル ID |
---|---|
動画生成 | veo-2.0-generate-001 |
HTTP リクエスト
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
リクエストの本文
{
"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 を使用してテキスト プロンプトと画像プロンプトを使用して動画を生成するをご覧ください。
∏パラメータ | 説明 | タイプ | 有効な値と説明 | |
---|---|---|---|---|
image | 必須(画像から動画) テキスト プロンプトを指定する場合は省略可(テキストから動画) 動画生成をガイドする画像入力。 |
文字列 |
推奨: 1,280 x 720 ピクセルまたは 720 x 1,280 ピクセル 画像のアスペクト比が異なる場合は、中央切り抜きツールを使用して画像が切り抜かれます。 画像のアスペクト比は同じでも解像度が大きい場合は、画像のサイズが変更されます。 |
|
prompt | 必須(テキストから動画) 入力画像プロンプトが指定されている場合(画像から動画)は省略可 動画の最初の 8 秒間( veo-2.0-generate-001 )をガイドするテキスト文字列。 |
文字列 |
動画生成をガイドする任意のテキスト文字列。次に例を示します。
|
|
durationSeconds | 必須 生成する動画ファイルの長さ。 |
integer | 指定できる整数値は 5 ~ 8 です。デフォルトは 8 です。 | |
negativePrompt | 省略可 モデルによる生成の対象から除外したい内容を説明するテキスト文字列。 |
文字列 |
生成された動画から除外するようモデルに指示する任意のテキスト文字列。次に例を示します。
|
|
EnhancePrompt の使用 | 省略可 Gemini を使用してプロンプトを強化します。 |
ブール値 |
指定できる値は yes または no です。デフォルトは yes です。 |
|
seed | 省略可 生成される動画を確定するためリクエストする数値。 他のパラメータを変更せずにリクエストにシード番号を追加すると、モデルは同じ動画を生成します。 |
uint32 | 0 - 4,294,967,295 |
|
storageURI | 省略可 出力動画を保存するための Cloud Storage バケットの URI。 指定しない場合、レスポンスで base64 エンコードされた動画バイトが返されます。 |
文字列 | 生成された動画を保存する Cloud Storage の場所。パターン: gs://BUCKET_NAME/SUBDIRECTORY | |
sampleCount | 省略可 リクエストされた出力画像の数。 |
整数 | 1~4 | |
aspectRatio | 省略可 生成される動画のアスペクト比を定義します。 |
文字列 | 16:9(デフォルト、横向き) 9:16(縦向き) | |
personGeneration | 省略可 人物や顔の生成を許可するかどうかを制御する安全設定。 |
文字列 | allow_adult(デフォルト値): 成人のみの生成を許可します dont_allow: 画像に人物や顔を含めることを禁止します |
リクエストの例
テキストから動画へのリクエストまたは画像から動画へのリクエストを送信するには、次のリクエストを使用します。
Text-to-Video 生成リクエスト
REST
Vertex AI Veo API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- MODEL_ID: 使用するモデル ID。使用可能な値:
veo-2.0-generate-001
(一般提供の許可リスト)
- 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
(一般提供の許可リスト)
- 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
(一般提供の許可リスト)
- 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 で新しい動画生成モデルと画像生成モデルを発表」を読む。
- ブログ投稿「クリエイターとともにクリエイターのために構築された、新しい生成メディアのモデルとツール」を読む。