Pode adicionar imagens a pedidos da API Gemini Chat Completions para realizar tarefas que envolvem a compreensão dos conteúdos das imagens incluídas. A compreensão de imagens é uma das entradas multimodais do Gemini que combinam texto com ficheiros multimédia.
Para mais informações sobre a compreensão de imagens com o Gemini e instruções passo a passo para enviar pedidos de API, consulte Enviar um comando multimodal.
Especificações para comandos com imagens
Pode adicionar uma ou várias imagens aos seus pedidos ao Gemini. O número máximo de imagens por comando para garantir o desempenho dos modelos Gemini no Google Distributed Cloud (GDC) air-gapped é 100.
Não existe um limite específico para o número de píxeis numa imagem. No entanto, as imagens maiores são reduzidas e preenchidas para se ajustarem a uma resolução máxima de 768 x 768, ao mesmo tempo que preservam o formato original. Cada imagem equivale a 258 tokens.
As imagens têm de estar num dos seguintes tipos MIME de dados de imagem:
- HEIC:
image/heic - HEIF:
image/heif - JPG:
image/jpgouimage/jpeg - PNG:
image/png - WEBP:
image/webp
Pode usar o ponto final Chat Completions na API REST e usar um cliente HTTP ou os SDKs oficiais da OpenAI para Python. Pode fornecer a imagem como dados incorporados no pedido de comando como um ficheiro codificado em base64 ou carregar o ficheiro de imagem para um contentor de armazenamento antes de fazer o pedido de comando.
Saiba mais acerca das práticas recomendadas e das limitações para imagens na Google Cloud documentação.
Para saber mais sobre a OpenAI e o ponto final Chat Completions que o Gemini implementa no Google Distributed Cloud (GDC) air-gapped, consulte https://platform.openai.com/docs/api-reference/chat.
Compreenda uma imagem a partir de um comando
Os exemplos seguintes mostram um pedido da API Gemini Chat Completions para
gerar texto a partir de entrada de texto e imagem usando os SDKs oficiais da OpenAI para Python
ou curl.
Python
import openai
client = openai.OpenAI()
model_response = client.chat.completions.create(
model = "MODEL_ID",
messages = [
{
"role": "user",
"content": "What's in this image?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
# Image URL or base64-encoded data
"url": IMAGE_DATA,
}
}
]
}
]
)
print(model_response)
Substitua o seguinte:
MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.IMAGE_DATA: o caminho para um URL de imagem num contentor ou os dados da imagem com codificação em base64. Considere os seguintes aspetos consoante os seus dados:- Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397.
Por conseguinte, o formato do campo
urlpara dados codificados em base64 é, por exemplo,"url": f"data:image/jpeg;base64,{base64_image}". - Os URLs de imagens têm de referir-se a imagens armazenadas num contentor de armazenamento do GDC. Por conseguinte, o formato do campo
urlpara URLs de imagens é, por exemplo,"url": "s3://path/to/bucket/image". Para mais informações, consulte o artigo Armazene dados.
- Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397.
Por conseguinte, o formato do campo
curl
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "What's in this image?"
},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
# Image URL or base64-encoded data
"url": IMAGE_DATA
}
}
]
}
],
"max_tokens": 300
}'
Substitua o seguinte:
ENDPOINT: o ponto final da API que usa para a sua organização.PROJECT: o ID do seu projeto.MODEL_ID: o ID do ponto final do modelo para o qual quer gerar a resposta.IMAGE_DATA: o caminho para um URL de imagem num contentor ou os dados da imagem com codificação em base64. Considere os seguintes aspetos consoante os seus dados:- Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397.
Por conseguinte, o formato do campo
urlpara dados codificados em base64 é, por exemplo,"url": f"data:image/jpeg;base64,{base64_image}". - Os URLs de imagens têm de referir-se a imagens armazenadas num contentor de armazenamento do GDC. Por conseguinte, o formato do campo
urlpara URLs de imagens é, por exemplo,"url": "s3://path/to/bucket/image". Para mais informações, consulte o artigo Armazene dados.
- Os dados codificados em Base64 têm de ter o prefixo de um esquema de URI de dados, RFC 2397.
Por conseguinte, o formato do campo