API Veo na Vertex AI

Veo é o nome do modelo que aceita geração de vídeos. O Veo gera um vídeo com base em um comando de texto ou de imagem que você fornece. Para mais informações sobre o Veo, consulte Visão geral da geração de vídeos do Veo.

Para conferir esse modelo no console, consulte o card de modelo Video Generation no Model Garden.

Testar o Veo na Vertex AI (Vertex AI Studio)

Testar o Veo em um Colab

Modelos compatíveis

A API Veo é compatível com os seguintes modelos:

Solicitação 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

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

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

  • Uma tomada rápida por uma metrópole distópica movimentada com letreiros de neon brilhantes, carros voadores e neblina, noite, reflexo de lente, iluminação volumétrica
  • Um holograma neon de um carro dirigindo na velocidade máxima, velocidade da luz, cinematográfico, detalhes incríveis, iluminação volumétrica
  • Muitas águas-vivas-pintadas pulsando debaixo d'água. Os corpos são transparentes e brilhantes no oceano profundo.
  • close-up extremo com profundidade de campo rasa de uma poça em uma rua. Refletindo uma cidade futurista movimentada de Tóquio com letreiros de neon brilhantes, noite, efeito de lente
  • Timelapse da aurora boreal dançando no céu do Ártico, estrelas brilhando, paisagem coberta de neve
  • Um caubói solitário cavalga por uma planície aberta em um lindo pôr do sol, luz suave, cores quentes
image

Campo de união

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

Os seguintes modelos são compatíveis com a conversão de imagem em vídeo:

  • 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

Campo de união

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

lastFrame é compatível apenas com veo-2.0-generate-001.

video

Campo de união

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

video é compatível apenas com 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.

O referenceImages é compatível com veo-2.0-generate-exp no pré-lançamento.

referenceImages.image

Campo de união

Opcional. Contém as imagens de referência para veo-2.0-generate-exp a serem usadas como entrada de assunto. Cada imagem pode ser uma string bytesBase64Encoded que codifica uma imagem ou um URI de string gcsUri para um local de bucket do Cloud Storage.

referenceImages.referenceType

string

Obrigatório em um objeto referenceImages. Especifica o tipo de imagem de referência fornecida. Os valores a seguir são compatíveis:

  • "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 de bytes codificada em base64 de um arquivo de imagem ou vídeo. Usado com os seguintes objetos:

gcsUri

string

Um URI de string para um local de bucket 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 imagem.

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

  • image/jpeg
  • image/png

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

  • video/mp4

Parâmetros

Parâmetros
aspectRatio

string

Opcional. Especifica a proporção dos vídeos gerados. Os seguintes valores são aceitos:

  • 16:9 (valor padrão)
  • 9:16
compressionQuality

string

Opcional. Especifica a qualidade de compactação dos vídeos gerados. Os valores aceitos são "optimized" ou "lossless".

O padrão é "optimized".

durationSeconds

integer

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

Confira a seguir os valores aceitos:

  • veo-2.0-generate-001: 5-8. O padrão é 8.
  • veo-3.0-generate-preview: 8.
  • Ao usar referenceImages: 8.
enhancePrompt

boolean

Opcional. Use o Gemini para melhorar seus comandos. Os valores aceitos são true ou false. O valor padrão é true.

enhancePrompt não é compatível com veo-3.0-generate-001 ou veo-3.0-fast-generate-001.

generateAudio

boolean

Necessário para veo-3.0-generate-preview. Gere áudio para o vídeo. Os valores aceitos são true ou false.

generateAudio não é compatível com veo-2.0-generate-001 ou veo-2.0-generate-exp.

negativePrompt

string

Opcional. Uma string de texto que descreve qualquer coisa que você queira impedir que o modelo gere. Exemplo:

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

string

Opcional. A configuração de segurança que controla se a geração de pessoas ou rostos é permitida. Opções:

  • allow_adult (valor padrão): permite a geração somente de adultos
  • dont_allow: desativa a inclusão de pessoas/rostos em imagens
resolution

string

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

sampleCount

int

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

seed

uint32

Opcional. Um número para solicitar que os vídeos gerados sejam determinísticos. Adicionar um número de sugestão à sua solicitação sem mudar outros parâmetros faz com que o modelo produza os mesmos vídeos.

O intervalo aceito é 0-4,294,967,295.

storageUri

string

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

Exemplos de solicitação

Use os exemplos a seguir para criar seu próprio pedido de vídeo:

Solicitação de geração de texto para vídeo

REST

