Artfical AI / API
احصل على مفتاح API افتح tAI
خيارات الطلب

الصور

أرسل صورة إلى جانب النص في tai-4.1 وtai-4.2، باستخدام نفس شكل مصفوفة المحتوى الذي تقبله نماذج OpenAI القادرة على الرؤية.

أي النماذج

يقبل إدخال الصور فقط tai-4.1 وtai-4.2؛ راجع التفصيل الكامل في صفحة النماذج. إرسال صورة إلى أي نموذج آخر لا يُسبب خطأً صريحًا، لكن الصورة تُتجاهل بصمت ويُؤخذ في الاعتبار جزء النص فقط من الرسالة، لذا تحقق من حقل النموذج إذا لم يظهر فهم الصورة في استجابة كما توقعت.

شكل المحتوى

بالنسبة لرسالة بلا صورة، يكون content سلسلة نصية بسيطة. لإرفاق صورة، يصبح content مصفوفة من أجزاء مصنّفة بدلاً من ذلك، تمزج جزءًا واحدًا أو أكثر من نوع text مع جزء واحد أو أكثر من نوع 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 رابط بيانات (data URI) مُرمَّزًا بصيغة base64، لا رابط صورة مستضافة عادي؛ فالـ API لا يجلب رابطًا بعيدًا نيابة عنك. رمّز بايتات الصورة بصيغة base64، وأضف قبلها نوع MIME الصحيح، وأرسل الكل كقيمة 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}"

الصيغ المدعومة

PNG وJPEG وWebP كلها مقبولة. استخدم نوع MIME المطابق في بادئة رابط البيانات (image/png، image/jpeg، image/webp) حتى تُفكَّ ترميز الصورة بشكل صحيح.

الحجم

لا يوجد حد صارم للمستند يُفرَض من جانب العميل يجب أن تحسب له، لكن الصور الكبيرة جدًا تضيف زمن استجابة فعليًا (ترميز base64 يضخّم الحجم بنحو الثلث، ويجب إرسال ومعالجة جسم الطلب بأكمله قبل أن يبدأ التوليد) والطلبات الكبيرة جدًا أكثر عرضة للرفض من قِبل البنية التحتية الوسيطة قبل أن تصل إلى أي حد من جانب النموذج. تصغير الصورة إلى الدقة المفيدة فعليًا للمهمة، بدلاً من إرسال الأصل بدقته الكاملة، عادةً ما يكون الخيار الصحيح ونادرًا ما يفقد شيئًا كان النموذج سيستخدمه على أي حال.

عدة صور في رسالة واحدة

يمكن لمصفوفة content الخاصة برسالة واحدة أن تتضمن أكثر من جزء image_url واحد، إلى جانب أي قدر من text تحتاجه، قليلاً كان أو كثيرًا:

{
  "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,..."}}
  ]
}

مع استدعاء الأدوات

يمكن لصورة وtools أن يتواجدا في نفس الطلب؛ ويمكن للنموذج استدعاء أداة بناءً جزئيًا على ما يراه في صورة مرفقة، بنفس الطريقة التي يفعلها بناءً على النص وحده. راجع استدعاء الأدوات لمعرفة كيفية عمل دورة الاستدعاء والاستجابة.