Veo na API Vertex AI Video Generation

Veo é o nome do modelo que suporta a geração de vídeo. O Veo gera um vídeo a partir de um comando de texto ou de um comando de imagem que fornece. Para mais informações sobre o Veo, consulte a vista geral da geração de vídeos do Veo.

Para explorar este modelo na consola, consulte o cartão do modelo Video Generation no Model Garden.

Experimente o Veo no Vertex AI (Vertex AI Studio)

Experimente o Veo num Colab

Modelos suportados

A API Veo suporta os seguintes modelos:

Para mais informações, consulte os modelos Veo.

Pedido 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
  }
}'

Instâncias

Instâncias

prompt

string

Necessário para a conversão de texto em vídeo.
Opcional se for fornecido um comando de imagem de entrada (imagem para vídeo).

Uma string de texto para orientar os primeiros oito segundos do vídeo. For example:

  • Uma filmagem rápida através de uma expansão distópica movimentada com letreiros de néon brilhantes, carros voadores e nevoeiro, noite, reflexo da lente, iluminação volumétrica
  • Um holograma de néon de um carro a conduzir à velocidade máxima, velocidade da luz, cinematográfico, detalhes incríveis, iluminação volumétrica
  • Muitas alforrecas pintadas a pulsar debaixo de água. Os seus corpos são transparentes e brilhantes no oceano profundo
  • grande plano extremo com uma profundidade de campo reduzida de uma poça numa rua a refletir uma cidade de Tóquio futurista movimentada com letreiros de néon brilhantes, noite, reflexo da lente
  • Timelapse da aurora boreal a dançar no céu ártico, estrelas a brilhar, paisagem coberta de neve
  • Um cowboy solitário cavalga o seu cavalo numa planície aberta ao pôr do sol, com luz suave e cores quentes
image

Campo Union

Opcional. Uma imagem para orientar a geração de vídeo, que pode ser uma string bytesBase64Encoded que codifica uma imagem ou uma string gcsUri URI para uma localização do bucket do Cloud Storage.

lastFrame

Campo Union

Opcional. Uma imagem do primeiro frame de um vídeo para preencher o espaço entre. lastFrame pode ser uma string bytesBase64Encoded que codifica uma imagem ou uma string gcsUri URI para uma localização do contentor do Cloud Storage.

lastFrame é suportado apenas por veo-2.0-generate-001.

video

Campo Union

Opcional. Um vídeo gerado pelo Veo para aumentar a duração, que pode ser uma string bytesBase64Encoded que codifica um vídeo ou uma string gcsUri URI para uma localização do contentor do Cloud Storage.

video é suportado apenas por veo-2.0-generate-001.

referenceImages

list[referenceImages]

Opcional. Uma lista de até três imagens de recursos ou, no máximo, uma imagem de estilo que descreve o referenceImages para o modelo usar ao gerar vídeos.

referenceImages é suportado por veo-2.0-generate-exp na pré-visualização.

referenceImages.image

Campo Union

Opcional. Contém as imagens de referência para veo-2.0-generate-exp usar como entrada de assunto. Cada imagem pode ser uma string bytesBase64Encoded que codifica uma imagem ou uma string gcsUri URI para uma localização do contentor do Cloud Storage.

referenceImages.referenceType

string

Obrigatório num objeto referenceImages. Especifica o tipo de imagem de referência fornecida. Os seguintes valores são suportados:

  • "asset": a imagem de referência fornece recursos para o vídeo gerado, como: a cena, um objeto ou um personagem.
  • "style": a imagem de referência fornece informações de estilo para os vídeos gerados, como: cores da cena, iluminação ou textura.
bytesBase64Encoded

string

Uma string codificada em base64 de bytes de um ficheiro de imagem ou vídeo. Usado com os seguintes objetos:

gcsUri

string

Um URI de string para uma localização do contentor do Cloud Storage. Usado com os seguintes objetos:

mimeType

string

Obrigatório para os seguintes objetos:

Especifica o tipo MIME de um vídeo ou uma imagem.

Para imagens, são aceites os seguintes tipos MIME:

  • image/jpeg
  • image/png

Para vídeos, são aceites os seguintes tipos MIME:

  • video/mp4

Parâmetros

Parâmetros
aspectRatio

string

Opcional. Especifica o formato dos vídeos gerados. Seguem-se os valores aceites:

  • "16:9"
  • "9:16"

O valor predefinido é "16:9".

compressionQuality

string

Opcional. Especifica a qualidade da compressão dos vídeos gerados. Os valores aceites são "optimized" ou "lossless".

O valor predefinido é "optimized".

durationSeconds

