Görseller
OpenAI'nin görsel işleyebilen modellerinin kabul ettiği aynı içerik dizisi yapısını kullanarak tai-4.1 ve tai-4.2 üzerinde metinle birlikte bir görsel gönderin.
Hangi modeller
Yalnızca tai-4.1 ve tai-4.2 görsel girişini kabul eder; tam döküm için Modeller sayfasına bakın. Başka bir modele görsel göndermek doğrudan hata vermez, ancak görsel sessizce yok sayılır ve mesajın yalnızca metin kısmı dikkate alınır; bu yüzden bir yanıtta görsel anlama beklediğiniz gibi görünmüyorsa önce model alanını kontrol edin.
İçerik yapısı
Görseli olmayan bir mesaj için content düz bir string'dir. Bir görsel eklemek için content, bir veya daha fazla text parçasını bir veya daha fazla image_url parçasıyla karıştırarak tipli parçalardan oluşan bir dizi hâline gelir:
{
"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, düz, barındırılan bir görsel bağlantısı değil, base64 kodlu bir veri URI'si (data URI) alır; API sizin için uzaktaki bir URL'yi getirmez. Görsel baytlarını base64 olarak kodlayın, doğru MIME türüyle önekleyin ve tamamını url değeri olarak gönderin.
# 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}"
Desteklenen biçimler
PNG, JPEG ve WebP kabul edilir. Görselin doğru şekilde çözümlenmesi için veri URI'si önekinde eşleşen MIME türünü kullanın (image/png, image/jpeg, image/webp).
Boyut
İstemci tarafında hesaplamanız gereken sabit bir belge sınırı zorlanmaz, ancak çok büyük görseller gerçek bir gecikme ekler (base64 kodlaması boyutu yaklaşık üçte bir oranında şişirir ve üretim başlamadan önce tüm istek gövdesinin iletilmesi ve işlenmesi gerekir) ve çok büyük istekler, herhangi bir model tarafı sınırına ulaşmadan çok önce, aradaki altyapı tarafından reddedilmeye daha yatkındır. Tam çözünürlükteki bir orijinali göndermek yerine bir görseli görev için gerçekten yararlı olan çözünürlüğe küçültmek genellikle doğru tercihtir ve modelin zaten kullanmayacağı hiçbir şeyi nadiren kaybettirir.
Tek bir mesajda birden fazla görsel
Tek bir mesajın content dizisi, ihtiyaç kadar az ya da çok text ile birlikte birden fazla image_url parçası içerebilir:
{
"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,..."}}
]
}
Araç çağrısıyla birlikte kullanım
Bir görsel ve tools aynı istekte bulunabilir; model, yalnızca metne dayanarak yapacağı gibi, eklenen bir görselde gördüğü şeye kısmen dayanarak da bir aracı çağırabilir. Çağrı ve yanıt döngüsünün nasıl çalıştığı için Araç Çağrısı'na bakın.