As legendas visuais permitem-lhe gerar uma descrição relevante para uma imagem. Pode usar estas informações para várias finalidades:
- Obter metadados mais detalhados sobre imagens para armazenamento e pesquisa.
- Gerar legendas automáticas para suportar exemplos de utilização de acessibilidade.
- Receba descrições rápidas de produtos e recursos visuais.

Origem da imagem: Santhosh Kumar no Unsplash (recortada)
Legenda (formato curto): uma camisa azul com bolas brancas está pendurada num gancho
Idiomas suportados
As legendas visuais estão disponíveis nos seguintes idiomas:
- Inglês (
en
) - Francês (
fr
) - Alemão (
de
) - Italiano (
it
) - Espanhol (
es
)
Desempenho e limitações
Os seguintes limites aplicam-se quando usa este modelo:
Limites | Valor |
---|---|
Número máximo de pedidos de API (curtos) por minuto por projeto | 500 |
Número máximo de tokens devolvidos na resposta (formato curto) | 64 tokens |
Número máximo de tokens aceites no pedido (apenas para formato curto de VQA) | 80 tokens |
As seguintes estimativas de latência do serviço aplicam-se quando usa este modelo. Estes valores destinam-se a ser ilustrativos e não são uma promessa de serviço:
Latência | Valor |
---|---|
Pedidos de API (formato curto) | 1,5 segundos |
Localizações
Uma localização é uma região que pode especificar num pedido para controlar onde os dados são armazenados em repouso. Para ver uma lista das regiões disponíveis, consulte o artigo IA generativa nas localizações da Vertex AI.
Filtragem de segurança da IA responsável
O modelo de legendagem de imagens e de resposta visual a perguntas (VQA) não suporta filtros de segurança configuráveis pelo utilizador. No entanto, a filtragem de segurança geral do Imagen ocorre nos seguintes dados:
- Introdução do utilizador
- Saída do modelo
Como resultado, a sua saída pode diferir da saída de amostra se o Imagen aplicar estes filtros de segurança. Considere os seguintes exemplos.
Entrada filtrada
Se a entrada for filtrada, a resposta é semelhante à seguinte:
{
"error": {
"code": 400,
"message": "Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394",
"status": "INVALID_ARGUMENT",
"details": [
{
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "[ORIGINAL ERROR] generic::invalid_argument: Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394 [google.rpc.error_details_ext] { message: \"Media reasoning failed with the following error: The response is blocked, as it may violate our policies. If you believe this is an error, please send feedback to your account team. Error Code: 63429089, 72817394\" }"
}
]
}
}
Resultados filtrados
Se o número de respostas devolvidas for inferior à contagem de amostras especificada, significa que as respostas em falta são filtradas pela IA responsável. Por exemplo, o seguinte é uma resposta a um pedido com "sampleCount": 2
, mas uma das respostas é filtrada:
{
"predictions": [
"cappuccino"
]
}
Se toda a saída for filtrada, a resposta é um objeto vazio semelhante ao seguinte:
{}
Obtenha legendas de imagens de formato curto
Use os seguintes exemplos para gerar legendas curtas para uma imagem.
REST
Para mais informações sobre os pedidos de modelos imagetext
, consulte a
imagetext
referência da API de modelos.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o seu Google Cloud ID do projeto.
- LOCATION: a região do seu projeto. Por exemplo,
us-central1
,europe-west2
ouasia-northeast3
. Para ver uma lista das regiões disponíveis, consulte Localizações da IA generativa na Vertex AI. - B64_IMAGE: a imagem para gerar legendas. A imagem tem de ser especificada como uma string de bytes codificada em base64. Limite de tamanho: 10 MB.
- RESPONSE_COUNT: o número de legendas de imagens que quer gerar. Valores inteiros aceites: 1 a 3.
- LANGUAGE_CODE: um dos códigos de idioma suportados. Idiomas compatíveis:
- Inglês (
en
) - Francês (
fr
) - Alemão (
de
) - Italiano (
it
) - Espanhol (
es
)
- Inglês (
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict
Corpo JSON do pedido:
{ "instances": [ { "image": { "bytesBase64Encoded": "B64_IMAGE" } } ], "parameters": { "sampleCount": RESPONSE_COUNT, "language": "LANGUAGE_CODE" } }
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict" | Select-Object -Expand Content
"sampleCount": 2
. A resposta devolve duas strings de previsão.
Inglês (en
):
{ "predictions": [ "a yellow mug with a sheep on it sits next to a slice of cake", "a cup of coffee with a heart shaped latte art next to a slice of cake" ], "deployedModelId": "DEPLOYED_MODEL_ID", "model": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID", "modelDisplayName": "MODEL_DISPLAYNAME", "modelVersionId": "1" }
Espanhol (es
):
{ "predictions": [ "una taza de café junto a un plato de pastel de chocolate", "una taza de café con una forma de corazón en la espuma" ] }
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, usa o método load_from_file
para referenciar um ficheiro local como a base Image
para obter uma legenda. Depois de especificar a imagem base, usa o método get_captions
no ImageTextModel
e imprime o resultado.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Neste exemplo, chama o métodopredict
num
PredictionServiceClient
.
O serviço devolve legendas para a imagem fornecida.
Use parâmetros para a geração de legendas de imagens
Quando recebe legendas de imagens, existem vários parâmetros que pode definir consoante o seu exemplo de utilização.
Número de resultados
Use o parâmetro de número de resultados para limitar a quantidade de legendas devolvidas para cada pedido que enviar. Para mais informações, consulte a
imagetext
referência da API do modelo (legendas de imagens).
Número aleatório
Um número que adiciona a um pedido para tornar as descrições geradas determinísticas.
Adicionar um número de semente ao seu pedido é uma forma de garantir que recebe a mesma previsão (descrições) todas as vezes. No entanto, as legendas das imagens não são necessariamente devolvidas pela mesma ordem. Para mais informações, consulte a
imagetext
referência da API do modelo (legendas de imagens).
O que se segue?
Leia artigos sobre o Imagen e outros produtos de IA generativa na Vertex AI:
- Um guia do programador para começar a usar o Imagen 3 na Vertex AI
- Novos modelos e ferramentas de multimédia generativa, criados com e para criadores
- Novidades no Gemini: Gems personalizados e geração de imagens melhorada com o Imagen 3
- Google DeepMind: Imagen 3 – O nosso modelo de conversão de texto em imagem de mais alta qualidade