integer

Obrigatório. A duração em segundos dos ficheiros de vídeo que quer gerar.

Seguem-se os valores aceites:

  • Modelos Veo 2: 5-8. A predefinição é 8.
  • Modelos do Veo 3: 4,6 ou 8. A predefinição é 8.
  • Quando usar referenceImages: 8.

Para mais informações, consulte os modelos do Veo.

enhancePrompt

boolean

Opcional. Use o Gemini para melhorar os seus comandos. Os valores aceites são true ou false. O valor predefinido é true.

generateAudio

boolean

Obrigatório para modelos Veo 3. Gerar áudio para o vídeo. Os valores aceites são true ou false.

O formato generateAudio não é suportado por veo-2.0-generate-001 nem veo-2.0-generate-exp.

Para mais informações sobre os modelos Veo disponíveis, consulte os modelos Veo.

negativePrompt

string

Opcional. Uma string de texto que descreve tudo o que quer desencorajar o modelo de gerar. Por exemplo:

  • iluminação superior, cores brilhantes
  • pessoas, animais
  • vários carros, vento
personGeneration

string

Opcional. A definição de segurança que controla se a geração de pessoas ou caras é permitida. Uma das seguintes opções:

  • "allow_adult" (valor predefinido): permitir a geração de conteúdo apenas para adultos
  • "dont_allow": não permite a inclusão de pessoas/caras em imagens
resolution

string

Opcional. Apenas modelos Veo 3. A resolução do vídeo gerado. Os valores aceites são "720p" (predefinição) ou "1080p".

sampleCount

int

Opcional. O número de vídeos de saída pedidos. Os valores aceites são 1-4.

seed

uint32

Opcional. Um número para pedir que os vídeos gerados sejam determinísticos. Se adicionar um número de semente ao seu pedido sem alterar outros parâmetros, o modelo produz os mesmos vídeos.

O intervalo aceite é de 0 a 4,294,967,295.

storageUri

string

Opcional. Um URI do contentor do Cloud Storage para armazenar o vídeo de saída no formato gs://BUCKET_NAME/SUBDIRECTORY. Se não for fornecido um contentor do Cloud Storage, são devolvidos bytes de vídeo codificados em base64 na resposta.

Exemplos de pedidos

Use os exemplos seguintes para criar o seu próprio pedido de vídeo:

Pedido de geração de texto em vídeo

REST

Para testar um comando de texto através da API Vertex AI Veo, envie um pedido POST para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: Uma string que representa o ID do seu projeto. Google Cloud
  • MODEL_ID: uma string que representa o ID do modelo a usar. Seguem-se os valores aceites:
    • "veo-2.0-generate-001"
    • "veo-3.0-generate-001"
    • "veo-3.0-fast-generate-001"
    • "veo-3.0-generate-preview" (Pré-visualização)
    • "veo-3.0-fast-generate-preview" (Pré-visualização)
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • OUTPUT_STORAGE_URI: opcional: uma string que representa o contentor do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo são devolvidos na resposta. Por exemplo: "gs://video-bucket/output/".
  • RESPONSE_COUNT: O número de ficheiros de vídeo a gerar. O intervalo de valores aceite é 1-4.
  • DURATION: um número inteiro que representa a duração dos ficheiros de vídeo gerados. Seguem-se os valores aceites para cada modelo:
    • Modelos Veo 2: 5-8. A predefinição é 8.
    • Modelos do Veo 3: 4, 6 ou 8. A predefinição é 8.
  • Parâmetros opcionais adicionais

    Use as seguintes variáveis opcionais consoante o seu exemplo de utilização. Adicione alguns ou todos os seguintes parâmetros no objeto "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: Opcional: um valor de string que descreve o formato dos vídeos gerados. Pode usar os seguintes valores:
      • "16:9" para horizontal
      • "9:16" para vertical

      O valor predefinido é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a definição de segurança para a geração de pessoas ou rostos. Pode usar os seguintes valores:
      • "allow_adult": permitir apenas a geração de pessoas e rostos de adultos.
      • "disallow": não gera pessoas nem caras.

      O valor predefinido é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Apenas suportado por modelos Veo 3. Pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor predefinido é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a gerar. O intervalo de valores aceite é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. A especificação de um número de semente com o seu pedido sem alterar outros parâmetros orienta o modelo para produzir os mesmos vídeos. O intervalo de valores aceite é 0-4294967295.

Método HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

Corpo JSON do pedido:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": "RESPONSE_COUNT"
  }
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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
Este pedido devolve um nome de operação completo com um ID de operação exclusivo. Use este nome completo da operação para verificar o estado do pedido de geração de vídeo.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Pedido de geração de vídeo a partir de imagem

