Veo on Vertex AI 视频生成 API

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

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

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

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

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

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

以下模型支持 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 模型: 5-8。默认值为 8
  • Veo 3 模型:468。默认为 8
  • 使用 referenceImages 时:8

如需了解详情,请参阅 Veo 模型

enhancePrompt

boolean

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

以下模型支持 enhancePrompt

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

boolean

Veo 3 模型必须具有此参数。为视频生成音频。接受的值包括 truefalse

generateAudio 不受 veo-2.0-generate-001veo-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

可选。请求的输出视频数量。接受的值为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: "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:要生成的视频文件数量。可接受的值范围为 1-4
  • DURATION:一个整数,表示生成的视频文件的时长。以下是每种模型接受的值:
    • Veo 2 模型:5-8。默认值为 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:可选。一个整数值,用于描述要生成的视频数量。可接受的值范围为 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: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:要生成的视频文件数量。可接受的值范围为 1-4
  • DURATION:一个整数,表示生成的视频文件的时长。以下是每种模型接受的值:
    • Veo 2 模型:5-8。默认值为 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:可选。一个整数值,用于描述要生成的视频数量。可接受的值范围为 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
    "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 来指定最多三张主题图片。
  • 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/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 类型。仅支持下列类型之一:
    • 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/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 方法和网址:

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

更多信息

后续步骤