Veo é o nome do modelo compatível com a geração de vídeo. O Veo gera um vídeo com base em um comando de texto ou de imagem (/products#product-launch-stages) fornecido por você.
Para conferir esse modelo no console, consulte o card de modelo Video Generation
no Model Garden.
Experimente o Veo na Vertex AI (Vertex AI Studio)
Solicitar acesso: recursos experimentais
Modelos compatíveis
Modelo | ID do modelo |
---|---|
Geração de vídeo | veo-2.0-generate-001 |
Solicitação HTTP
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID:predictLongRunning
Corpo da solicitação
{
"instances": [
{
"prompt": string,
// Optional. An image to guide video generation.
"image": {
// Union field can be only one of the following:
"bytesBase64Encoded": string,
"gcsUri": string,
// End of list of possible types for union field.
"mimeType": string
}
}
],
"parameters": {
"aspectRatio": string,
"negativePrompt": string,
"personGeneration": string,
"sampleCount": integer,
"seed": uint32,
"storageUri": string,
"durationSeconds": integer,
"enhancePrompt": boolean
}
}
Use os seguintes parâmetros para o modelo Veo. Para saber mais, consulte Gerar vídeos usando comandos de texto e imagem usando o Veo.
∏Parâmetro | Descrição | Tipo | Valores aceitáveis e descrição | |
---|---|---|---|---|
imagem | Obrigatório (imagem para vídeo) Opcional se um comando de texto for fornecido (texto para vídeo) Entrada de imagem para orientar a geração de vídeo. |
string |
Recomendado: 1.280 x 720 pixels ou 720 x 1.280 pixels Se a proporção da imagem for diferente, ela será cortada com uma ferramenta de corte central. Se a proporção da imagem for a mesma, mas a resolução for maior, a imagem será redimensionada. |
|
prompt | Obrigatório (texto para vídeo) Opcional se um comando de entrada de imagem for fornecido (imagem para vídeo) Uma string de texto para orientar os primeiros oito segundos ( veo-2.0-generate-001 ) do vídeo.
|
string |
Qualquer string de texto para orientar a geração de vídeos. Por exemplo:
|
|
duraçãoSegundos | Obrigatório A duração dos arquivos de vídeo que você quer gerar. |
integer | Os valores inteiros aceitos são de 5 a 8. O padrão é 8. | |
Prompt negativo | Opcional Uma string de texto que descreve tudo o que você não quer que o modelo gere. |
string |
Qualquer string de texto para instruir o modelo a omitir dos vídeos gerados. Por exemplo:
|
|
AprimorarComando | Opcional Use o Gemini para aprimorar seus comandos. |
booleano |
Os valores aceitos são yes ou no . O padrão é yes .
|
|
sugestão | Opcional Um número a ser solicitado para tornar os vídeos gerados determinísticos. Adicionar um número de sugestão à sua solicitação sem alterar outros parâmetros fará com que o modelo produza os mesmos vídeos. |
uint32 | 0 a 4.294.967.295 |
|
StorageURI | Opcional Um URI do bucket do Cloud Storage para armazenar o vídeo de saída. Se não forem fornecidos, os bytes do vídeo codificados em base64 serão retornados na resposta. |
string | O local do Cloud Storage para salvar os vídeos gerados. Padrão: gs://BUCKET_NAME/SUBDIRECTORY | |
Contagem de amostras | Opcional O número de imagens de saída solicitadas. |
int | 1-4 | |
proporção | Opcional Define a proporção do vídeo gerado. |
string | 16:9 (padrão, paisagem) 9:16 (retrato) | |
geração de pessoas | Opcional A configuração de segurança que controla se a geração de pessoas ou rostos é permitida. |
string | allow_adult (valor padrão): só permite a geração de adultos dont_allow: não permite a inclusão de pessoas/rostos em imagens |
Exemplo de solicitação
Use as seguintes solicitações para enviar uma solicitação de texto para vídeo ou de imagem para 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: o Google Cloud ID do projeto.
- MODEL_ID: o ID do modelo a ser usado. Valores disponíveis:
veo-2.0-generate-001
(lista de permissões do GA)
- TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeos.
- OUTPUT_STORAGE_URI: opcional: o bucket do Cloud Storage para armazenar os vídeos de saída. Se não forem fornecidos, 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.
- DURATION: a duração dos arquivos de vídeo que você quer gerar. Os valores inteiros aceitos são de 5 a 8.
-
Outros parâmetros opcionais
Use as variáveis opcionais a seguir, dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir ao objeto
"parameters": {}
."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: string. Opcional. Define a proporção dos vídeos
gerados. Valores:
16:9
(padrão, paisagem) ou9:16
(retrato). - NEGATIVE_PROMPT: string. Opcional. Uma string de texto que descreve o que você quer impedir que o modelo gere.
- PERSON_SAFETY_SETTING: string. Opcional. A configuração de segurança que controla
se a geração de pessoas ou rostos é permitida. Valores:
allow_adult
(valor padrão): permite a geração somente de adultos.disallow
: não permite a inclusão de pessoas ou rostos em imagens.
- RESPONSE_COUNT: int. Opcional. O número de imagens de saída solicitadas. Valores:
1
-4
. - SEED_NUMBER: uint32. Opcional. Um número para tornar os vídeos gerados determinísticos.
Especificar um número de sugestão com sua solicitação sem alterar outros parâmetros orienta o
modelo a produzir os mesmos vídeos. Valores:
0
-4294967295
.
- ASPECT_RATIO: string. Opcional. Define a proporção dos vídeos
gerados. Valores:
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
{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }
Solicitação de geração de imagem 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: o Google Cloud ID do projeto.
- MODEL_ID: o ID do modelo a ser usado. Valores disponíveis:
veo-2.0-generate-001
(lista de permissões do GA)
- TEXT_PROMPT: o comando de texto usado para orientar a geração de vídeos.
- INPUT_IMAGE: string de bytes codificada em base64 que representa a imagem de entrada. Para garantir a qualidade, a imagem de entrada precisa ser de 720p ou mais (1.280 x 720 pixels) e ter uma proporção de 16:9 ou 9:16. Imagens de outras proporções ou tamanhos podem ser redimensionadas ou cortadas centralmente durante o processo de upload.
- MIME_TYPE: o tipo MIME da imagem de entrada. Somente as imagens dos seguintes
tipos MIME são aceitas:
image/jpeg
ouimage/png
. - OUTPUT_STORAGE_URI: opcional: o bucket do Cloud Storage para armazenar os vídeos de saída. Se não forem fornecidos, 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.
- DURATION: a duração dos arquivos de vídeo que você quer gerar. Os valores inteiros aceitos são de 5 a 8.
-
Outros parâmetros opcionais
Use as variáveis opcionais a seguir, dependendo do seu caso de uso. Adicione alguns ou todos os parâmetros a seguir ao objeto
"parameters": {}
."parameters": { "aspectRatio": "ASPECT_RATIO", "negativePrompt": "NEGATIVE_PROMPT", "personGeneration": "PERSON_SAFETY_SETTING", "sampleCount": RESPONSE_COUNT, "seed": SEED_NUMBER }
- ASPECT_RATIO: string. Opcional. Define a proporção dos vídeos
gerados. Valores:
16:9
(padrão, paisagem) ou9:16
(retrato). - NEGATIVE_PROMPT: string. Opcional. Uma string de texto que descreve o que você quer impedir que o modelo gere.
- PERSON_SAFETY_SETTING: string. Opcional. A configuração de segurança que controla
se a geração de pessoas ou rostos é permitida. Valores:
allow_adult
(valor padrão): permite a geração somente de adultos.disallow
: não permite a inclusão de pessoas ou rostos em imagens.
- RESPONSE_COUNT: int. Opcional. O número de imagens de saída solicitadas. Valores:
1
-4
. - SEED_NUMBER: uint32. Opcional. Um número para tornar os vídeos gerados determinísticos.
Especificar um número de sugestão com sua solicitação sem alterar outros parâmetros orienta o
modelo a produzir os mesmos vídeos. Valores:
0
-4294967295
.
- ASPECT_RATIO: string. Opcional. Define a proporção dos vídeos
gerados. Valores:
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
{ "name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/a1b07c8e-7b5a-4aba-bb34-3e1ccb8afcc8" }
Pesquisar 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 abaixo, faça as substituições a seguir:
- PROJECT_ID: o Google Cloud ID do projeto.
- MODEL_ID: o ID do modelo a ser usado. Valores disponíveis:
veo-2.0-generate-001
(lista de permissões do GA)
- OPERATION_ID: o ID de operação exclusivo retornado na solicitação 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 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
Corpo da resposta (gerar solicitação de vídeo)
O envio de uma solicitação de texto para vídeo ou imagem para 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 após o envio de uma solicitação de geração de vídeo. |
Exemplo de resposta (gerar solicitação de vídeo)
{
"name": "projects/PROJECT_ID/locations/us-central1/publishers/google/models/MODEL_ID/operations/OPERATION_ID"
}
Corpo da resposta (operação de pesquisa de longa duração)
A pesquisa do status da operação original de longa duração da geração do vídeo retorna a seguinte resposta:
{
"name": string,
"done": boolean,
"response":{
"@type":"type.googleapis.com/cloud.ai.large_models.vision.GenerateVideoResponse",
"videos":[
{
"gcsUri": string,
"mimeType": string
},
{
"gcsUri": string,
"mimeType": string
},
{
"gcsUri": string,
"mimeType": string
},
{
"gcsUri": string,
"mimeType": string
},
]
}
}
Elemento de resposta | Descrição |
---|---|
name |
O nome completo da operação de longa duração que começa após o envio de uma solicitação de geração de vídeo. |
done |
Um valor booleano que indica se a operação foi concluída. |
response |
O corpo da resposta da operação de longa duração. |
generatedSamples |
Uma matriz dos objetos de amostra do vídeo gerados. |
video |
O vídeo gerado. |
uri |
O URI do Cloud Storage do vídeo gerado. |
encoding |
O tipo de codificação de vídeo. |
Exemplo de resposta (operação de pesquisa 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",
"generatedSamples":[
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_0.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_1.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_2.mp4",
"encoding":"video/mp4"
}
},
{
"video":{
"uri":"gs://STORAGE_BUCKET/TIMESTAMPED_SUBDIRECTORY/sample_3.mp4",
"encoding":"video/mp4"
}
}
]
}
}
Mais informações
- Para saber mais sobre como usar o Veo na Vertex AI, consulte Gerar vídeos usando comandos de texto e imagem usando o Veo.
A seguir
- Leia as informações do Google DeepMind sobre o modelo Veo (link em inglês).
- Leia a postagem do blog "Veo e Imagen 3: anúncio de novos modelos de geração de vídeos e imagens na Vertex AI".
- Leia a postagem do blog "Novos modelos e ferramentas de mídia generativa criados com criadores para criadores".