REST

Para testar um comando de texto através da API Vertex AI Veo, envie um pedido POST para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: Uma string que representa o ID do seu projeto. Google Cloud
  • MODEL_ID: uma string que representa o ID do modelo a usar. Seguem-se os valores aceites:
    • veo-2.0-generate-001 (GA)
    • veo-3.0-generate-preview (Pré-visualização)
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • INPUT_IMAGE: uma string codificada em base64 que representa a imagem de entrada. Para obter a melhor qualidade, recomendamos que a resolução da imagem de entrada seja de 720p (1280 x 720 píxeis) ou superior, e que tenha um formato de 16:9 ou 9:16. As imagens com outros formatos ou tamanhos podem ser redimensionadas ou recortadas centralmente quando são carregadas.
  • MIME_TYPE: uma string que representa o tipo MIME da imagem de entrada. Apenas são suportadas as imagens dos seguintes tipos MIME:
    • "image/jpeg"
    • "image/png"
  • OUTPUT_STORAGE_URI: opcional: uma string que representa o contentor do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo são devolvidos na resposta. Por exemplo: "gs://video-bucket/output/".
  • RESPONSE_COUNT: O número de ficheiros de vídeo a gerar. O intervalo de valores aceite é 1-4.
  • DURATION: um número inteiro que representa a duração dos ficheiros de vídeo gerados. Seguem-se os valores aceites para cada modelo:
    • Modelos Veo 2: 5-8. A predefinição é 8.
    • Modelos do Veo 3: 4, 6 ou 8. A predefinição é 8.
  • Parâmetros opcionais adicionais

    Use as seguintes variáveis opcionais consoante o seu exemplo de utilização. Adicione alguns ou todos os seguintes parâmetros no objeto "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: Opcional: um valor de string que descreve o formato dos vídeos gerados. Pode usar os seguintes valores:
      • "16:9" para horizontal
      • "9:16" para vertical

      O valor predefinido é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a definição de segurança para a geração de pessoas ou rostos. Pode usar os seguintes valores:
      • "allow_adult": permitir apenas a geração de pessoas e rostos de adultos.
      • "disallow": não gera pessoas nem caras.

      O valor predefinido é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Apenas suportado por modelos Veo 3. Pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor predefinido é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a gerar. O intervalo de valores aceite é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. A especificação de um número de semente com o seu pedido sem alterar outros parâmetros orienta o modelo para produzir os mesmos vídeos. O intervalo de valores aceite é 0-4294967295.

Método HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning

Corpo JSON do pedido:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "image": {
        "bytesBase64Encoded": "INPUT_IMAGE",
        "mimeType": "MIME_TYPE"
      }
    }
  ],
  "parameters": {
    "storageUri": "OUTPUT_STORAGE_URI",
    "sampleCount": RESPONSE_COUNT
  }
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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
Este pedido devolve um nome de operação completo com um ID de operação exclusivo. Use este nome completo da operação para verificar o estado do pedido de geração de vídeo.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Pedido de vídeo com imagens de recursos

REST

Para testar um comando de texto através da API Vertex AI Veo, envie um pedido POST para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o seu ID do projeto Google Cloud .
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • BASE64_ENCODED_IMAGE: A imagem do objeto com codificação em bytes base64. Pode repetir este campo e mimeType para especificar até três imagens do objeto.
  • IMAGE_MIME_TYPE: o tipo MIME da imagem de entrada. Apenas um dos seguintes documentos:

    • image/jpeg
    • image/png

    Pode repetir este campo e bytesBase64Encoded para especificar até três imagens do objeto.

  • OUTPUT_STORAGE_URI: Opcional: o contentor do Cloud Storage para armazenar os vídeos de saída. Se não for indicado, é devolvido um vídeo codificado em bytes Base64 na resposta. Por exemplo: gs://video-bucket/output/.
  • RESPONSE_COUNT: o número de ficheiros de vídeo que quer gerar. Valores inteiros aceites: 1 a 4.
  • Parâmetros opcionais adicionais

    Use as seguintes variáveis opcionais consoante o seu exemplo de utilização. Adicione alguns ou todos os seguintes parâmetros no objeto "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: Opcional: um valor de string que descreve o formato dos vídeos gerados. Pode usar os seguintes valores:
      • "16:9" para horizontal
      • "9:16" para vertical

      O valor predefinido é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a definição de segurança para a geração de pessoas ou rostos. Pode usar os seguintes valores:
      • "allow_adult": permitir apenas a geração de pessoas e rostos de adultos.
      • "disallow": não gera pessoas nem caras.

      O valor predefinido é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Apenas suportado por modelos Veo 3. Pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor predefinido é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a gerar. O intervalo de valores aceite é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. A especificação de um número de semente com o seu pedido sem alterar outros parâmetros orienta o modelo para produzir os mesmos vídeos. O intervalo de valores aceite é 0-4294967295.