Para testar um comando de texto usando a API Vertex AI Veo, envie uma solicitação POST para o endpoint do modelo do editor.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: uma string que representa o ID do projeto do Google Cloud .
  • MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:
    • "veo-2.0-generate-001"
    • "veo-3.0-generate-001"
    • "veo-3.0-fast-generate-001"
    • "veo-3.0-generate-preview" (Visualização prévia)
    • "veo-3.0-fast-generate-preview" (Visualização prévia)
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • OUTPUT_STORAGE_URI: opcional: uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo, "gs://video-bucket/output/".
  • RESPONSE_COUNT: O número de arquivos de vídeo a serem gerados. O intervalo de valores aceito é 1-4.
  • DURATION: um número inteiro que representa a duração dos arquivos de vídeo gerados. Confira os valores aceitos para cada modelo:
    • Modelos do Veo 2: 5-8
    • Modelos do Veo 3: 8
  • Outros parâmetros opcionais

    Use as seguintes variáveis opcionais dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir 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 a proporção dos vídeos gerados. Você pode usar os seguintes valores:
      • "16:9" para paisagem
      • "9:16" para retrato

      O valor padrão é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que você quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a configuração de segurança para gerar pessoas ou rostos. Você pode usar os seguintes valores:
      • "allow_adult": permite a geração somente de pessoas e rostos adultos.
      • "disallow": não gera pessoas nem rostos.

      O valor padrão é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Compatível apenas com modelos do Veo 3. Você pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor padrão é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a serem gerados. O intervalo de valores aceito é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. Especificar um número de sugestão com sua solicitação sem mudar outros parâmetros orienta o modelo a produzir os mesmos vídeos. O intervalo aceito de valores é 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 da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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
Essa solicitação retorna um nome de operação completo com um ID exclusivo. Use esse nome completo da operação para pesquisar o status da solicitação de geração de vídeo.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Solicitação de geração de vídeo com base em imagem

REST

Para testar um comando de texto usando a API Vertex AI Veo, envie uma solicitação POST para o endpoint do modelo do editor.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: uma string que representa o ID do projeto do Google Cloud .
  • MODEL_ID: uma string que representa o ID do modelo a ser usado. Os valores aceitos são:
    • veo-2.0-generate-001 (GA)
    • veo-3.0-generate-preview (Visualização prévia)
  • 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 a melhor qualidade, recomendamos que a resolução da imagem de entrada seja de 720p (1280 x 720 pixels) ou superior e tenha uma proporção de 16:9 ou 9:16. Imagens com outras proporções ou tamanhos podem ser redimensionadas ou cortadas centralmente quando são enviadas.
  • MIME_TYPE: uma string que representa o tipo MIME da imagem de entrada. Apenas as imagens dos seguintes tipos MIME são aceitas:
    • "image/jpeg"
    • "image/png"
  • OUTPUT_STORAGE_URI: opcional: uma string que representa o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, os bytes de vídeo serão retornados na resposta. Por exemplo, "gs://video-bucket/output/".
  • RESPONSE_COUNT: O número de arquivos de vídeo a serem gerados. O intervalo de valores aceito é 1-4.
  • DURATION: um número inteiro que representa a duração dos arquivos de vídeo gerados. Confira os valores aceitos para cada modelo:
    • Modelos do Veo 2: 5-8
    • Modelos do Veo 3: 8
  • Outros parâmetros opcionais

    Use as seguintes variáveis opcionais dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir 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 a proporção dos vídeos gerados. Você pode usar os seguintes valores:
      • "16:9" para paisagem
      • "9:16" para retrato

      O valor padrão é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que você quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a configuração de segurança para gerar pessoas ou rostos. Você pode usar os seguintes valores:
      • "allow_adult": permite a geração somente de pessoas e rostos adultos.
      • "disallow": não gera pessoas nem rostos.

      O valor padrão é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Compatível apenas com modelos do Veo 3. Você pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor padrão é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a serem gerados. O intervalo de valores aceito é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. Especificar um número de sugestão com sua solicitação sem mudar outros parâmetros orienta o modelo a produzir os mesmos vídeos. O intervalo aceito de valores é 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 da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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
Essa solicitação retorna um nome de operação completo com um ID exclusivo. Use esse nome completo da operação para pesquisar o status da solicitação de geração de vídeo.
{
  "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8"
}

Solicitação de vídeo usando imagens de recursos

REST

