Vertex AI API 上的 Veo

Veo 是支持生成视频的模型的名称。Veo 会根据您提供的文字提示或图片提示生成视频。如需详细了解 Veo,请参阅 Veo 视频生成概览

如需在控制台中浏览此模型,请参阅模型库中的 Video Generation 模型卡片。

试用 Veo on Vertex AI (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

文本转视频功能必需的参数。
如果提供了输入图片提示(将图片转换为视频),则为可选。

一个文本字符串,用于引导视频的前八秒。例如:

  • 快速轨道镜头:在光线明亮的霓虹灯、飞行的汽车和迷雾、夜晚、光晕、体积光照的照明下,描绘了一个繁华的反乌托邦世界
  • 汽车以光速全速行驶的霓虹全息图,电影般的画面,令人难以置信的细节,体积光照
  • 许多斑点水母在水下脉动。它们的身体是透明的,在深海中会发光
  • 极近距离拍摄的街道上浅景深的积水。反射出未来主义的东京城市,霓虹灯明亮,夜晚,有光晕
  • 北极天空中舞动的北极光、闪烁的星星、白雪覆盖的景观的延时摄影
  • 在美丽的落日余晖下,一个孤独的牛仔骑着马在开阔的平原上奔驰,光线柔和,色彩温暖
image

联合字段

可选。用于指导视频生成的图片,可以是编码图片的 bytesBase64Encoded 字符串,也可以是 Cloud Storage 存储桶位置的 gcsUri 字符串 URI。

以下模型支持“图片转视频”功能:

  • veo-3.0-fast-generate-001
  • veo-3.0-generate-001
  • veo-2.0-generate-001
  • veo-3.0-fast-generate-preview
  • veo-3.0-generate-preview
lastFrame

联合字段

可选。视频第一帧的图片,用于填充两者之间的空间。lastFrame 可以是编码图片的 bytesBase64Encoded 字符串,也可以是 Cloud Storage 存储桶位置的 gcsUri 字符串 URI。

lastFrame 仅受 veo-2.0-generate-001 支持。

video

联合字段

可选。要延长时长的 Veo 生成的视频,可以是编码视频的 bytesBase64Encoded 字符串,也可以是 Cloud Storage 存储桶位置的 gcsUri 字符串 URI。

video 仅受 veo-2.0-generate-001 支持。

referenceImages

list[referenceImages]

可选。一个列表,其中包含最多三张素材资源图片或最多一张风格图片,用于描述模型在生成视频时要使用的 referenceImages

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-0015-8。默认值为 8
  • veo-3.0-generate-preview8
  • 使用 referenceImages 时: 8
enhancePrompt

boolean

可选。使用 Gemini 优化提示。可接受的值为 truefalse。默认值为 true

enhancePrompt 不受 veo-3.0-generate-001veo-3.0-fast-generate-001 支持。

generateAudio

boolean

veo-3.0-generate-preview 的必需参数。 为视频生成音频。可接受的值为 truefalse

generateAudio 不受 veo-2.0-generate-001veo-2.0-generate-exp 支持。

negativePrompt

string

可选。一个文本字符串,用于描述您想要阻止模型生成的内容。例如:

  • 顶部照明、明亮的色彩
  • 人物、动物
  • 多辆汽车、风
personGeneration

string

可选。用于控制是否允许人物或人脸生成的安全设置。以下任一情况:

  • allow_adult(默认值):仅允许生成成年人
  • dont_allow:禁止在图片中包含人物/人脸
resolution

string

可选。仅限 Veo 3 模型。所生成视频的分辨率。可接受的值为 720p(默认值)或 1080p

sampleCount

int

可选。请求的输出视频数量。接受的值包括 1-4

seed

uint32

可选。请求的数字,以使生成的视频具有确定性。 在请求中添加种子编号而不更改其他参数会导致模型生成相同的视频。

接受的范围为 0-4,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.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: 要生成的视频文件数量。可接受的值范围为 1-4
  • DURATION:一个整数,表示生成的视频文件的时长。以下是每种模型接受的值:
    • Veo 2 型号:5-8
    • 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: 可选。一个整数值,用于描述要生成的视频数量。 接受的值范围为 1-4
    • SEED_NUMBER: 可选。一个 uint32 值,模型使用该值生成确定性视频。通过在请求中指定种子编号而无需更改其他参数,可引导模型生成相同的视频。接受的值范围为 0-4294967295

HTTP 方法和网址:

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: 要生成的视频文件数量。可接受的值范围为 1-4
  • DURATION:一个整数,表示生成的视频文件的时长。以下是每种模型接受的值:
    • Veo 2 型号:5-8
    • 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: 可选。一个整数值,用于描述要生成的视频数量。 接受的值范围为 1-4
    • SEED_NUMBER: 可选。一个 uint32 值,模型使用该值生成确定性视频。通过在请求中指定种子编号而无需更改其他参数,可引导模型生成相同的视频。接受的值范围为 0-4294967295

HTTP 方法和网址:

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 来指定最多三张正文图片。
  • IMAGE_MIME_TYPE:输入图片的 MIME 类型。只能是以下值之一:

    • image/jpeg
    • image/png

    您可以重复使用此字段和 bytesBase64Encoded 来指定最多三张正文图片。

  • 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: 可选。一个整数值,用于描述要生成的视频数量。 接受的值范围为 1-4
    • SEED_NUMBER: 可选。一个 uint32 值,模型使用该值生成确定性视频。通过在请求中指定种子编号而无需更改其他参数,可引导模型生成相同的视频。接受的值范围为 0-4294967295

HTTP 方法和网址:

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 类型。仅支持下列值之一:
    • 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: 可选。一个整数值,用于描述要生成的视频数量。 接受的值范围为 1-4
    • SEED_NUMBER: 可选。一个 uint32 值,模型使用该值生成确定性视频。通过在请求中指定种子编号而无需更改其他参数,可引导模型生成相同的视频。接受的值范围为 0-4294967295

HTTP 方法和网址:

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 方法和网址:

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 返回因 Responsible AI 政策而被 Veo 过滤的视频数量。如果没有过滤任何视频,则返回的计数为 0
raiMediaFilteredReasons 列出因 Responsible 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"
        }
      ]
   }
}

更多信息

后续步骤