{
  "aboutHtml": "<p>Mistral Medium 3.1 إصدار متعدد الوسائط من Mistral AI للفهم النصي والبصري. تصف الشركة المطوّرة هذه المراجعة بأنها تحسّن النبرة والأداء ضمن خط Medium 3. يقبل النصوص والصور وينتج نصوصًا: شرحًا أو إجابة عن مستند أو سجلًا منظّمًا أو استدعاء دالة مقترحًا. ومعرّف الشركة المطوّرة الثابت لهذا الإصدار هو mistral-medium-2508.</p><p>السياق والإصدار المحدّد</p><p>توثّق صفحة النموذج نافذة سياق بطول 128 ألف رمز. استخدمها لإبقاء مقاطع المصدر والأدلة الصورية والمحادثة ومهمة المستخدم المرتبطة معًا. حدّد أدوار المستندات والسؤال المطلوب إجابته قبل تقديم مجموعة كبيرة. يمكن لسياق طويل دعم مقارنة مركّزة بينما يظل المُنتَج النهائي جدولًا قصيرًا أو قسمًا معدّلًا.</p><p>يحتفظ Medium 3.1 بمواصفاته الخاصة. ينبغي عدم إسناد سياق 256 ألف رمز وبنية 128 مليار معلمة الكثيفة وأوضاع الاستدلال الهجين القابلة للتهيئة الموصوفة لـMedium 3.5 إلى هذا الإدراج. ولا تقدّم صفحة 3.1 عدد معلمات أو رقمًا منفصلًا للحد الأقصى لطول الإجابة يمكن استبداله بأمان من النموذج اللاحق.</p><p>المخرجات المنظّمة والدوال</p><p>تسرد الشركة المطوّرة المخرجات المنظّمة واستدعاء الدوال والمخرجات المتوقعة ضمن ميزات هذا الإصدار. لمهمة استخراج منظّم، عرّف الحقول المطلوبة والأنواع المتوقعة وكيفية التعامل مع المعلومات الغائبة عن المصدر. يمكن لسجل احتواء معرّف المستند والعبارة المستخرجة وموضع مصدرها والسؤال المتبقي. اطلب السجل وحده حين سيحلّله برنامج، أو أبقِ شرحًا نثريًا منفصلًا حين يجب أن يفحص شخص التفسير.</p><p>تميّز وثائق Mistral المشتركة للمخرجات المنظّمة بين وضع JSON والمخطط المخصّص. يتطلب وضع JSON تعليمة صريحة بشأن تنسيق JSON المرغوب، بينما يعرّف المسار المخصّص بنية أدق. هذا تنسيق للنتيجة النصية، لا وسيط محتوى جديد أو إجراء خارجي.</p><p>للدوال، يعرّف التطبيق العملية المتاحة ووسائطها، ويختار النموذج استدعاءً مناسبًا ويجهّز القيم، وينفّذه التطبيق. ثم تصبح نتيجته معلومات للإجابة التالية. يمكن لمساعد مستندات استخدام بحث للحصول على بيانات مرجعية مفقودة، لكن فقط إذا وفّر التطبيق المحيط ذلك البحث وأعاد نتيجته الفعلية. أبقِ الاستدعاء المقترح والبيانات المعادة مرتبطين أحدهما بالآخر.</p><p>التعديلات المتوقعة وبوادئ الإجابات</p><p>تفيد المخرجات المتوقعة حين يكون معظم الناتج المرغوب معروفًا مسبقًا، مثل مستند أو ملف شيفرة يحتاج إلى تعديل محدود. قدّم المحتوى القائم وصف التغيير بدقة، بما يشمل ما يجب أن يبقى دون تغيير. قد يحدّث طلب مصطلحات قسم واحد أو يستبدل تفصيلًا تنفيذيًا واحدًا مع الحفاظ على بقية المستند. يحتوي التنبؤ محتوى مخرجات متوقعًا، لا تغييرًا مكتملًا طُبّق على ملف.</p><p>تسرد صفحة النموذج أيضًا الاستكمال من بادئة إجابة. في وثائق المحادثة لدى الشركة المطوّرة، توفّر البادئة بداية معروفة لاستجابة المساعد، ثم يواصل التوليد بعدها. تعالج البداية المعروفة والجسم المتوقع مشكلتي إعداد مختلفتين. وتُعد المعالجة الدفعية وواجهات الوكيل أو المحادثة كذلك ميزات لسير العمل، لا إصدارات منفصلة للصور أو الصوت أو الاستدلال من Medium 3.1.</p><p>أسئلة المستندات والأسئلة البصرية</p><p>يجمع سير أسئلة المستندات المدرج النص والبنية والتنسيق المُجهَّزة باستخدام OCR مع تحليل النموذج اللغوي. اسأل عن الشرط أو المقطع أو العلاقة المعينة التي تتطلبها المهمة. يمكن لمقارنة تحديد المستندات المصدرية وطلب العبارات المشتركة والتعارضات والتفاصيل غير المحسومة، مع الاحتفاظ بموضع المصدر بجانب كل نتيجة.</p><p>يتضمن دليل الرؤية لدى الشركة المطوّرة Medium 3.1 صراحةً. يمكن لسؤال بصري مباشر تقديم رسم بياني أو صورة مستند أو لقطة شاشة مقروءة، والسؤال عن الدليل المرئي الذي يدعم استنتاجًا. حافظ على المحاور والوحدات والتسميات والسياق المحيط بحقل مقتصّ. إذا قُدّمت صور متعددة، فحدّد ترتيبها ودورها بدلًا من ترك النموذج يستنتج أيها الأصل أو المراجعة أو المرجع.</p><p>مثلًا، أرفق متطلب عملية مكتوبًا بلقطة شاشة، واطلب جدولًا بالتطابقات المرئية والفروق والأسئلة التي تتطلب مزيدًا من المعلومات. ويمكن لمهمة أخرى تقديم نسختين من مستند وطلب مقطع معدّل يحافظ على شروطهما المشتركة مع حل تناقض مسمّى. هذه تطبيقات مقترحة للقدرات البصرية والمستندية والتحريرية الموثّقة، مع تعريف النتيجة المطلوبة مسبقًا.</p><p>إعداد المُنتَج النهائي</p><p>امنح المساعد دورًا واضحًا والمادة المصدرية التي يستخدمها وشكل الإجابة. أبقِ قواعد الاستجابة المستمرة منفصلة عن المستند الجاري فحصه، واذكر اللغة النهائية والمصطلحات. يمكن لاستجابة مفيدة فصل حقيقة مستخرجة ومصدرها وتفسيرها، مما يجعلها أسهل فحصًا من ملخص مدمج واحد.</p><p>تظل النتيجة الموثّقة نصية. تخص الأدوات الخارجية وتغييرات الملفات والمعالجة الإضافية للمستندات التطبيق المتصل بالمحادثة. حافظ على إصدار Medium 3.1 المسمّى وسياقه البالغ 128 ألف رمز، واطلب الشرح أو السجل المنظّم أو المراجعة الموجّهة التي تحتاجها الخطوة التالية فعلًا.</p>",
  "aboutText": "Mistral Medium 3.1 إصدار متعدد الوسائط من Mistral AI للفهم النصي والبصري. تصف الشركة المطوّرة هذه المراجعة بأنها تحسّن النبرة والأداء ضمن خط Medium 3. يقبل النصوص والصور وينتج نصوصًا: شرحًا أو إجابة عن مستند أو سجلًا منظّمًا أو استدعاء دالة مقترحًا. ومعرّف الشركة المطوّرة الثابت لهذا الإصدار هو mistral-medium-2508.\n\nالسياق والإصدار المحدّد\n\nتوثّق صفحة النموذج نافذة سياق بطول 128 ألف رمز. استخدمها لإبقاء مقاطع المصدر والأدلة الصورية والمحادثة ومهمة المستخدم المرتبطة معًا. حدّد أدوار المستندات والسؤال المطلوب إجابته قبل تقديم مجموعة كبيرة. يمكن لسياق طويل دعم مقارنة مركّزة بينما يظل المُنتَج النهائي جدولًا قصيرًا أو قسمًا معدّلًا.\n\nيحتفظ Medium 3.1 بمواصفاته الخاصة. ينبغي عدم إسناد سياق 256 ألف رمز وبنية 128 مليار معلمة الكثيفة وأوضاع الاستدلال الهجين القابلة للتهيئة الموصوفة لـMedium 3.5 إلى هذا الإدراج. ولا تقدّم صفحة 3.1 عدد معلمات أو رقمًا منفصلًا للحد الأقصى لطول الإجابة يمكن استبداله بأمان من النموذج اللاحق.\n\nالمخرجات المنظّمة والدوال\n\nتسرد الشركة المطوّرة المخرجات المنظّمة واستدعاء الدوال والمخرجات المتوقعة ضمن ميزات هذا الإصدار. لمهمة استخراج منظّم، عرّف الحقول المطلوبة والأنواع المتوقعة وكيفية التعامل مع المعلومات الغائبة عن المصدر. يمكن لسجل احتواء معرّف المستند والعبارة المستخرجة وموضع مصدرها والسؤال المتبقي. اطلب السجل وحده حين سيحلّله برنامج، أو أبقِ شرحًا نثريًا منفصلًا حين يجب أن يفحص شخص التفسير.\n\nتميّز وثائق Mistral المشتركة للمخرجات المنظّمة بين وضع JSON والمخطط المخصّص. يتطلب وضع JSON تعليمة صريحة بشأن تنسيق JSON المرغوب، بينما يعرّف المسار المخصّص بنية أدق. هذا تنسيق للنتيجة النصية، لا وسيط محتوى جديد أو إجراء خارجي.\n\nللدوال، يعرّف التطبيق العملية المتاحة ووسائطها، ويختار النموذج استدعاءً مناسبًا ويجهّز القيم، وينفّذه التطبيق. ثم تصبح نتيجته معلومات للإجابة التالية. يمكن لمساعد مستندات استخدام بحث للحصول على بيانات مرجعية مفقودة، لكن فقط إذا وفّر التطبيق المحيط ذلك البحث وأعاد نتيجته الفعلية. أبقِ الاستدعاء المقترح والبيانات المعادة مرتبطين أحدهما بالآخر.\n\nالتعديلات المتوقعة وبوادئ الإجابات\n\nتفيد المخرجات المتوقعة حين يكون معظم الناتج المرغوب معروفًا مسبقًا، مثل مستند أو ملف شيفرة يحتاج إلى تعديل محدود. قدّم المحتوى القائم وصف التغيير بدقة، بما يشمل ما يجب أن يبقى دون تغيير. قد يحدّث طلب مصطلحات قسم واحد أو يستبدل تفصيلًا تنفيذيًا واحدًا مع الحفاظ على بقية المستند. يحتوي التنبؤ محتوى مخرجات متوقعًا، لا تغييرًا مكتملًا طُبّق على ملف.\n\nتسرد صفحة النموذج أيضًا الاستكمال من بادئة إجابة. في وثائق المحادثة لدى الشركة المطوّرة، توفّر البادئة بداية معروفة لاستجابة المساعد، ثم يواصل التوليد بعدها. تعالج البداية المعروفة والجسم المتوقع مشكلتي إعداد مختلفتين. وتُعد المعالجة الدفعية وواجهات الوكيل أو المحادثة كذلك ميزات لسير العمل، لا إصدارات منفصلة للصور أو الصوت أو الاستدلال من Medium 3.1.\n\nأسئلة المستندات والأسئلة البصرية\n\nيجمع سير أسئلة المستندات المدرج النص والبنية والتنسيق المُجهَّزة باستخدام OCR مع تحليل النموذج اللغوي. اسأل عن الشرط أو المقطع أو العلاقة المعينة التي تتطلبها المهمة. يمكن لمقارنة تحديد المستندات المصدرية وطلب العبارات المشتركة والتعارضات والتفاصيل غير المحسومة، مع الاحتفاظ بموضع المصدر بجانب كل نتيجة.\n\nيتضمن دليل الرؤية لدى الشركة المطوّرة Medium 3.1 صراحةً. يمكن لسؤال بصري مباشر تقديم رسم بياني أو صورة مستند أو لقطة شاشة مقروءة، والسؤال عن الدليل المرئي الذي يدعم استنتاجًا. حافظ على المحاور والوحدات والتسميات والسياق المحيط بحقل مقتصّ. إذا قُدّمت صور متعددة، فحدّد ترتيبها ودورها بدلًا من ترك النموذج يستنتج أيها الأصل أو المراجعة أو المرجع.\n\nمثلًا، أرفق متطلب عملية مكتوبًا بلقطة شاشة، واطلب جدولًا بالتطابقات المرئية والفروق والأسئلة التي تتطلب مزيدًا من المعلومات. ويمكن لمهمة أخرى تقديم نسختين من مستند وطلب مقطع معدّل يحافظ على شروطهما المشتركة مع حل تناقض مسمّى. هذه تطبيقات مقترحة للقدرات البصرية والمستندية والتحريرية الموثّقة، مع تعريف النتيجة المطلوبة مسبقًا.\n\nإعداد المُنتَج النهائي\n\nامنح المساعد دورًا واضحًا والمادة المصدرية التي يستخدمها وشكل الإجابة. أبقِ قواعد الاستجابة المستمرة منفصلة عن المستند الجاري فحصه، واذكر اللغة النهائية والمصطلحات. يمكن لاستجابة مفيدة فصل حقيقة مستخرجة ومصدرها وتفسيرها، مما يجعلها أسهل فحصًا من ملخص مدمج واحد.\n\nتظل النتيجة الموثّقة نصية. تخص الأدوات الخارجية وتغييرات الملفات والمعالجة الإضافية للمستندات التطبيق المتصل بالمحادثة. حافظ على إصدار Medium 3.1 المسمّى وسياقه البالغ 128 ألف رمز، واطلب الشرح أو السجل المنظّم أو المراجعة الموجّهة التي تحتاجها الخطوة التالية فعلًا.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "47695d91fe2b5cc82f3808f0ac05b6e1361e8a0da0b7ec9282805d7999435120",
    "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\">•</span><h2 id=\"sheet-title\">Mistral: Mistral Medium 3.1 (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/mistral-medium-3.1: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|mistralai%2Fmistral-medium-3.1%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\">Mistral Medium 3.1 نموذج للنصوص والصور لإجابات المحادثة وأسئلة المستندات والاستخراج المنظّم. يدعم سياقه الذي تحدده الشركة المطوّرة بطول 128 ألف رمز وميزات استدعاء الدوال والمخرجات المتوقعة والبوادئ المدرجة الشروح القائمة على المصادر ومسارات التحرير الموجّه.</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>Mistral Medium 3.1 إصدار متعدد الوسائط من Mistral AI للفهم النصي والبصري. تصف الشركة المطوّرة هذه المراجعة بأنها تحسّن النبرة والأداء ضمن خط Medium 3. يقبل النصوص والصور وينتج نصوصًا: شرحًا أو إجابة عن مستند أو سجلًا منظّمًا أو استدعاء دالة مقترحًا. ومعرّف الشركة المطوّرة الثابت لهذا الإصدار هو mistral-medium-2508.</p><p>السياق والإصدار المحدّد</p><p>توثّق صفحة النموذج نافذة سياق بطول 128 ألف رمز. استخدمها لإبقاء مقاطع المصدر والأدلة الصورية والمحادثة ومهمة المستخدم المرتبطة معًا. حدّد أدوار المستندات والسؤال المطلوب إجابته قبل تقديم مجموعة كبيرة. يمكن لسياق طويل دعم مقارنة مركّزة بينما يظل المُنتَج النهائي جدولًا قصيرًا أو قسمًا معدّلًا.</p><p>يحتفظ Medium 3.1 بمواصفاته الخاصة. ينبغي عدم إسناد سياق 256 ألف رمز وبنية 128 مليار معلمة الكثيفة وأوضاع الاستدلال الهجين القابلة للتهيئة الموصوفة لـMedium 3.5 إلى هذا الإدراج. ولا تقدّم صفحة 3.1 عدد معلمات أو رقمًا منفصلًا للحد الأقصى لطول الإجابة يمكن استبداله بأمان من النموذج اللاحق.</p><p>المخرجات المنظّمة والدوال</p><p>تسرد الشركة المطوّرة المخرجات المنظّمة واستدعاء الدوال والمخرجات المتوقعة ضمن ميزات هذا الإصدار. لمهمة استخراج منظّم، عرّف الحقول المطلوبة والأنواع المتوقعة وكيفية التعامل مع المعلومات الغائبة عن المصدر. يمكن لسجل احتواء معرّف المستند والعبارة المستخرجة وموضع مصدرها والسؤال المتبقي. اطلب السجل وحده حين سيحلّله برنامج، أو أبقِ شرحًا نثريًا منفصلًا حين يجب أن يفحص شخص التفسير.</p><p>تميّز وثائق Mistral المشتركة للمخرجات المنظّمة بين وضع JSON والمخطط المخصّص. يتطلب وضع JSON تعليمة صريحة بشأن تنسيق JSON المرغوب، بينما يعرّف المسار المخصّص بنية أدق. هذا تنسيق للنتيجة النصية، لا وسيط محتوى جديد أو إجراء خارجي.</p><p>للدوال، يعرّف التطبيق العملية المتاحة ووسائطها، ويختار النموذج استدعاءً مناسبًا ويجهّز القيم، وينفّذه التطبيق. ثم تصبح نتيجته معلومات للإجابة التالية. يمكن لمساعد مستندات استخدام بحث للحصول على بيانات مرجعية مفقودة، لكن فقط إذا وفّر التطبيق المحيط ذلك البحث وأعاد نتيجته الفعلية. أبقِ الاستدعاء المقترح والبيانات المعادة مرتبطين أحدهما بالآخر.</p><p>التعديلات المتوقعة وبوادئ الإجابات</p><p>تفيد المخرجات المتوقعة حين يكون معظم الناتج المرغوب معروفًا مسبقًا، مثل مستند أو ملف شيفرة يحتاج إلى تعديل محدود. قدّم المحتوى القائم وصف التغيير بدقة، بما يشمل ما يجب أن يبقى دون تغيير. قد يحدّث طلب مصطلحات قسم واحد أو يستبدل تفصيلًا تنفيذيًا واحدًا مع الحفاظ على بقية المستند. يحتوي التنبؤ محتوى مخرجات متوقعًا، لا تغييرًا مكتملًا طُبّق على ملف.</p><p>تسرد صفحة النموذج أيضًا الاستكمال من بادئة إجابة. في وثائق المحادثة لدى الشركة المطوّرة، توفّر البادئة بداية معروفة لاستجابة المساعد، ثم يواصل التوليد بعدها. تعالج البداية المعروفة والجسم المتوقع مشكلتي إعداد مختلفتين. وتُعد المعالجة الدفعية وواجهات الوكيل أو المحادثة كذلك ميزات لسير العمل، لا إصدارات منفصلة للصور أو الصوت أو الاستدلال من Medium 3.1.</p><p>أسئلة المستندات والأسئلة البصرية</p><p>يجمع سير أسئلة المستندات المدرج النص والبنية والتنسيق المُجهَّزة باستخدام OCR مع تحليل النموذج اللغوي. اسأل عن الشرط أو المقطع أو العلاقة المعينة التي تتطلبها المهمة. يمكن لمقارنة تحديد المستندات المصدرية وطلب العبارات المشتركة والتعارضات والتفاصيل غير المحسومة، مع الاحتفاظ بموضع المصدر بجانب كل نتيجة.</p><p>يتضمن دليل الرؤية لدى الشركة المطوّرة Medium 3.1 صراحةً. يمكن لسؤال بصري مباشر تقديم رسم بياني أو صورة مستند أو لقطة شاشة مقروءة، والسؤال عن الدليل المرئي الذي يدعم استنتاجًا. حافظ على المحاور والوحدات والتسميات والسياق المحيط بحقل مقتصّ. إذا قُدّمت صور متعددة، فحدّد ترتيبها ودورها بدلًا من ترك النموذج يستنتج أيها الأصل أو المراجعة أو المرجع.</p><p>مثلًا، أرفق متطلب عملية مكتوبًا بلقطة شاشة، واطلب جدولًا بالتطابقات المرئية والفروق والأسئلة التي تتطلب مزيدًا من المعلومات. ويمكن لمهمة أخرى تقديم نسختين من مستند وطلب مقطع معدّل يحافظ على شروطهما المشتركة مع حل تناقض مسمّى. هذه تطبيقات مقترحة للقدرات البصرية والمستندية والتحريرية الموثّقة، مع تعريف النتيجة المطلوبة مسبقًا.</p><p>إعداد المُنتَج النهائي</p><p>امنح المساعد دورًا واضحًا والمادة المصدرية التي يستخدمها وشكل الإجابة. أبقِ قواعد الاستجابة المستمرة منفصلة عن المستند الجاري فحصه، واذكر اللغة النهائية والمصطلحات. يمكن لاستجابة مفيدة فصل حقيقة مستخرجة ومصدرها وتفسيرها، مما يجعلها أسهل فحصًا من ملخص مدمج واحد.</p><p>تظل النتيجة الموثّقة نصية. تخص الأدوات الخارجية وتغييرات الملفات والمعالجة الإضافية للمستندات التطبيق المتصل بالمحادثة. حافظ على إصدار Medium 3.1 المسمّى وسياقه البالغ 128 ألف رمز، واطلب الشرح أو السجل المنظّم أو المراجعة الموجّهة التي تحتاجها الخطوة التالية فعلًا.</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>mistralai/mistral-medium-3.1: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>mistralai/mistral-medium-3.1:batch, mistralai/mistral-medium-3.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\">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>mistral</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.0004</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>$0.00004</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.0004</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>$0.00004</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-1922-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1922-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · عينة الاختبار المحفوظة</button><button class=\"cg-tab\" id=\"model-code-1922-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1922-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · بيانات العميل الفعلية بصيغة JSONL</button><button class=\"cg-tab\" id=\"model-code-1922-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1922-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-1922-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1922-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;mistralai/mistral-medium-3.1: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-1922-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1922-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;mistralai/mistral-medium-3.1:batch&#39;, &#39;mistralai/mistral-medium-3.1&#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;mistralai/mistral-medium-3.1: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-1922-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1922-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-1923-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1923-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-1923-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1923-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=mistralai%2Fmistral-medium-3.1%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fmistral-medium-3.1%3Abatch&amp;fmt=batches\"><code>mistralai/mistral-medium-3.1:batch</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=mistralai%2Fmistral-medium-3.1%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fmistral-medium-3.1%3Abatch&amp;fmt=batches\"><code>mistralai/mistral-medium-3.1:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/mistral-medium-3.1:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "mistralai/mistral-medium-3.1:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|mistralai%2Fmistral-medium-3.1%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.04,
        "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": "mistralai/mistral-medium-3.1: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": [
                  "mistralai/mistral-medium-3.1: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": [
                  "mistralai/mistral-medium-3.1:batch",
                  "mistralai/mistral-medium-3.1"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "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": [
                "mistral"
              ],
              "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": [
                    "mistralai/mistral-medium-3.1:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "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": [
                              "mistralai/mistral-medium-3.1:batch",
                              "mistralai/mistral-medium-3.1"
                            ],
                            "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": "mistralai/mistral-medium-3.1: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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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\":\"mistralai/mistral-medium-3.1: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 ['mistralai/mistral-medium-3.1:batch', 'mistralai/mistral-medium-3.1']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/mistral-medium-3.1: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.4,
        "input": [
          "text"
        ],
        "label": "المعالجة الدفعية",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 2,
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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": "mistralai/mistral-medium-3.1:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.04,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.4,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 2,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000002",
            "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.00004000",
            "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.00000004",
            "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": "mistralai/mistral-medium-3.1:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "1b476c15842b91127f4d88cc8d07ac751ddbf5b7bb236b3f1004681e8146acd0",
    "input_html_sha256": "e8b3eb094f9f83b9442f9fda4bfd1f43329628e8e1c11e26256f0ea11af3cd25",
    "private_audit_sha256": "df11600b1b145146bd3b8ea4797d9b26aa6f6c8b4e6ef276facb25bd159d78ef",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/mistralai-mistral-medium-3-1-u003a-batch/",
    "description": "Mistral Medium 3.1 نموذج للنصوص والصور لإجابات المحادثة وأسئلة المستندات والاستخراج المنظّم. يدعم سياقه الذي تحدده الشركة المطوّرة بطول 128 ألف رمز وميزات استدعاء الدوال والمخرجات المتوقعة والبوادئ المدرجة الشروح القائمة على المصادر ومسارات التحرير الموجّه.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/mistralai-mistral-medium-3-1-u003a-batch/index.md",
    "title": "Mistral: Mistral Medium 3.1 (batch) — Ailoot",
    "url": "https://ailoot.ai/models/ar/mistralai-mistral-medium-3-1-u003a-batch/"
  },
  "rawModel": {
    "about": "Mistral Medium 3.1 إصدار متعدد الوسائط من Mistral AI للفهم النصي والبصري. تصف الشركة المطوّرة هذه المراجعة بأنها تحسّن النبرة والأداء ضمن خط Medium 3. يقبل النصوص والصور وينتج نصوصًا: شرحًا أو إجابة عن مستند أو سجلًا منظّمًا أو استدعاء دالة مقترحًا. ومعرّف الشركة المطوّرة الثابت لهذا الإصدار هو mistral-medium-2508.\n\nالسياق والإصدار المحدّد\n\nتوثّق صفحة النموذج نافذة سياق بطول 128 ألف رمز. استخدمها لإبقاء مقاطع المصدر والأدلة الصورية والمحادثة ومهمة المستخدم المرتبطة معًا. حدّد أدوار المستندات والسؤال المطلوب إجابته قبل تقديم مجموعة كبيرة. يمكن لسياق طويل دعم مقارنة مركّزة بينما يظل المُنتَج النهائي جدولًا قصيرًا أو قسمًا معدّلًا.\n\nيحتفظ Medium 3.1 بمواصفاته الخاصة. ينبغي عدم إسناد سياق 256 ألف رمز وبنية 128 مليار معلمة الكثيفة وأوضاع الاستدلال الهجين القابلة للتهيئة الموصوفة لـMedium 3.5 إلى هذا الإدراج. ولا تقدّم صفحة 3.1 عدد معلمات أو رقمًا منفصلًا للحد الأقصى لطول الإجابة يمكن استبداله بأمان من النموذج اللاحق.\n\nالمخرجات المنظّمة والدوال\n\nتسرد الشركة المطوّرة المخرجات المنظّمة واستدعاء الدوال والمخرجات المتوقعة ضمن ميزات هذا الإصدار. لمهمة استخراج منظّم، عرّف الحقول المطلوبة والأنواع المتوقعة وكيفية التعامل مع المعلومات الغائبة عن المصدر. يمكن لسجل احتواء معرّف المستند والعبارة المستخرجة وموضع مصدرها والسؤال المتبقي. اطلب السجل وحده حين سيحلّله برنامج، أو أبقِ شرحًا نثريًا منفصلًا حين يجب أن يفحص شخص التفسير.\n\nتميّز وثائق Mistral المشتركة للمخرجات المنظّمة بين وضع JSON والمخطط المخصّص. يتطلب وضع JSON تعليمة صريحة بشأن تنسيق JSON المرغوب، بينما يعرّف المسار المخصّص بنية أدق. هذا تنسيق للنتيجة النصية، لا وسيط محتوى جديد أو إجراء خارجي.\n\nللدوال، يعرّف التطبيق العملية المتاحة ووسائطها، ويختار النموذج استدعاءً مناسبًا ويجهّز القيم، وينفّذه التطبيق. ثم تصبح نتيجته معلومات للإجابة التالية. يمكن لمساعد مستندات استخدام بحث للحصول على بيانات مرجعية مفقودة، لكن فقط إذا وفّر التطبيق المحيط ذلك البحث وأعاد نتيجته الفعلية. أبقِ الاستدعاء المقترح والبيانات المعادة مرتبطين أحدهما بالآخر.\n\nالتعديلات المتوقعة وبوادئ الإجابات\n\nتفيد المخرجات المتوقعة حين يكون معظم الناتج المرغوب معروفًا مسبقًا، مثل مستند أو ملف شيفرة يحتاج إلى تعديل محدود. قدّم المحتوى القائم وصف التغيير بدقة، بما يشمل ما يجب أن يبقى دون تغيير. قد يحدّث طلب مصطلحات قسم واحد أو يستبدل تفصيلًا تنفيذيًا واحدًا مع الحفاظ على بقية المستند. يحتوي التنبؤ محتوى مخرجات متوقعًا، لا تغييرًا مكتملًا طُبّق على ملف.\n\nتسرد صفحة النموذج أيضًا الاستكمال من بادئة إجابة. في وثائق المحادثة لدى الشركة المطوّرة، توفّر البادئة بداية معروفة لاستجابة المساعد، ثم يواصل التوليد بعدها. تعالج البداية المعروفة والجسم المتوقع مشكلتي إعداد مختلفتين. وتُعد المعالجة الدفعية وواجهات الوكيل أو المحادثة كذلك ميزات لسير العمل، لا إصدارات منفصلة للصور أو الصوت أو الاستدلال من Medium 3.1.\n\nأسئلة المستندات والأسئلة البصرية\n\nيجمع سير أسئلة المستندات المدرج النص والبنية والتنسيق المُجهَّزة باستخدام OCR مع تحليل النموذج اللغوي. اسأل عن الشرط أو المقطع أو العلاقة المعينة التي تتطلبها المهمة. يمكن لمقارنة تحديد المستندات المصدرية وطلب العبارات المشتركة والتعارضات والتفاصيل غير المحسومة، مع الاحتفاظ بموضع المصدر بجانب كل نتيجة.\n\nيتضمن دليل الرؤية لدى الشركة المطوّرة Medium 3.1 صراحةً. يمكن لسؤال بصري مباشر تقديم رسم بياني أو صورة مستند أو لقطة شاشة مقروءة، والسؤال عن الدليل المرئي الذي يدعم استنتاجًا. حافظ على المحاور والوحدات والتسميات والسياق المحيط بحقل مقتصّ. إذا قُدّمت صور متعددة، فحدّد ترتيبها ودورها بدلًا من ترك النموذج يستنتج أيها الأصل أو المراجعة أو المرجع.\n\nمثلًا، أرفق متطلب عملية مكتوبًا بلقطة شاشة، واطلب جدولًا بالتطابقات المرئية والفروق والأسئلة التي تتطلب مزيدًا من المعلومات. ويمكن لمهمة أخرى تقديم نسختين من مستند وطلب مقطع معدّل يحافظ على شروطهما المشتركة مع حل تناقض مسمّى. هذه تطبيقات مقترحة للقدرات البصرية والمستندية والتحريرية الموثّقة، مع تعريف النتيجة المطلوبة مسبقًا.\n\nإعداد المُنتَج النهائي\n\nامنح المساعد دورًا واضحًا والمادة المصدرية التي يستخدمها وشكل الإجابة. أبقِ قواعد الاستجابة المستمرة منفصلة عن المستند الجاري فحصه، واذكر اللغة النهائية والمصطلحات. يمكن لاستجابة مفيدة فصل حقيقة مستخرجة ومصدرها وتفسيرها، مما يجعلها أسهل فحصًا من ملخص مدمج واحد.\n\nتظل النتيجة الموثّقة نصية. تخص الأدوات الخارجية وتغييرات الملفات والمعالجة الإضافية للمستندات التطبيق المتصل بالمحادثة. حافظ على إصدار Medium 3.1 المسمّى وسياقه البالغ 128 ألف رمز، واطلب الشرح أو السجل المنظّم أو المراجعة الموجّهة التي تحتاجها الخطوة التالية فعلًا.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 131072,
      "manufacturer_input": [
        "text",
        "image",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000002",
            "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": "mistralai/mistral-medium-3.1:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.04,
        "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": "mistralai/mistral-medium-3.1: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": [
                  "mistralai/mistral-medium-3.1: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": [
                  "mistralai/mistral-medium-3.1:batch",
                  "mistralai/mistral-medium-3.1"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "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": [
                "mistral"
              ],
              "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": [
                    "mistralai/mistral-medium-3.1:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "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": [
                              "mistralai/mistral-medium-3.1:batch",
                              "mistralai/mistral-medium-3.1"
                            ],
                            "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": "mistralai/mistral-medium-3.1: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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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\":\"mistralai/mistral-medium-3.1: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 ['mistralai/mistral-medium-3.1:batch', 'mistralai/mistral-medium-3.1']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/mistral-medium-3.1: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.4,
        "input": [
          "text"
        ],
        "label": "المعالجة الدفعية",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 2,
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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": "mistralai/mistral-medium-3.1:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.04,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.4,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 2,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000002",
            "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.00004000",
            "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.00000004",
            "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": "mistralai/mistral-medium-3.1:batch",
        "request_model_id": "mistralai/mistral-medium-3.1:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Mistral Medium 3.1 (batch)",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 2,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 2,
      "varies": true
    },
    "short": "Mistral Medium 3.1 نموذج للنصوص والصور لإجابات المحادثة وأسئلة المستندات والاستخراج المنظّم. يدعم سياقه الذي تحدده الشركة المطوّرة بطول 128 ألف رمز وميزات استدعاء الدوال والمخرجات المتوقعة والبوادئ المدرجة الشروح القائمة على المصادر ومسارات التحرير الموجّه."
  },
  "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": "Mistral Medium 3.1 نموذج للنصوص والصور لإجابات المحادثة وأسئلة المستندات والاستخراج المنظّم. يدعم سياقه الذي تحدده الشركة المطوّرة بطول 128 ألف رمز وميزات استدعاء الدوال والمخرجات المتوقعة والبوادئ المدرجة الشروح القائمة على المصادر ومسارات التحرير الموجّه.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b19afa4fafffd58df9be6b10afe279854a98de4a190d3f7b352b0edeafe5b741",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "ff3183701dce0f5867f37d1942c5a2400fa83ef06b9e5bd30ffecaa4edb2a7e0"
}
