Imágenes
Envíe una imagen junto con texto en tai-4.1 y tai-4.2, usando la misma forma de array de contenido que aceptan los modelos con visión de OpenAI.
Qué modelos
Solo tai-4.1 y tai-4.2 aceptan entrada de imágenes; vea el detalle completo en la página Modelos. Enviar una imagen a cualquier otro modelo no produce un error directo, pero la imagen se ignora silenciosamente y solo se tiene en cuenta la parte de texto del mensaje, así que conviene revisar el campo de modelo si la comprensión de imágenes no aparece en una respuesta como se espera.
La forma del contenido
Para un mensaje sin imagen, content es una cadena simple. Para adjuntar una imagen, content pasa a ser un array de partes tipadas, combinando una o más partes text con una o más partes image_url:
{
"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 toma un data URI codificado en base64, no un enlace simple a una imagen alojada; la API no obtiene por usted una URL remota. Codifique los bytes de la imagen en base64, añádales como prefijo el tipo MIME correcto, y envíe todo eso como el valor de url.
# Python: building the data URI from a local file import base64 with open("photo.jpg", "rb") as f: b64 = base64.b64encode(f.read()).decode() data_url = f"data:image/jpeg;base64,{b64}"
Formatos admitidos
Se aceptan PNG, JPEG y WebP. Use el tipo MIME correspondiente en el prefijo del data URI (image/png, image/jpeg, image/webp) para que la imagen se decodifique correctamente.
Tamaño
No hay un límite de documento estricto aplicado del lado del cliente contra el que deba calcular, pero las imágenes muy grandes añaden latencia real (la codificación en base64 infla el tamaño en aproximadamente un tercio, y todo el cuerpo de la solicitud debe transmitirse y procesarse antes de que empiece la generación) y las solicitudes muy grandes tienen más probabilidad de ser rechazadas por infraestructura intermedia bastante antes de llegar a cualquier límite del lado del modelo. Redimensionar una imagen a la resolución que realmente sea útil para la tarea, en lugar de enviar un original a resolución completa, suele ser la decisión correcta y rara vez pierde algo que el modelo fuera a usar de todos modos.
Varias imágenes en un mensaje
El array content de un solo mensaje puede incluir más de una parte image_url, junto con tanto o tan poco text como se necesite:
{
"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,..."}}
]
}
Combinado con llamadas a herramientas
Una imagen y tools pueden estar presentes en la misma solicitud; el modelo puede invocar una herramienta basándose en parte en lo que ve en una imagen adjunta, de la misma manera que lo haría basándose solo en texto. Vea Llamadas a herramientas para cómo funciona el ciclo de llamada y respuesta.