Para testar um comando de texto usando a API Vertex AI Veo, envie uma solicitação POST para o endpoint do modelo do editor.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • BASE64_ENCODED_IMAGE: uma imagem do assunto codificada em bytes base64. Você pode repetir esse campo e mimeType para especificar até três imagens de assunto.
  • IMAGE_MIME_TYPE: o tipo MIME da imagem de entrada. Apenas uma das opções a seguir:

    • image/jpeg
    • image/png

    Você pode repetir esse campo e bytesBase64Encoded para especificar até três imagens de assunto.

  • OUTPUT_STORAGE_URI: Opcional: o bucket do Cloud Storage para armazenar os vídeos de saída. Se não for fornecido, um vídeo codificado em bytes Base64 será retornado na resposta. Por exemplo: gs://video-bucket/output/.
  • RESPONSE_COUNT: o número de arquivos de vídeo que você quer gerar. Valores inteiros aceitos: 1 a 4.
  • Outros parâmetros opcionais

    Use as seguintes variáveis opcionais dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir 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 a proporção dos vídeos gerados. Você pode usar os seguintes valores:
      • "16:9" para paisagem
      • "9:16" para retrato

      O valor padrão é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que você quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a configuração de segurança para gerar pessoas ou rostos. Você pode usar os seguintes valores:
      • "allow_adult": permite a geração somente de pessoas e rostos adultos.
      • "disallow": não gera pessoas nem rostos.

      O valor padrão é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Compatível apenas com modelos do Veo 3. Você pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor padrão é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a serem gerados. O intervalo de valores aceito é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. Especificar um número de sugestão com sua solicitação sem mudar outros parâmetros orienta o modelo a produzir os mesmos vídeos. O intervalo aceito de valores é 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 da solicitação:

{
  "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 a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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
Essa solicitação retorna um nome de operação completo com um ID exclusivo. Use esse nome completo da operação para pesquisar o status da solicitação 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"
}

Solicitação de vídeo usando uma imagem de estilo

REST

Para testar um comando de texto usando a API Vertex AI Veo, envie uma solicitação POST para o endpoint do modelo do editor.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeo.
  • BASE64_ENCODED_IMAGE: uma imagem de estilo codificada 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 bucket do Cloud Storage para armazenar os vídeos de saída. Se não for informado, os bytes de vídeo serão retornados na resposta. Por exemplo, gs://video-bucket/output/.
  • RESPONSE_COUNT: o número de arquivos de vídeo que você quer gerar. Valores inteiros aceitos: 1 a 4.
  • Outros parâmetros opcionais

    Use as seguintes variáveis opcionais dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir 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 a proporção dos vídeos gerados. Você pode usar os seguintes valores:
      • "16:9" para paisagem
      • "9:16" para retrato

      O valor padrão é "16:9"

    • NEGATIVE_PROMPT: opcional: um valor de string que descreve o conteúdo que você quer impedir que o modelo gere.
    • PERSON_SAFETY_SETTING: Opcional: um valor de string que controla a configuração de segurança para gerar pessoas ou rostos. Você pode usar os seguintes valores:
      • "allow_adult": permite a geração somente de pessoas e rostos adultos.
      • "disallow": não gera pessoas nem rostos.

      O valor padrão é "allow_adult".

    • RESOLUTION: Opcional: um valor de string que controla a resolução do vídeo gerado. Compatível apenas com modelos do Veo 3. Você pode usar os seguintes valores:
      • "720p"
      • "1080p"

      O valor padrão é "720p".

    • RESPONSE_COUNT: Opcional. Um valor inteiro que descreve o número de vídeos a serem gerados. O intervalo de valores aceito é 1-4.
    • SEED_NUMBER: Opcional. Um valor uint32 que o modelo usa para gerar vídeos determinísticos. Especificar um número de sugestão com sua solicitação sem mudar outros parâmetros orienta o modelo a produzir os mesmos vídeos. O intervalo aceito de valores é 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 da solicitação:

{
  "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 a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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
Essa solicitação retorna um nome de operação completo com um ID exclusivo. Use esse nome completo da operação para pesquisar o status da solicitação 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"
}

Sondar o status da operação de longa duração de geração de vídeo

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

REST

Antes de usar os dados da solicitação, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • MODEL_ID: o ID do modelo a ser usado.
  • OPERATION_ID: o ID de operação exclusivo retornado na solicitação original de geração de vídeo.

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 da solicitação:

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

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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

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

O envio de uma solicitação de conversão de texto em vídeo ou de imagem em vídeo retorna 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 que uma solicitação de geração de vídeo é enviada.

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

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

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

A pesquisa do status da operação de longa duração original de geração de vídeo retorna uma resposta semelhante a esta:

{
   "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 foi 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 que uma solicitação de geração de vídeo é enviada.
raiMediaFilteredCount Retorna uma contagem de vídeos que o Veo filtrou devido a políticas de IA responsável. Se nenhum vídeo for filtrado, a contagem retornada será 0.
raiMediaFilteredReasons Lista os motivos de vídeos filtrados do Veo 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 (pesquisar 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

A seguir