{
  "aboutHtml": "<p>GPT-4.1 Nano هو أسرع أفراد عائلة GPT-4.1 لدى OpenAI، وصُمّم لاتباع التعليمات واستدعاء الأدوات من دون خطوة استدلال منفصلة. يقبل النصوص والصور وينتج النصوص. يلائم Nano عملية محددة جيدًا يحتاج فيها التطبيق إلى إجابة موجزة أو مجموعة حقول أو طلب الأداة التالي، بدل بحث واسع.</p><p>من الأمثلة المفيدة فرز الرسائل الواردة وفق مجموعة فئات مقدمة. اشرح كل فئة، وبيّن كيفية تمثيل الرسائل الملتبسة أو الخارجة عن النطاق، واطلب الفئة مع العبارة المصدرية التي تدعمها. للاستخراج، حدّد أسماء الحقول والقيم المسموح بها وكيفية التعامل مع المعلومات المفقودة. لمهمة كتابة قصيرة، قدّم الحقائق واطلب المقطع المحدد الذي تحتاج إليه مرحلة التطبيق التالية. ينبغي أن تكون الأمثلة والقيود صغيرة بما يكفي لتبقى واضحة حتى عندما تكون مجموعة المصادر كبيرة.</p><p>يسرد المنتج نافذة سياق قدرها 1,047,576 رمز، وحدًّا أقصى للإخراج يبلغ 32,768 رمز، وتاريخ انتهاء تحديث المعرفة في 1 يونيو 2024. تطابق هذه المواصفات نافذة GPT-4.1 Mini، مع الحفاظ على هوية Nano المنفصلة ودوره الموجّه إلى سرعة الاستجابة. سمِّ المستندات وأقسام المحادثة، وأدرج السياق ذي الصلة بالعملية فقط، واحتفظ بمساحة للإجابة الكاملة. يمكن لنتائج الاسترجاع أو النص المرجعي المقدّم توفير حقائق أحدث من المعرفة التي تعلّمها النموذج.</p><p>يدعم Nano البث وStructured Outputs. تؤدي الإجابة النهائية المقيّدة بمخطط غرضًا مختلفًا عن استدعاء دالة: تمنح الأولى التطبيق ناتجًا مكتملًا، بينما تطلب الثانية منه تنفيذ عملية. تدعم Structured Outputs مجموعة فرعية من JSON Schema؛ حدّد الخصائص المطلوبة وتمثيلًا واضحًا للقيم غير المعروفة. تعامل مع الرفض والإجابات غير المكتملة بشكل منفصل، وافحص القيم المستخرجة مقابل المدخل، بدل مساواة الشكل الصالح باستنتاج صحيح.</p><p>تشمل مجموعة الأدوات الموثّقة استدعاء الدوال والبحث في الملفات وتفسير الشيفرة واتصالات MCP وأداة منفصلة لتوليد الصور. يوفّر التطبيق أوصاف الأدوات ومخططاتها، وينفّذ الدوال المخصصة، ويعيد نتائجها الفعلية. لنسخة Nano بتاريخ 14 أبريل 2025، توصي OpenAI تحديدًا بتعطيل استدعاءات الأدوات المتوازية، لأن النموذج قد يطلب الأداة نفسها عدة مرات في دور واحد. هذا اعتبار تنفيذي خاص بتلك النسخة، وليس سببًا لتفسير عدة استدعاءات مقترحة كإجراءات مكتملة.</p><p>يضيف إدخال الصور أدلة بصرية إلى مهمة نصية، مثل قراءة تسمية ظاهرة أو وصف الحالة المعروضة في لقطة شاشة. استخدم صور PNG أوJPEG أوWebP أوGIF غير المتحرك المدعومة، وأبقِ النص مقروءًا، واشرح المشاهدة المهمة. يذكر دليل الرؤية صعوبات مع النص الصغير أو المدور والعلاقات المكانية الدقيقة وعدّ الأجسام وبعض الكتابات غير اللاتينية. قدّم سياقًا محيطًا عندما يجعل الاقتصاص وحده تسمية أو مخططًا ملتبسين. إجابة Nano نفسه نصية؛ وتعيد أداة توليد الصور ناتجها المنفصل. في مسار الرؤية الموثّق لدى OpenAI، تقتصر الحمولة الإجمالية للطلب على 512 MB، ويمكن للطلب أن يتضمن حتى 1,500 صورة؛ ويجب أيضًا أن تتسع نافذة سياق النموذج للصور والنصوص.</p><p>في مسار الملفات لدى المنتج، يتلقى النموذج القادر على الرؤية النص المستخرج وصور الصفحات من PDF معًا. تسهم تنسيقات المستندات الأخرى بالنص المستخرج، ويأخذ تعزيز جداول البيانات في الاعتبار ما يصل إلى أول 1,000 صف لكل ورقة. يجب أن يقل حجم الملف عن 50 MB، مع 50 MB إجمالًا عبر الطلب. يدعم Chat Completions أجزاء ملفات PDF، بينما يقبل مسار Responses الموثّق أنواع ملفات إضافية. لا تُمرَّر المخططات المضمّنة في المستندات غير PDF كمحتوى صوري، لذا يفيد تمثيل PDF عندما تكون الأدلة البصرية مهمة.</p><p>توثّق OpenAI التخزين المؤقت للموجّهات في Nano وPredicted Outputs لسلسلة GPT-4.1 Nano. يعيد التخزين المؤقت للموجّهات استخدام بادئة إدخال مؤهلة في خدمة المنتج. أما Predicted Outputs فتقدّم نص إخراج معروفًا إلى حد كبير لتحرير، مثل تنقيح مستند أو ملف شيفرة مع الحفاظ على أجزائه غير المتغيرة. مسار التنبؤ نصي فقط، ويستثني استدعاء الدوال وlogprobs وmax_completion_tokens، إلى جانب ضوابط أخرى. اختر المسار وفق العملية الفعلية، وأبقِ نتيجته مرتبطة بالمصدر الأصلي.</p><p>يوثّق المنتج أيضًا الضبط الدقيق الخاضع للإشراف وتحسين التفضيلات المباشر لنسخة Nano المسمّاة من GPT-4.1. تكيّف أمثلة التدريب والإجابات المفضلة مقابل المرفوضة النموذج لمهمة متكررة؛ وهي تختلف عن السياق المقدّم لطلب عادي. لمرحلة استخراج أو تصنيف عملية، ابدأ بفئات واضحة وأمثلة وتنسيق نهائي صريح، ثم افحص ما إذا كانت الحقول المعادة تحافظ على الحقائق التي ستستخدمها المرحلة التالية.</p>",
  "aboutText": "GPT-4.1 Nano هو أسرع أفراد عائلة GPT-4.1 لدى OpenAI، وصُمّم لاتباع التعليمات واستدعاء الأدوات من دون خطوة استدلال منفصلة. يقبل النصوص والصور وينتج النصوص. يلائم Nano عملية محددة جيدًا يحتاج فيها التطبيق إلى إجابة موجزة أو مجموعة حقول أو طلب الأداة التالي، بدل بحث واسع.\n\nمن الأمثلة المفيدة فرز الرسائل الواردة وفق مجموعة فئات مقدمة. اشرح كل فئة، وبيّن كيفية تمثيل الرسائل الملتبسة أو الخارجة عن النطاق، واطلب الفئة مع العبارة المصدرية التي تدعمها. للاستخراج، حدّد أسماء الحقول والقيم المسموح بها وكيفية التعامل مع المعلومات المفقودة. لمهمة كتابة قصيرة، قدّم الحقائق واطلب المقطع المحدد الذي تحتاج إليه مرحلة التطبيق التالية. ينبغي أن تكون الأمثلة والقيود صغيرة بما يكفي لتبقى واضحة حتى عندما تكون مجموعة المصادر كبيرة.\n\nيسرد المنتج نافذة سياق قدرها 1,047,576 رمز، وحدًّا أقصى للإخراج يبلغ 32,768 رمز، وتاريخ انتهاء تحديث المعرفة في 1 يونيو 2024. تطابق هذه المواصفات نافذة GPT-4.1 Mini، مع الحفاظ على هوية Nano المنفصلة ودوره الموجّه إلى سرعة الاستجابة. سمِّ المستندات وأقسام المحادثة، وأدرج السياق ذي الصلة بالعملية فقط، واحتفظ بمساحة للإجابة الكاملة. يمكن لنتائج الاسترجاع أو النص المرجعي المقدّم توفير حقائق أحدث من المعرفة التي تعلّمها النموذج.\n\nيدعم Nano البث وStructured Outputs. تؤدي الإجابة النهائية المقيّدة بمخطط غرضًا مختلفًا عن استدعاء دالة: تمنح الأولى التطبيق ناتجًا مكتملًا، بينما تطلب الثانية منه تنفيذ عملية. تدعم Structured Outputs مجموعة فرعية من JSON Schema؛ حدّد الخصائص المطلوبة وتمثيلًا واضحًا للقيم غير المعروفة. تعامل مع الرفض والإجابات غير المكتملة بشكل منفصل، وافحص القيم المستخرجة مقابل المدخل، بدل مساواة الشكل الصالح باستنتاج صحيح.\n\nتشمل مجموعة الأدوات الموثّقة استدعاء الدوال والبحث في الملفات وتفسير الشيفرة واتصالات MCP وأداة منفصلة لتوليد الصور. يوفّر التطبيق أوصاف الأدوات ومخططاتها، وينفّذ الدوال المخصصة، ويعيد نتائجها الفعلية. لنسخة Nano بتاريخ 14 أبريل 2025، توصي OpenAI تحديدًا بتعطيل استدعاءات الأدوات المتوازية، لأن النموذج قد يطلب الأداة نفسها عدة مرات في دور واحد. هذا اعتبار تنفيذي خاص بتلك النسخة، وليس سببًا لتفسير عدة استدعاءات مقترحة كإجراءات مكتملة.\n\nيضيف إدخال الصور أدلة بصرية إلى مهمة نصية، مثل قراءة تسمية ظاهرة أو وصف الحالة المعروضة في لقطة شاشة. استخدم صور PNG أوJPEG أوWebP أوGIF غير المتحرك المدعومة، وأبقِ النص مقروءًا، واشرح المشاهدة المهمة. يذكر دليل الرؤية صعوبات مع النص الصغير أو المدور والعلاقات المكانية الدقيقة وعدّ الأجسام وبعض الكتابات غير اللاتينية. قدّم سياقًا محيطًا عندما يجعل الاقتصاص وحده تسمية أو مخططًا ملتبسين. إجابة Nano نفسه نصية؛ وتعيد أداة توليد الصور ناتجها المنفصل. في مسار الرؤية الموثّق لدى OpenAI، تقتصر الحمولة الإجمالية للطلب على 512 MB، ويمكن للطلب أن يتضمن حتى 1,500 صورة؛ ويجب أيضًا أن تتسع نافذة سياق النموذج للصور والنصوص.\n\nفي مسار الملفات لدى المنتج، يتلقى النموذج القادر على الرؤية النص المستخرج وصور الصفحات من PDF معًا. تسهم تنسيقات المستندات الأخرى بالنص المستخرج، ويأخذ تعزيز جداول البيانات في الاعتبار ما يصل إلى أول 1,000 صف لكل ورقة. يجب أن يقل حجم الملف عن 50 MB، مع 50 MB إجمالًا عبر الطلب. يدعم Chat Completions أجزاء ملفات PDF، بينما يقبل مسار Responses الموثّق أنواع ملفات إضافية. لا تُمرَّر المخططات المضمّنة في المستندات غير PDF كمحتوى صوري، لذا يفيد تمثيل PDF عندما تكون الأدلة البصرية مهمة.\n\nتوثّق OpenAI التخزين المؤقت للموجّهات في Nano وPredicted Outputs لسلسلة GPT-4.1 Nano. يعيد التخزين المؤقت للموجّهات استخدام بادئة إدخال مؤهلة في خدمة المنتج. أما Predicted Outputs فتقدّم نص إخراج معروفًا إلى حد كبير لتحرير، مثل تنقيح مستند أو ملف شيفرة مع الحفاظ على أجزائه غير المتغيرة. مسار التنبؤ نصي فقط، ويستثني استدعاء الدوال وlogprobs وmax_completion_tokens، إلى جانب ضوابط أخرى. اختر المسار وفق العملية الفعلية، وأبقِ نتيجته مرتبطة بالمصدر الأصلي.\n\nيوثّق المنتج أيضًا الضبط الدقيق الخاضع للإشراف وتحسين التفضيلات المباشر لنسخة Nano المسمّاة من GPT-4.1. تكيّف أمثلة التدريب والإجابات المفضلة مقابل المرفوضة النموذج لمهمة متكررة؛ وهي تختلف عن السياق المقدّم لطلب عادي. لمرحلة استخراج أو تصنيف عملية، ابدأ بفئات واضحة وأمثلة وتنسيق نهائي صريح، ثم افحص ما إذا كانت الحقول المعادة تحافظ على الحقائق التي ستستخدمها المرحلة التالية.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a61e239fc8ff26988d0f874633b5f8c4d2e19eff5d88d6c5258d4bd6ca83db93",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ar",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">O</span><h2 id=\"sheet-title\">OpenAI: GPT-4.1 Nano (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-4.1-nano:batch</code><button type=\"button\" id=\"copy-id\">نسخ ID</button></div><nav class=\"card-jump-nav\" aria-label=\"أقسام بطاقة النموذج\"><button type=\"button\" data-card-jump=\"overview\">البداية</button><button type=\"button\" data-card-jump=\"methods\">المدخلات والطرائق</button><button type=\"button\" data-card-jump=\"pricing\">الباقات</button><button type=\"button\" data-card-jump=\"examples\">أمثلة</button><button type=\"button\" data-card-jump=\"results\">النتائج</button><button type=\"button\" data-card-jump=\"aliases\">الأسماء البديلة</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"طرائق API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|batches|/v1/batches|openai%2Fgpt-4.1-nano%3Abatch\">الدُفعات</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">البداية</h3><p class=\"mdesc-full\">GPT-4.1 Nano هو العضو الصغير سريع الاستجابة في عائلة GPT-4.1 للمهام النصية والبصرية المحددة بدقة. يدعم سياقه الكبير وStructured Outputs واستدعاء الدوال التصنيف والاستخراج وخطوات التطبيق المركّزة.</p><dl class=\"card-io\" data-card-io><div><dt>المدخلات المقبولة</dt><dd>النص</dd></div><div><dt>النتائج</dt><dd>النص</dd></div></dl><details class=\"card-about\"><summary>عن النموذج</summary><p class=\"note-s\" data-model-method-boundary>يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.</p><div class=\"mabout\" id=\"m-about\"><p>GPT-4.1 Nano هو أسرع أفراد عائلة GPT-4.1 لدى OpenAI، وصُمّم لاتباع التعليمات واستدعاء الأدوات من دون خطوة استدلال منفصلة. يقبل النصوص والصور وينتج النصوص. يلائم Nano عملية محددة جيدًا يحتاج فيها التطبيق إلى إجابة موجزة أو مجموعة حقول أو طلب الأداة التالي، بدل بحث واسع.</p><p>من الأمثلة المفيدة فرز الرسائل الواردة وفق مجموعة فئات مقدمة. اشرح كل فئة، وبيّن كيفية تمثيل الرسائل الملتبسة أو الخارجة عن النطاق، واطلب الفئة مع العبارة المصدرية التي تدعمها. للاستخراج، حدّد أسماء الحقول والقيم المسموح بها وكيفية التعامل مع المعلومات المفقودة. لمهمة كتابة قصيرة، قدّم الحقائق واطلب المقطع المحدد الذي تحتاج إليه مرحلة التطبيق التالية. ينبغي أن تكون الأمثلة والقيود صغيرة بما يكفي لتبقى واضحة حتى عندما تكون مجموعة المصادر كبيرة.</p><p>يسرد المنتج نافذة سياق قدرها 1,047,576 رمز، وحدًّا أقصى للإخراج يبلغ 32,768 رمز، وتاريخ انتهاء تحديث المعرفة في 1 يونيو 2024. تطابق هذه المواصفات نافذة GPT-4.1 Mini، مع الحفاظ على هوية Nano المنفصلة ودوره الموجّه إلى سرعة الاستجابة. سمِّ المستندات وأقسام المحادثة، وأدرج السياق ذي الصلة بالعملية فقط، واحتفظ بمساحة للإجابة الكاملة. يمكن لنتائج الاسترجاع أو النص المرجعي المقدّم توفير حقائق أحدث من المعرفة التي تعلّمها النموذج.</p><p>يدعم Nano البث وStructured Outputs. تؤدي الإجابة النهائية المقيّدة بمخطط غرضًا مختلفًا عن استدعاء دالة: تمنح الأولى التطبيق ناتجًا مكتملًا، بينما تطلب الثانية منه تنفيذ عملية. تدعم Structured Outputs مجموعة فرعية من JSON Schema؛ حدّد الخصائص المطلوبة وتمثيلًا واضحًا للقيم غير المعروفة. تعامل مع الرفض والإجابات غير المكتملة بشكل منفصل، وافحص القيم المستخرجة مقابل المدخل، بدل مساواة الشكل الصالح باستنتاج صحيح.</p><p>تشمل مجموعة الأدوات الموثّقة استدعاء الدوال والبحث في الملفات وتفسير الشيفرة واتصالات MCP وأداة منفصلة لتوليد الصور. يوفّر التطبيق أوصاف الأدوات ومخططاتها، وينفّذ الدوال المخصصة، ويعيد نتائجها الفعلية. لنسخة Nano بتاريخ 14 أبريل 2025، توصي OpenAI تحديدًا بتعطيل استدعاءات الأدوات المتوازية، لأن النموذج قد يطلب الأداة نفسها عدة مرات في دور واحد. هذا اعتبار تنفيذي خاص بتلك النسخة، وليس سببًا لتفسير عدة استدعاءات مقترحة كإجراءات مكتملة.</p><p>يضيف إدخال الصور أدلة بصرية إلى مهمة نصية، مثل قراءة تسمية ظاهرة أو وصف الحالة المعروضة في لقطة شاشة. استخدم صور PNG أوJPEG أوWebP أوGIF غير المتحرك المدعومة، وأبقِ النص مقروءًا، واشرح المشاهدة المهمة. يذكر دليل الرؤية صعوبات مع النص الصغير أو المدور والعلاقات المكانية الدقيقة وعدّ الأجسام وبعض الكتابات غير اللاتينية. قدّم سياقًا محيطًا عندما يجعل الاقتصاص وحده تسمية أو مخططًا ملتبسين. إجابة Nano نفسه نصية؛ وتعيد أداة توليد الصور ناتجها المنفصل. في مسار الرؤية الموثّق لدى OpenAI، تقتصر الحمولة الإجمالية للطلب على 512 MB، ويمكن للطلب أن يتضمن حتى 1,500 صورة؛ ويجب أيضًا أن تتسع نافذة سياق النموذج للصور والنصوص.</p><p>في مسار الملفات لدى المنتج، يتلقى النموذج القادر على الرؤية النص المستخرج وصور الصفحات من PDF معًا. تسهم تنسيقات المستندات الأخرى بالنص المستخرج، ويأخذ تعزيز جداول البيانات في الاعتبار ما يصل إلى أول 1,000 صف لكل ورقة. يجب أن يقل حجم الملف عن 50 MB، مع 50 MB إجمالًا عبر الطلب. يدعم Chat Completions أجزاء ملفات PDF، بينما يقبل مسار Responses الموثّق أنواع ملفات إضافية. لا تُمرَّر المخططات المضمّنة في المستندات غير PDF كمحتوى صوري، لذا يفيد تمثيل PDF عندما تكون الأدلة البصرية مهمة.</p><p>توثّق OpenAI التخزين المؤقت للموجّهات في Nano وPredicted Outputs لسلسلة GPT-4.1 Nano. يعيد التخزين المؤقت للموجّهات استخدام بادئة إدخال مؤهلة في خدمة المنتج. أما Predicted Outputs فتقدّم نص إخراج معروفًا إلى حد كبير لتحرير، مثل تنقيح مستند أو ملف شيفرة مع الحفاظ على أجزائه غير المتغيرة. مسار التنبؤ نصي فقط، ويستثني استدعاء الدوال وlogprobs وmax_completion_tokens، إلى جانب ضوابط أخرى. اختر المسار وفق العملية الفعلية، وأبقِ نتيجته مرتبطة بالمصدر الأصلي.</p><p>يوثّق المنتج أيضًا الضبط الدقيق الخاضع للإشراف وتحسين التفضيلات المباشر لنسخة Nano المسمّاة من GPT-4.1. تكيّف أمثلة التدريب والإجابات المفضلة مقابل المرفوضة النموذج لمهمة متكررة؛ وهي تختلف عن السياق المقدّم لطلب عادي. لمرحلة استخراج أو تصنيف عملية، ابدأ بفئات واضحة وأمثلة وتنسيق نهائي صريح، ثم افحص ما إذا كانت الحقول المعادة تحافظ على الحقائق التي ستستخدمها المرحلة التالية.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">متاح في Ailoot · المدخلات والطرائق</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · المعالجة الدفعية</b> <code>POST /v1/batches</code></summary><dl class=\"method-capabilities\"><div><dt>الإدخال</dt><dd><code>text</code></dd></div><div><dt>الإخراج</dt><dd><code>text</code></dd></div><div><dt>صيغة الإخراج</dt><dd>محتوى JSON مضمّن في results[].response.body</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>الحقل</th><th>النوع</th><th>المتطلب</th><th>القيم والحدود</th><th>القيمة الافتراضية</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">endpoint</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>/v1/chat/completions</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>openai/gpt-4.1-nano:batch</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">requests</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>batch_item[]</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>الحد الأدنى للعناصر: ⁦1⁩</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">requests[].custom_id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">requests[].body.messages</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>message[]</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">completion_window</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>24h</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>object|null</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">requests[].body.model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>openai/gpt-4.1-nano:batch, openai/gpt-4.1-nano</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">provider.only</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string[]</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>openai</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">provider.allow_fallbacks</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>boolean|null</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>false, null</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>content_type</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>application/json</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>endpoint, model, requests</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>material_types</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>text</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>representation</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>طلبات requests[] مضمّنة؛ يحتوي كل عنصر على custom_id وbody</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>request_endpoint_profile</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>/v1/chat/completions</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>file_material</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>يمكن للمستدعي قراءة محتوى JSONL الفعلي بترميز UTF-8 محليًا إلى requests[]. لا يُستخدم غرض للرفع ولا input_file_id ولا مرجع إلى ملف. إذا كانت مواد العميل مفقودة أو فارغة، يتوقف التحضير قبل POST.</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>serialization_order</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>endpoint, model, provider (إذا تم توفيره), completion_window (إذا تم توفيره), requests في النهاية</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>optional_controls</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>provider.only, provider.allow_fallbacks, completion_window</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>schema_scope</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>أجسام طلبات Text Chat Completions ضمن غلاف Batch المضمّن الموثّق.</td></tr></tbody></table></div><p>دورة الحياة: <code>asynchronous</code></p><p class=\"note-s\"><code>GET /v1/batches/{operation_id}</code> · قيمة response.id الفعلية من استجابة الإنشاء الأصلية؛ مع المستخدم والمفتاح والمجموعة نفسها</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">الباقات</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.</p><dl data-price-conditions><dt>الوضع السريع</dt><dd>غير محدد <span class=\"note-s\">عند اختيار الوضع السريع</span></dd><dt>الوضع المرن</dt><dd>غير محدد <span class=\"note-s\">عند اختيار وضع flex</span></dd><dt>أقصى جهد للاستدلال</dt><dd>غير محدد <span class=\"note-s\">عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال</span></dd><dt>تسعير التخزين المؤقت الصريح</dt><dd>غير مفعّل <span class=\"note-s\">عند طلب التخزين المؤقت الصريح</span></dd></dl></div><div data-declared-tariff-pricing><h4>تعرفات Ailoot</h4><h4>الأسعار حسب الإعدادات</h4><p class=\"note-s\">طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>جدول التعرفة</th><th>رموز السياق، أكثر من</th><th>رموز السياق، حتى القيمة شاملةً</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>التعرفات الأساسية للرموز</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>التعرفة الأساسية</td><td data-cell-label=\"رموز السياق، أكثر من\"><span class=\"card-cell-label\">رموز السياق، أكثر من</span>—</td><td data-cell-label=\"رموز السياق، حتى القيمة شاملةً\"><span class=\"card-cell-label\">رموز السياق، حتى القيمة شاملةً</span>لا يوجد حد أقصى</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · رموز الإدخال</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>$0.000025</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>الشريحة 1 لطول الطلب</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"رموز السياق، أكثر من\"><span class=\"card-cell-label\">رموز السياق، أكثر من</span>⁦0⁩</td><td data-cell-label=\"رموز السياق، حتى القيمة شاملةً\"><span class=\"card-cell-label\">رموز السياق، حتى القيمة شاملةً</span>لا يوجد حد أقصى</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · رموز الإدخال</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>$0.000025</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">أمثلة للطلبات</h3><h4>Ailoot Ultra · المعالجة الدفعية</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-2034-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2034-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · عينة الاختبار المحفوظة</button><button class=\"cg-tab\" id=\"model-code-2034-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2034-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · بيانات العميل الفعلية بصيغة JSONL</button><button class=\"cg-tab\" id=\"model-code-2034-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2034-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · احفظ كل نتيجة مكتملة</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2034-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2034-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json\nfrom pathlib import Path\nbody=json.loads(&#39;{&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;,&quot;model&quot;:&quot;openai/gpt-4.1-nano:batch&quot;,&quot;requests&quot;:[{&quot;custom_id&quot;:&quot;req-0001&quot;,&quot;body&quot;:{&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Hello!&quot;}],&quot;max_tokens&quot;:16}}]}&#39;)\nPath(&quot;batch-request.json&quot;).write_text(json.dumps(body,ensure_ascii=False),encoding=&quot;utf-8&quot;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2034-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2034-tab-1\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(&quot;Customer JSONL file is missing&quot;)\n    items = [json.loads(line) for line in path.read_text(encoding=&quot;utf-8&quot;).splitlines() if line.strip()]\n    if not items: raise ValueError(&quot;Customer JSONL contains no requests&quot;)\n    ids = set()\n    for item in items:\n        if set(item) != {&quot;custom_id&quot;, &quot;body&quot;}: raise ValueError(&quot;Each item needs custom_id and body&quot;)\n        cid = item[&quot;custom_id&quot;]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(&quot;custom_id must be nonempty and unique&quot;)\n        ids.add(cid)\n        if not isinstance(item[&quot;body&quot;], dict) or not item[&quot;body&quot;].get(&quot;messages&quot;): raise ValueError(&quot;Supply actual text messages&quot;)\n        supplied_model = item[&quot;body&quot;].get(&quot;model&quot;)\n        if supplied_model is not None and supplied_model not in [&#39;openai/gpt-4.1-nano:batch&#39;, &#39;openai/gpt-4.1-nano&#39;]: raise ValueError(&quot;body.model must be an exact documented caller or wire ID&quot;)\n    return {&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;, &quot;model&quot;:&quot;openai/gpt-4.1-nano:batch&quot;, &quot;requests&quot;:items}\n\nif __name__ == &quot;__main__&quot;:\n    material = os.environ.get(&quot;AILOOT_BATCH_REQUESTS_JSONL&quot;, &quot;&quot;)\n    if not material: raise SystemExit(&quot;Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file&quot;)\n    body = prepare_requests(material)\n    key = os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;)\n    if not key: raise SystemExit(&quot;Set AILOOT_API_KEY&quot;)\n    request = Request(&quot;https://api.ailoot.ai/v1/batches&quot;, data=json.dumps(body, ensure_ascii=False).encode(&quot;utf-8&quot;), headers={&quot;Authorization&quot;:&quot;Bearer &quot; + key, &quot;Content-Type&quot;:&quot;application/json&quot;}, method=&quot;POST&quot;)\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(&quot;batch-create-response.json&quot;).write_bytes(raw)\n        print(raw.decode(&quot;utf-8&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2034-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2034-tab-2\" hidden><pre data-lang=\"python\"><code>import json\nfrom pathlib import Path\nraw = Path(&quot;batch-status-response.json&quot;).read_bytes()\nresponse = json.loads(raw)\nif response.get(&quot;status&quot;) != &quot;completed&quot;:\n    raise SystemExit(&quot;Keep the original operation; read its status without resubmitting&quot;)\nresults = response.get(&quot;results&quot;)\nif not isinstance(results, list) or not results:\n    raise SystemExit(&quot;Preserve the original response; completed results are missing&quot;)\nPath(&quot;batch-results.jsonl&quot;).write_text(&quot;&quot;.join(json.dumps(item, ensure_ascii=False) + &quot;\\n&quot; for item in results), encoding=&quot;utf-8&quot;)\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">استلام النتائج وحفظها</h3><h4>Ailoot Ultra · المعالجة الدفعية</h4><p class=\"note-s\">محتوى JSON مضمّن في results[].response.body</p><ul class=\"card-result-paths\"><li><code>GET /v1/batches/{operation_id}</code></li></ul><h5>التحقق من حالة المهمة</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-2035-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2035-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · حالة العملية الأصلية</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2035-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2035-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nBATCH_OPERATION_ID=&quot;$(python3 - &lt;&lt;&#39;PY_ID&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(&quot;batch-create-response.json&quot;).read_text(encoding=&quot;utf-8&quot;))\noperation = response.get(&quot;id&quot;)\nif not isinstance(operation, str) or not operation: raise SystemExit(&quot;No actual original operation ID; preserve the response and do not resubmit&quot;)\nprint(quote(operation, safe=&quot;&quot;))\nPY_ID\n)&quot;\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o batch-status-response.json\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.</p><p class=\"note-s\">احتفظ بمحتوى JSON الكامل للحالة الأصلية، وبكل نتيجة وcustom_id، وبجسم الاستجابة أو الخطأ كاملًا. احفظ results[] المكتملة بصيغة JSONL دون تصفية.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">احتفظ بمعرّف العملية الأصلي. تتضمن الاستجابة 503 result_pending_check الترويسة X-Should-Retry:false؛ لا تُعِد إرسال الدفعة الأصلية التي لا تُعرف نتيجتها مطلقًا.</p></div><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>الحقل</th><th>النوع</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">results[].custom_id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">results[].response.body.choices[].message.content</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string|null</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">results[].error</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object|null</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object|null</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">endpoint</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">request_counts</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">results[].id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">results[].response.status_code</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>integer</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">results[].response.request_id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>الأخطاء والخطوات التالية</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>الاستجابة</th><th>الشرط</th><th>الخطوة التالية</th></tr></thead><tbody><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>الغلاف المضمّن الموثّق غير صالح، أو توجد مفاتيح مكررة أو مشكلة في هوية العناصر، أو تعارض مع قدرات النموذج المضبوطة.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>صحح الحقول المحددة قبل أي إرسال جديد.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦401⁩ · <code>authentication_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>مفتاح API غير صالح.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>استخدم مفتاح Ailoot المصرّح به.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦403⁩ · <code>permission_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>مجموعة المعالجة الدفعية غير متاحة.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>تحقق من صلاحية الوصول الممنوحة للمفتاح والمجموعة.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦422⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>تستخدم المعالجة الدفعية الفوترة من الرصيد؛ ويُرفض إنشاؤها عبر الاشتراك.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>استخدم المجموعة المصرّح بها التي تُخصم رسومها من الرصيد.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦422⁩ · <code>price_unavailable</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>لا يمكن تقديم تقدير تكلفة لمدخلات المعالجة الدفعية.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بالاستجابة؛ واستخدم المدخلات الموثّقة لعائلة الواجهات.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦402⁩ · <code>billing_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>حجز الرصيد للمعالجة الدفعية غير متاح.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>عالج ما يمنع قبول الطلب قبل إرسال طلب جديد.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦503⁩ · <code>price_unavailable</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>سعر طريقة المعالجة الدفعية أو تعرفاتها الأصلية غير متاحة.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بالاستجابة؛ ولا تستبدل الأسعار.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦503⁩ · <code>api_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>مسار المورّد المحدد غير متاح.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بالاستجابة لإصلاح المسار.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦503⁩ · <code>result_pending_check</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>النتيجة الأصلية تتطلب التحقق؛ X-Should-Retry:false.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بقيمة operation_id/id الأصلية واقرأ حالتها؛ ولا تُكرر POST الأصلي مطلقًا.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦404⁩ · <code>not_found</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>عملية حالة المعالجة الدفعية غير موجودة أو مملوكة لهوية أخرى.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>استخدم id الأصلي كما هو، والمستخدم والمفتاح والمجموعة نفسها.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">الأسماء البديلة</h3><h4>الأسماء البديلة للنموذج</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fgpt-4.1-nano%3Abatch&amp;route=Ultra&amp;caller=openai%2Fgpt-4.1-nano%3Abatch&amp;fmt=batches\"><code>openai/gpt-4.1-nano:batch</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-4.1-nano%3Abatch&amp;route=Ultra&amp;caller=openai%2Fgpt-4.1-nano%3Abatch&amp;fmt=batches\"><code>openai/gpt-4.1-nano:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4.1-nano:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|openai%2Fgpt-4.1-nano%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.025,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "الغلاف المضمّن الموثّق غير صالح، أو توجد مفاتيح مكررة أو مشكلة في هوية العناصر، أو تعارض مع قدرات النموذج المضبوطة.",
                "http_status": 400,
                "recovery": "صحح الحقول المحددة قبل أي إرسال جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "مفتاح API غير صالح.",
                "http_status": 401,
                "recovery": "استخدم مفتاح Ailoot المصرّح به.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "مجموعة المعالجة الدفعية غير متاحة.",
                "http_status": 403,
                "recovery": "تحقق من صلاحية الوصول الممنوحة للمفتاح والمجموعة.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "تستخدم المعالجة الدفعية الفوترة من الرصيد؛ ويُرفض إنشاؤها عبر الاشتراك.",
                "http_status": 422,
                "recovery": "استخدم المجموعة المصرّح بها التي تُخصم رسومها من الرصيد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "لا يمكن تقديم تقدير تكلفة لمدخلات المعالجة الدفعية.",
                "http_status": 422,
                "recovery": "احتفظ بالاستجابة؛ واستخدم المدخلات الموثّقة لعائلة الواجهات.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "حجز الرصيد للمعالجة الدفعية غير متاح.",
                "http_status": 402,
                "recovery": "عالج ما يمنع قبول الطلب قبل إرسال طلب جديد.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "سعر طريقة المعالجة الدفعية أو تعرفاتها الأصلية غير متاحة.",
                "http_status": 503,
                "recovery": "احتفظ بالاستجابة؛ ولا تستبدل الأسعار.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "مسار المورّد المحدد غير متاح.",
                "http_status": 503,
                "recovery": "احتفظ بالاستجابة لإصلاح المسار.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "النتيجة الأصلية تتطلب التحقق؛ X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "احتفظ بقيمة operation_id/id الأصلية واقرأ حالتها؛ ولا تُكرر POST الأصلي مطلقًا.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "عملية حالة المعالجة الدفعية غير موجودة أو مملوكة لهوية أخرى.",
                "http_status": 404,
                "recovery": "استخدم id الأصلي كما هو، والمستخدم والمفتاح والمجموعة نفسها.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "احتفظ بمحتوى JSON الكامل للحالة الأصلية، وبكل نتيجة وcustom_id، وبجسم الاستجابة أو الخطأ كاملًا. احفظ results[] المكتملة بصيغة JSONL دون تصفية.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "محتوى JSON مضمّن في results[].response.body"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch",
                  "openai/gpt-4.1-nano"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "openai"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "openai"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4.1-nano:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "openai"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "openai"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "openai/gpt-4.1-nano:batch",
                              "openai/gpt-4.1-nano"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "يمكن للمستدعي قراءة محتوى JSONL الفعلي بترميز UTF-8 محليًا إلى requests[]. لا يُستخدم غرض للرفع ولا input_file_id ولا مرجع إلى ملف. إذا كانت مواد العميل مفقودة أو فارغة، يتوقف التحضير قبل POST.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "طلبات requests[] مضمّنة؛ يحتوي كل عنصر على custom_id وbody",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "أجسام طلبات Text Chat Completions ضمن غلاف Batch المضمّن الموثّق.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (إذا تم توفيره)",
              "completion_window (إذا تم توفيره)",
              "requests في النهاية"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "قيمة response.id الفعلية من استجابة الإنشاء الأصلية؛ مع المستخدم والمفتاح والمجموعة نفسها",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "احتفظ بمعرّف العملية الأصلي. تتضمن الاستجابة 503 result_pending_check الترويسة X-Should-Retry:false؛ لا تُعِد إرسال الدفعة الأصلية التي لا تُعرف نتيجتها مطلقًا."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "التعرفات الأساسية للرموز",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "الشريحة 1 لطول الطلب",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"openai/gpt-4.1-nano:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['openai/gpt-4.1-nano:batch', 'openai/gpt-4.1-nano']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"openai/gpt-4.1-nano:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "المعالجة الدفعية",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.4,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.025,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.1,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.4,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.000025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.000000025",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "openai/gpt-4.1-nano:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "93f62890938d269da482d2db77a500795aaf86fdf426906de164fd01de8b3c34",
    "input_html_sha256": "72debe397b478158ec4c3f1eeaa4382834000127c991d4d37da8348548350217",
    "private_audit_sha256": "749bb1d2d0df74132eee11b964cf7e85aaf11eb0b36b434aaa8572a223fe1f1d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/openai-gpt-4-1-nano-u003a-batch/",
    "description": "GPT-4.1 Nano هو العضو الصغير سريع الاستجابة في عائلة GPT-4.1 للمهام النصية والبصرية المحددة بدقة. يدعم سياقه الكبير وStructured Outputs واستدعاء الدوال التصنيف والاستخراج وخطوات التطبيق المركّزة.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/openai-gpt-4-1-nano-u003a-batch/index.md",
    "title": "OpenAI: GPT-4.1 Nano (batch) — Ailoot",
    "url": "https://ailoot.ai/models/ar/openai-gpt-4-1-nano-u003a-batch/"
  },
  "rawModel": {
    "about": "GPT-4.1 Nano هو أسرع أفراد عائلة GPT-4.1 لدى OpenAI، وصُمّم لاتباع التعليمات واستدعاء الأدوات من دون خطوة استدلال منفصلة. يقبل النصوص والصور وينتج النصوص. يلائم Nano عملية محددة جيدًا يحتاج فيها التطبيق إلى إجابة موجزة أو مجموعة حقول أو طلب الأداة التالي، بدل بحث واسع.\n\nمن الأمثلة المفيدة فرز الرسائل الواردة وفق مجموعة فئات مقدمة. اشرح كل فئة، وبيّن كيفية تمثيل الرسائل الملتبسة أو الخارجة عن النطاق، واطلب الفئة مع العبارة المصدرية التي تدعمها. للاستخراج، حدّد أسماء الحقول والقيم المسموح بها وكيفية التعامل مع المعلومات المفقودة. لمهمة كتابة قصيرة، قدّم الحقائق واطلب المقطع المحدد الذي تحتاج إليه مرحلة التطبيق التالية. ينبغي أن تكون الأمثلة والقيود صغيرة بما يكفي لتبقى واضحة حتى عندما تكون مجموعة المصادر كبيرة.\n\nيسرد المنتج نافذة سياق قدرها 1,047,576 رمز، وحدًّا أقصى للإخراج يبلغ 32,768 رمز، وتاريخ انتهاء تحديث المعرفة في 1 يونيو 2024. تطابق هذه المواصفات نافذة GPT-4.1 Mini، مع الحفاظ على هوية Nano المنفصلة ودوره الموجّه إلى سرعة الاستجابة. سمِّ المستندات وأقسام المحادثة، وأدرج السياق ذي الصلة بالعملية فقط، واحتفظ بمساحة للإجابة الكاملة. يمكن لنتائج الاسترجاع أو النص المرجعي المقدّم توفير حقائق أحدث من المعرفة التي تعلّمها النموذج.\n\nيدعم Nano البث وStructured Outputs. تؤدي الإجابة النهائية المقيّدة بمخطط غرضًا مختلفًا عن استدعاء دالة: تمنح الأولى التطبيق ناتجًا مكتملًا، بينما تطلب الثانية منه تنفيذ عملية. تدعم Structured Outputs مجموعة فرعية من JSON Schema؛ حدّد الخصائص المطلوبة وتمثيلًا واضحًا للقيم غير المعروفة. تعامل مع الرفض والإجابات غير المكتملة بشكل منفصل، وافحص القيم المستخرجة مقابل المدخل، بدل مساواة الشكل الصالح باستنتاج صحيح.\n\nتشمل مجموعة الأدوات الموثّقة استدعاء الدوال والبحث في الملفات وتفسير الشيفرة واتصالات MCP وأداة منفصلة لتوليد الصور. يوفّر التطبيق أوصاف الأدوات ومخططاتها، وينفّذ الدوال المخصصة، ويعيد نتائجها الفعلية. لنسخة Nano بتاريخ 14 أبريل 2025، توصي OpenAI تحديدًا بتعطيل استدعاءات الأدوات المتوازية، لأن النموذج قد يطلب الأداة نفسها عدة مرات في دور واحد. هذا اعتبار تنفيذي خاص بتلك النسخة، وليس سببًا لتفسير عدة استدعاءات مقترحة كإجراءات مكتملة.\n\nيضيف إدخال الصور أدلة بصرية إلى مهمة نصية، مثل قراءة تسمية ظاهرة أو وصف الحالة المعروضة في لقطة شاشة. استخدم صور PNG أوJPEG أوWebP أوGIF غير المتحرك المدعومة، وأبقِ النص مقروءًا، واشرح المشاهدة المهمة. يذكر دليل الرؤية صعوبات مع النص الصغير أو المدور والعلاقات المكانية الدقيقة وعدّ الأجسام وبعض الكتابات غير اللاتينية. قدّم سياقًا محيطًا عندما يجعل الاقتصاص وحده تسمية أو مخططًا ملتبسين. إجابة Nano نفسه نصية؛ وتعيد أداة توليد الصور ناتجها المنفصل. في مسار الرؤية الموثّق لدى OpenAI، تقتصر الحمولة الإجمالية للطلب على 512 MB، ويمكن للطلب أن يتضمن حتى 1,500 صورة؛ ويجب أيضًا أن تتسع نافذة سياق النموذج للصور والنصوص.\n\nفي مسار الملفات لدى المنتج، يتلقى النموذج القادر على الرؤية النص المستخرج وصور الصفحات من PDF معًا. تسهم تنسيقات المستندات الأخرى بالنص المستخرج، ويأخذ تعزيز جداول البيانات في الاعتبار ما يصل إلى أول 1,000 صف لكل ورقة. يجب أن يقل حجم الملف عن 50 MB، مع 50 MB إجمالًا عبر الطلب. يدعم Chat Completions أجزاء ملفات PDF، بينما يقبل مسار Responses الموثّق أنواع ملفات إضافية. لا تُمرَّر المخططات المضمّنة في المستندات غير PDF كمحتوى صوري، لذا يفيد تمثيل PDF عندما تكون الأدلة البصرية مهمة.\n\nتوثّق OpenAI التخزين المؤقت للموجّهات في Nano وPredicted Outputs لسلسلة GPT-4.1 Nano. يعيد التخزين المؤقت للموجّهات استخدام بادئة إدخال مؤهلة في خدمة المنتج. أما Predicted Outputs فتقدّم نص إخراج معروفًا إلى حد كبير لتحرير، مثل تنقيح مستند أو ملف شيفرة مع الحفاظ على أجزائه غير المتغيرة. مسار التنبؤ نصي فقط، ويستثني استدعاء الدوال وlogprobs وmax_completion_tokens، إلى جانب ضوابط أخرى. اختر المسار وفق العملية الفعلية، وأبقِ نتيجته مرتبطة بالمصدر الأصلي.\n\nيوثّق المنتج أيضًا الضبط الدقيق الخاضع للإشراف وتحسين التفضيلات المباشر لنسخة Nano المسمّاة من GPT-4.1. تكيّف أمثلة التدريب والإجابات المفضلة مقابل المرفوضة النموذج لمهمة متكررة؛ وهي تختلف عن السياق المقدّم لطلب عادي. لمرحلة استخراج أو تصنيف عملية، ابدأ بفئات واضحة وأمثلة وتنسيق نهائي صريح، ثم افحص ما إذا كانت الحقول المعادة تحافظ على الحقائق التي ستستخدمها المرحلة التالية.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 1047576,
      "manufacturer_input": [
        "image",
        "text",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "formats": [
      "batches"
    ],
    "id": "openai/gpt-4.1-nano:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.025,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "الغلاف المضمّن الموثّق غير صالح، أو توجد مفاتيح مكررة أو مشكلة في هوية العناصر، أو تعارض مع قدرات النموذج المضبوطة.",
                "http_status": 400,
                "recovery": "صحح الحقول المحددة قبل أي إرسال جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "مفتاح API غير صالح.",
                "http_status": 401,
                "recovery": "استخدم مفتاح Ailoot المصرّح به.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "مجموعة المعالجة الدفعية غير متاحة.",
                "http_status": 403,
                "recovery": "تحقق من صلاحية الوصول الممنوحة للمفتاح والمجموعة.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "تستخدم المعالجة الدفعية الفوترة من الرصيد؛ ويُرفض إنشاؤها عبر الاشتراك.",
                "http_status": 422,
                "recovery": "استخدم المجموعة المصرّح بها التي تُخصم رسومها من الرصيد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "لا يمكن تقديم تقدير تكلفة لمدخلات المعالجة الدفعية.",
                "http_status": 422,
                "recovery": "احتفظ بالاستجابة؛ واستخدم المدخلات الموثّقة لعائلة الواجهات.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "حجز الرصيد للمعالجة الدفعية غير متاح.",
                "http_status": 402,
                "recovery": "عالج ما يمنع قبول الطلب قبل إرسال طلب جديد.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "سعر طريقة المعالجة الدفعية أو تعرفاتها الأصلية غير متاحة.",
                "http_status": 503,
                "recovery": "احتفظ بالاستجابة؛ ولا تستبدل الأسعار.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "مسار المورّد المحدد غير متاح.",
                "http_status": 503,
                "recovery": "احتفظ بالاستجابة لإصلاح المسار.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "النتيجة الأصلية تتطلب التحقق؛ X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "احتفظ بقيمة operation_id/id الأصلية واقرأ حالتها؛ ولا تُكرر POST الأصلي مطلقًا.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "عملية حالة المعالجة الدفعية غير موجودة أو مملوكة لهوية أخرى.",
                "http_status": 404,
                "recovery": "استخدم id الأصلي كما هو، والمستخدم والمفتاح والمجموعة نفسها.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "احتفظ بمحتوى JSON الكامل للحالة الأصلية، وبكل نتيجة وcustom_id، وبجسم الاستجابة أو الخطأ كاملًا. احفظ results[] المكتملة بصيغة JSONL دون تصفية.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "محتوى JSON مضمّن في results[].response.body"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch",
                  "openai/gpt-4.1-nano"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "openai"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "openai"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4.1-nano:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "openai"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "openai"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "openai/gpt-4.1-nano:batch",
                              "openai/gpt-4.1-nano"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "يمكن للمستدعي قراءة محتوى JSONL الفعلي بترميز UTF-8 محليًا إلى requests[]. لا يُستخدم غرض للرفع ولا input_file_id ولا مرجع إلى ملف. إذا كانت مواد العميل مفقودة أو فارغة، يتوقف التحضير قبل POST.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "طلبات requests[] مضمّنة؛ يحتوي كل عنصر على custom_id وbody",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "أجسام طلبات Text Chat Completions ضمن غلاف Batch المضمّن الموثّق.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (إذا تم توفيره)",
              "completion_window (إذا تم توفيره)",
              "requests في النهاية"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "قيمة response.id الفعلية من استجابة الإنشاء الأصلية؛ مع المستخدم والمفتاح والمجموعة نفسها",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "احتفظ بمعرّف العملية الأصلي. تتضمن الاستجابة 503 result_pending_check الترويسة X-Should-Retry:false؛ لا تُعِد إرسال الدفعة الأصلية التي لا تُعرف نتيجتها مطلقًا."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "التعرفات الأساسية للرموز",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "الشريحة 1 لطول الطلب",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"openai/gpt-4.1-nano:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['openai/gpt-4.1-nano:batch', 'openai/gpt-4.1-nano']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"openai/gpt-4.1-nano:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "المعالجة الدفعية",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.4,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.025,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.1,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.4,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.000025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.000000025",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/gpt-4.1-nano:batch",
        "request_model_id": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4.1 Nano (batch)",
    "price": {
      "in": 0.1,
      "in_label": null,
      "out": 0.4,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.1,
      "sort_out": 0.4,
      "varies": true
    },
    "short": "GPT-4.1 Nano هو العضو الصغير سريع الاستجابة في عائلة GPT-4.1 للمهام النصية والبصرية المحددة بدقة. يدعم سياقه الكبير وStructured Outputs واستدعاء الدوال التصنيف والاستخراج وخطوات التطبيق المركّزة."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "GPT-4.1 Nano هو العضو الصغير سريع الاستجابة في عائلة GPT-4.1 للمهام النصية والبصرية المحددة بدقة. يدعم سياقه الكبير وStructured Outputs واستدعاء الدوال التصنيف والاستخراج وخطوات التطبيق المركّزة.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1b5b3955781140bf926791c564001885981585f6d2501fa6b4efee1909de15f3",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "545f3bd2f8b5c531db94a4cf2fc5562d8bc152baa38bacbfb83536dfde7a0013"
}