Método HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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
Este pedido devolve um nome de operação completo com um ID de operação exclusivo. Use este nome completo da operação para verificar o estado do pedido de geração de vídeo.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Pedido de vídeo com uma imagem de estilo

REST

Para testar um comando de texto através da API Vertex AI Veo, envie um pedido POST para o ponto final do modelo do publicador.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o seu ID do projeto Google Cloud .
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • BASE64_ENCODED_IMAGE: Uma imagem de estilo com codificação em bytes base64.
  • IMAGE_MIME_TYPE: o tipo MIME da imagem de entrada. Apenas uma das seguintes opções:
    • image/jpeg
    • image/png
  • OUTPUT_STORAGE_URI: Opcional: o contentor do Cloud Storage para armazenar os vídeos de saída. Se não for indicado, os bytes do vídeo são devolvidos na resposta. Por exemplo: gs://video-bucket/output/.
  • RESPONSE_COUNT: o número de ficheiros de vídeo que quer gerar. Valores inteiros aceites: 1 a 4.
  • Parâmetros opcionais adicionais

    Use as seguintes variáveis opcionais consoante o seu exemplo de utilização. Adicione alguns ou todos os seguintes parâmetros no objeto "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: Opcional: um valor de string que descreve o formato dos vídeos gerados. Pode usar os seguintes valores:
      • "16:9" para horizontal
      • "9:16" para vertical

      O valor predefinido é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a definição de segurança para a geração de pessoas ou rostos. Pode usar os seguintes valores:
      • "allow_adult": permitir apenas a geração de pessoas e rostos de adultos.
      • "disallow": não gera pessoas nem caras.

      O valor predefinido é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Apenas suportado por modelos Veo 3. Pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor predefinido é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a gerar. O intervalo de valores aceite é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. A especificação de um número de semente com o seu pedido sem alterar outros parâmetros orienta o modelo para produzir os mesmos vídeos. O intervalo de valores aceite é 0-4294967295.

Método HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001:predictLongRunning

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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
Este pedido devolve um nome de operação completo com um ID de operação exclusivo. Use este nome completo da operação para verificar o estado do pedido de geração de vídeo.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/veo-2.0-generate-001/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Verifique o estado da operação de execução longa de geração de vídeo

Verifique o estado da operação de longa duração de geração de vídeo.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o seu Google Cloud ID do projeto.
  • MODEL_ID: o ID do modelo a usar.
  • OPERATION_ID: o ID da operação exclusivo devolvido no pedido de geração de vídeo original.

Método HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:fetchPredictOperation

Corpo JSON do pedido:

{
  "operationName": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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
Este pedido devolve informações sobre a operação, incluindo se a operação ainda está em execução ou se foi concluída.

Corpo da resposta (pedido de geração de vídeo)

O envio de um pedido de texto para vídeo ou de imagem para vídeo devolve a seguinte resposta:

{
  "name": string
}
Elemento de resposta Descrição
name O nome completo da operação de longa duração que começa depois de ser enviado um pedido de geração de vídeo.

Exemplo de resposta (pedido de geração de vídeo)

{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}

Corpo da resposta (sondagem de operação de longa duração)

A sondagem do estado da operação de longa duração de geração de vídeo original devolve uma resposta semelhante à seguinte:

{
   "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
         },
      ]
   }
}
Elemento de resposta Descrição
bytesBase64Encoded Uma string codificada em bytes Base64 que representa o objeto de vídeo.
done Um valor booleano que indica se a operação está concluída.
encoding O tipo de codificação de vídeo.
gcsUri O URI do Cloud Storage do vídeo gerado.
name O nome completo da operação de longa duração que começa depois de ser enviado um pedido de geração de vídeo.
raiMediaFilteredCount Devolve uma contagem de vídeos que o Veo filtrou devido a políticas de IA responsável. Se não forem filtrados vídeos, a contagem devolvida é 0.
raiMediaFilteredReasons Apresenta os motivos pelos quais os vídeos do Veo foram filtrados devido a políticas de IA responsável. Para mais informações, consulte Categorias de código do filtro de segurança.
response O corpo da resposta da operação de longa duração.
video O vídeo gerado.

Exemplo de resposta (sondagem de operação de longa duração)

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

Mais informações

O que se segue?