Bilder
Senden Sie ein Bild zusammen mit Text an tai-4.1 und tai-4.2, im selben Content-Array-Format, das die vision-fähigen Modelle von OpenAI akzeptieren.
Welche Modelle
Nur tai-4.1 und tai-4.2 akzeptieren Bild-Eingaben; die vollständige Übersicht finden Sie auf der Seite Modelle. Ein Bild an ein anderes Modell zu senden führt nicht direkt zu einem Fehler, aber das Bild wird stillschweigend ignoriert, und nur der Textanteil der Nachricht wird berücksichtigt, prüfen Sie also das Modell-Feld noch einmal, wenn Bildverständnis in einer Antwort nicht wie erwartet auftaucht.
Das Content-Format
Bei einer Nachricht ohne Bild ist content ein einfacher String. Um ein Bild anzuhängen, wird content stattdessen zu einem Array typisierter Teile, das einen oder mehrere text-Teile mit einem oder mehreren image_url-Teilen mischt:
{
"role": "user",
"content": [
{"type": "text", "text": "Bu görselde ne var?"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,iVBORw0KGgoAAAANSU..."}}
]
}
image_url.url erwartet eine base64-kodierte Data-URI, keinen einfachen Link auf ein gehostetes Bild; die API ruft keine entfernte URL für Sie ab. Kodieren Sie die Bilddaten als base64, stellen Sie ihnen den passenden MIME-Typ voran und senden Sie das Ganze als url-Wert.
# Python: die Data-URI aus einer lokalen Datei erzeugen import base64 with open("photo.jpg", "rb") as f: b64 = base64.b64encode(f.read()).decode() data_url = f"data:image/jpeg;base64,{b64}"
Unterstützte Formate
PNG, JPEG und WebP werden alle akzeptiert. Verwenden Sie den passenden MIME-Typ im Data-URI-Präfix (image/png, image/jpeg, image/webp), damit das Bild korrekt dekodiert wird.
Größe
Es gibt keine clientseitig durchgesetzte harte Dokumentgrenze, gegen die Sie rechnen müssten, aber sehr große Bilder erzeugen spürbare zusätzliche Latenz (die base64-Kodierung vergrößert die Größe um etwa ein Drittel, und der gesamte Request-Body muss übertragen und verarbeitet werden, bevor die Generierung beginnt), und sehr große Anfragen werden mit höherer Wahrscheinlichkeit schon von zwischengeschalteter Infrastruktur abgelehnt, lange bevor sie irgendeine modellseitige Grenze erreichen würden. Ein Bild auf die für die Aufgabe tatsächlich nützliche Auflösung zu verkleinern, statt ein Original in voller Auflösung zu senden, ist meist die richtige Entscheidung und verliert selten etwas, das das Modell ohnehin genutzt hätte.
Mehrere Bilder in einer Nachricht
Das content-Array einer einzelnen Nachricht kann mehr als einen image_url-Teil enthalten, zusammen mit so viel oder so wenig text wie nötig:
{
"role": "user",
"content": [
{"type": "text", "text": "Bu iki görsel arasındaki fark ne?"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}
]
}
Kombiniert mit Tool Calling
Ein Bild und tools können in derselben Anfrage vorhanden sein; das Modell kann ein Tool teilweise basierend darauf aufrufen, was es in einem angehängten Bild sieht, genauso wie es das allein auf Basis von Text täte. Wie der Aufruf-und-Antwort-Zyklus funktioniert, finden Sie unter Tool Calling.