Vous pouvez ajouter des images aux requêtes de l'API Gemini Chat Completions pour effectuer des tâches qui impliquent de comprendre le contenu des images incluses. La compréhension des images est l'une des entrées multimodales de Gemini qui combinent du texte avec des fichiers multimédias.
Pour en savoir plus sur la compréhension des images avec Gemini et obtenir des instructions détaillées sur l'envoi de requêtes d'API, consultez Envoyer une requête multimodale.
Spécifications pour les requêtes avec images
Vous pouvez ajouter une ou plusieurs images à vos requêtes Gemini. Le nombre maximal d'images par requête pour garantir les performances des modèles Gemini dans Google Distributed Cloud (GDC) sous air gap est de 100.
Il n'y a pas de limite spécifique au nombre de pixels dans une image. Cependant, les images plus volumineuses sont réduites et remplies pour correspondre à une résolution maximale de 768 x 768, tout en préservant leur format d'origine. Chaque image équivaut à 258 jetons.
Les images doivent correspondre à l'un des types MIME de données d'image suivants :
- HEIC :
image/heic - HEIF :
image/heif - JPG :
image/jpgouimage/jpeg - PNG :
image/png - WEBP :
image/webp
Vous pouvez utiliser le point de terminaison Chat Completions dans l'API REST et utiliser un client HTTP ou les SDK officiels d'OpenAI pour Python. Vous pouvez fournir l'image en tant que données intégrées à la requête d'invite sous la forme d'un fichier encodé en base64 ou importer le fichier image dans un bucket de stockage avant d'envoyer la requête d'invite.
En savoir plus sur les bonnes pratiques et les limites concernant les images dans la documentation Google Cloud
Pour en savoir plus sur OpenAI et le point de terminaison Chat Completions que Gemini implémente dans Google Distributed Cloud (GDC) air-gapped, consultez https://platform.openai.com/docs/api-reference/chat.
Comprendre une image à partir d'une requête
Les exemples suivants montrent une requête de l'API Gemini Chat Completions pour générer du texte à partir d'une entrée texte et image à l'aide des SDK officiels d'OpenAI pour 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)
Remplacez les éléments suivants :
MODEL_ID: ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.IMAGE_DATA: chemin d'accès à l'URL d'une image dans un bucket ou à vos données d'image encodées en base64. Tenez compte des aspects suivants en fonction de vos données :- Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397.
Par conséquent, le format du champ
urlpour les données encodées en base64 est, par exemple,"url": f"data:image/jpeg;base64,{base64_image}". - Les URL des images doivent faire référence à des images stockées dans un bucket de stockage GDC. Par conséquent, le format du champ
urlpour les URL d'images est, par exemple,"url": "s3://path/to/bucket/image". Pour en savoir plus, consultez Stocker des données.
- Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397.
Par conséquent, le format du champ
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
}'
Remplacez les éléments suivants :
ENDPOINT: point de terminaison de l'API que vous utilisez pour votre organisation.PROJECT: ID de votre projet.MODEL_ID: ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.IMAGE_DATA: chemin d'accès à l'URL d'une image dans un bucket ou à vos données d'image encodées en base64. Tenez compte des aspects suivants en fonction de vos données :- Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397.
Par conséquent, le format du champ
urlpour les données encodées en base64 est, par exemple,"url": f"data:image/jpeg;base64,{base64_image}". - Les URL des images doivent faire référence à des images stockées dans un bucket de stockage GDC. Par conséquent, le format du champ
urlpour les URL d'images est, par exemple,"url": "s3://path/to/bucket/image". Pour en savoir plus, consultez Stocker des données.
- Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397.
Par conséquent, le format du champ