Guide Vision (entrée d'images)
Vous pouvez transmettre des images dans
messagessurPOST /v1/chat/completionset les faire analyser (compatible OpenAI). Il n'y a pas d'endpoint supplémentaire : une clé API avec le scopellmfonctionne telle quelle.
Quel scope vous faut-il
Les clés API d'api.aicu.ai portent des scopes (groupes de permissions), et chaque famille d'endpoints en exige un différent.
| Scope | Ce qu'il débloque | Nécessaire pour Vision ? |
|---|---|---|
llm | /v1/chat/completions (entrée texte comme image) | ✅ |
images | /v1/images/* (génération d'images) | Non |
tts | /v1/tts/* et /v1/audio/transcriptions (synthèse vocale, transcription) | Non |
- Vision consiste simplement à « transmettre une image à une chat completion » ; le scope
llmseul suffit donc.imagesest le scope pour créer des images - Les clés émises depuis le tableau de bord ont
llm/tts/imagespar défaut - Si une clé émise par votre entreprise (moindre privilège) renvoie
403, le scope manque. Demandez à la personne qui l'a émise de l'ajouter
Appel (curl, URL d'image)
curl -X POST https://api.aicu.ai/v1/chat/completions \
-H "Authorization: Bearer $AICU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Describe this image."},
{"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
]
}],
"max_tokens": 300
}'
L'astuce consiste à faire de content un tableau au lieu d'une chaîne, et à y mêler des parties de
type: "image_url". messages est transmis tel quel au fournisseur ; la
spécification Vision d'OpenAI fonctionne donc exactement comme documentée.
Appel (Python, image locale en base64)
import base64, os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AICU_API_KEY"],
base_url="https://api.aicu.ai/v1",
)
b64 = base64.b64encode(open("frame.jpg", "rb").read()).decode()
res = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "What's the highlight of this image? One line."},
{"type": "image_url", "image_url": {
"url": f"data:image/jpeg;base64,{b64}",
"detail": "low",
}},
],
}],
max_tokens=300,
)
print(res.choices[0].message.content)
detail:low(basse résolution, faible coût) /high(découpage en tuiles, grande précision) /auto. Utilisezlowpour analyser un grand nombre d'images
Modèles pris en charge et tarifs
Mesuré le 2026-09-22 en envoyant la même petite image à chaque modèle et en lui demandant ce qu'elle montre.
| Modèle | Images | Remarque |
|---|---|---|
gpt-4o-mini | ✅ | Le moyen le moins cher de lire une image |
gpt-4o | ✅ | |
gpt-5.6-luna | ✅ | Le plus léger de la famille 5.6 |
gpt-5.6-terra | ✅ | Code et compréhension d'images |
gpt-5.6-sol | ✅ | Idem, avec le raisonnement le plus poussé |
gpt-6-astra | ✅ | |
kimi-k2.7-code | Aperçu | Déclaré multimodal, mais n'a renvoyé aucune réponse lors de ce test |
C'est parce que la famille gpt-5.6 lit les images que la revue de captures d'écran depuis un agent de code
(Cline, OpenCode) devient pratique : voir Agents de code.
GET /v1/chat/modelsne déclare pas la prise en charge des images. Il n'y a pas de champmodalitiesnivision, si bien que les outils qui détectent automatiquement les capacités supposent du texte seul. Vous devez le leur indiquer (OpenCode : déclarezmodalitiesvous-même, voir Agents de code)- Transmettre
image_urlà un modèle texte seul commedeepseek-v3renvoie une erreur - Les images sont converties en tokens et facturées (selon les règles d'OpenAI ; une image en
detail: low≈ 85 tokens.gpt-4o-minicompte environ 33 fois plus de tokens mais à un prix unitaire plus bas, si bien que le coût revient à peu près au même ; mesuré : une imagelowplus un court prompt ≈ 2,900 tokens). Pour les tarifs en AP par modèle, voirGET /v1/chat/models
Dépannage
| Symptôme | Cause |
|---|---|
403 Forbidden | La clé n'a pas le scope llm -> demandez à la personne qui l'a émise de l'ajouter |
401 Unauthorized | Clé invalide ou expirée |
| Erreur de récupération de l'image | L'URL est privée ou exige une authentification -> envoyez-la plutôt en base64 (data URL) |
Documentation officielle d'OpenAI (source primaire de la spécification compatible)
- Guide images et vision : https://platform.openai.com/docs/guides/images-vision
- Référence de l'API Chat Completions : https://platform.openai.com/docs/api-reference/chat/create
© 2026 AICU Inc.