{
  "aboutHtml": "<p>DeepSeek V3.2 هو نموذج DeepSeek النصي للاستدلال وعمل الوكلاء، مع تركيز على المعالجة الكفؤة للسياق الطويل. ينظّم المنتج تغييراته الرئيسية حول DeepSeek Sparse Attention وإطار تعلّم معزّز موسّع ومسار لتدريب مهام الوكلاء. يقبل أسئلة وسياقًا مكتوبين ويُنتج نصًا، بما فيه إجابة أو شيفرة أو محتوى استدعاء أداة. يختلف عن إصدار V3.2 Exp السابق وتنويعة الاستدلال Speciale المنفصلة.</p><p>يضيف DeepSeek Sparse Attention مُفهرِسًا واختيارًا دقيقًا للرموز إلى معمارية الانتباه الكامن. للتسلسل الطويل، يختار المُفهرِس معلومات الرموز السابقة المستخدمة في حساب الانتباه الرئيسي. يقول التقرير إن هذا هو التغيير المعماري عن V3.1 Terminus، وإنه يستخدم معمارية V3.2 Exp نفسها. يبلغ سياقه المنشور 128K رمزًا، ما يدعم مادة مصدرية كبيرة ومهمة مستمرة، بينما يستهلك الاستدلال المولّد وسجل الأدوات السياق المتاح أيضًا.</p><p>يشمل ما بعد التدريب الإجابات ذات التفكير ودونه عبر الرياضيات والبرمجة والاستدلال المنطقي ومهام الوكلاء العامة والبرمجة بواسطة الوكلاء والبحث. يقدّم متخصّصو المجالات بيانات تُدمَج في النموذج النهائي، يتبعها تعلّم معزّز مختلط. لسؤال عادي، قد تكون الإجابة المباشرة مناسبة؛ ولمشكلة صعبة، يستطيع مسار التفكير تطوير حل قبل عرض النتيجة النهائية. حدّد الإجابة أو المخرج المطلوب بصورة مستقلة عن الاستدلال الوسيط.</p><p>من تغييرات الإصدار الجوهرية التفكير مع الأدوات. يتيح تنسيق المحادثة المحدّث استمرار الاستدلال خلال مهمة استدعاء أدوات بدلًا من التعامل مع التحليل والإجراء كمرحلتين غير مترابطتين. ينفّذ التطبيق العملية التي يختارها النموذج ويعيد نتيجتها للخطوة التالية. تحتفظ قاعدة سياق الأدوات لدى المنتج بالاستدلال السابق ما دامت الإضافات تقتصر على رسائل الأدوات؛ وعند وصول رسالة مستخدم جديدة، تتخلّص من ذلك الاستدلال مع الحفاظ على استدعاءات الأدوات ونتائجها. يهم تمييز أدوار المحادثة على نحو صحيح لهذا السلوك.</p><p>للبرمجة، قدّم المقطع المصدري أو الملفات ذات الصلة والمشكلة المرصودة والنتيجة المتوقعة والشروط التي يجب أن يحافظ عليها التغيير. ومن أمثلة التكليف: «استخدم الشيفرة ونتائج الأدوات المقدّمة لتحديد السبب واقتراح أصغر تصحيح وإعادة الرقعة النهائية مع نتيجة التحقّق الداعمة لها». ولمهمة بحث، صِف السؤال والأدلة المطلوبة وما يُعدّ إجابة مكتملة. يوفّر التطبيق المحيط أدوات البحث والتنفيذ، وليس النص وحده.</p><p>يوصي المنتج بـ temperature 1.0 وtop-p 0.95 للاستخدام المحلي. يقدّم V3.2 تمثيلًا منقّحًا لاستدعاء الأدوات ومُرمِّز رسائل مخصّصًا. دوره developer محجوز لقالب وكيل البحث لدى المنتج، ولا يقبل API الرسمي ذلك الدور. يتوقع المحلّل المرجعي مخرجات سليمة البنية ولا يصلح النتائج المشوّهة؛ وعندما يستخدم التطبيق حقولًا مولّدة أو وسائط أدوات، ينبغي أن يفحص بنيتها قبل التصرف بناءً عليها.</p><p>يحدّد التقرير التقني مسارات الاستدلال الطويلة والتحقّق الذاتي الزائد بوصفهما قيدين عمليين. يمكن لمهمة وكيل بلوغ حد 128K حتى عندما تلائم المادة المصدرية الأصلية السياق، لأن مخرجات الأدوات والاستدلال المتكرر تتراكم. احتفظ بسجل موجز للملاحظات ذات الصلة واجعل المخرج النهائي صريحًا. وللعمل الحساس للمعرفة، أرفق المادة المرجعية المعتمدة أو وفّر أداة بحث مناسبة بدلًا من توقّع أن تحدّد معرفة التدريب كل حقيقة.</p><p>DeepSeek V3.2 Speciale تنويعة منفصلة عالية الحوسبة للاستدلال العميق، ولا تدعم استدعاء الأدوات وفق بطاقة النموذج. لا ينبغي استخدام ميزاتها بوصفها ملف أدوات V3.2 القياسي. وبالمثل، للجيل V4 اللاحق والسلف التجريبي هويات وخيارات إعداد منفصلة. احتفظ بإصدار V3.2 المسمّى عند مقارنة مهام يهم فيها النموذج وتنسيق الطلب.</p><p>لتحليل عملي يستند إلى المصادر، سمِّ المواد واطلب استنتاجًا تدعمه المقاطع ذات الصلة، مع إبقاء الافتراضات والمعلومات المفقودة مميّزة. وللوكيل، اذكر الدوال المسموح بها والنتيجة النهائية المتوقعة ومعيار الإنجاز. يُعدّ هذا مسار الاستدلال والأدوات في النموذج حول مخرج نصي أو برمجي أو تحليلي قابل للمراجعة ومرتبط بالأدلة المقدّمة.</p>",
  "aboutText": "DeepSeek V3.2 هو نموذج DeepSeek النصي للاستدلال وعمل الوكلاء، مع تركيز على المعالجة الكفؤة للسياق الطويل. ينظّم المنتج تغييراته الرئيسية حول DeepSeek Sparse Attention وإطار تعلّم معزّز موسّع ومسار لتدريب مهام الوكلاء. يقبل أسئلة وسياقًا مكتوبين ويُنتج نصًا، بما فيه إجابة أو شيفرة أو محتوى استدعاء أداة. يختلف عن إصدار V3.2 Exp السابق وتنويعة الاستدلال Speciale المنفصلة.\n\nيضيف DeepSeek Sparse Attention مُفهرِسًا واختيارًا دقيقًا للرموز إلى معمارية الانتباه الكامن. للتسلسل الطويل، يختار المُفهرِس معلومات الرموز السابقة المستخدمة في حساب الانتباه الرئيسي. يقول التقرير إن هذا هو التغيير المعماري عن V3.1 Terminus، وإنه يستخدم معمارية V3.2 Exp نفسها. يبلغ سياقه المنشور 128K رمزًا، ما يدعم مادة مصدرية كبيرة ومهمة مستمرة، بينما يستهلك الاستدلال المولّد وسجل الأدوات السياق المتاح أيضًا.\n\nيشمل ما بعد التدريب الإجابات ذات التفكير ودونه عبر الرياضيات والبرمجة والاستدلال المنطقي ومهام الوكلاء العامة والبرمجة بواسطة الوكلاء والبحث. يقدّم متخصّصو المجالات بيانات تُدمَج في النموذج النهائي، يتبعها تعلّم معزّز مختلط. لسؤال عادي، قد تكون الإجابة المباشرة مناسبة؛ ولمشكلة صعبة، يستطيع مسار التفكير تطوير حل قبل عرض النتيجة النهائية. حدّد الإجابة أو المخرج المطلوب بصورة مستقلة عن الاستدلال الوسيط.\n\nمن تغييرات الإصدار الجوهرية التفكير مع الأدوات. يتيح تنسيق المحادثة المحدّث استمرار الاستدلال خلال مهمة استدعاء أدوات بدلًا من التعامل مع التحليل والإجراء كمرحلتين غير مترابطتين. ينفّذ التطبيق العملية التي يختارها النموذج ويعيد نتيجتها للخطوة التالية. تحتفظ قاعدة سياق الأدوات لدى المنتج بالاستدلال السابق ما دامت الإضافات تقتصر على رسائل الأدوات؛ وعند وصول رسالة مستخدم جديدة، تتخلّص من ذلك الاستدلال مع الحفاظ على استدعاءات الأدوات ونتائجها. يهم تمييز أدوار المحادثة على نحو صحيح لهذا السلوك.\n\nللبرمجة، قدّم المقطع المصدري أو الملفات ذات الصلة والمشكلة المرصودة والنتيجة المتوقعة والشروط التي يجب أن يحافظ عليها التغيير. ومن أمثلة التكليف: «استخدم الشيفرة ونتائج الأدوات المقدّمة لتحديد السبب واقتراح أصغر تصحيح وإعادة الرقعة النهائية مع نتيجة التحقّق الداعمة لها». ولمهمة بحث، صِف السؤال والأدلة المطلوبة وما يُعدّ إجابة مكتملة. يوفّر التطبيق المحيط أدوات البحث والتنفيذ، وليس النص وحده.\n\nيوصي المنتج بـ temperature 1.0 وtop-p 0.95 للاستخدام المحلي. يقدّم V3.2 تمثيلًا منقّحًا لاستدعاء الأدوات ومُرمِّز رسائل مخصّصًا. دوره developer محجوز لقالب وكيل البحث لدى المنتج، ولا يقبل API الرسمي ذلك الدور. يتوقع المحلّل المرجعي مخرجات سليمة البنية ولا يصلح النتائج المشوّهة؛ وعندما يستخدم التطبيق حقولًا مولّدة أو وسائط أدوات، ينبغي أن يفحص بنيتها قبل التصرف بناءً عليها.\n\nيحدّد التقرير التقني مسارات الاستدلال الطويلة والتحقّق الذاتي الزائد بوصفهما قيدين عمليين. يمكن لمهمة وكيل بلوغ حد 128K حتى عندما تلائم المادة المصدرية الأصلية السياق، لأن مخرجات الأدوات والاستدلال المتكرر تتراكم. احتفظ بسجل موجز للملاحظات ذات الصلة واجعل المخرج النهائي صريحًا. وللعمل الحساس للمعرفة، أرفق المادة المرجعية المعتمدة أو وفّر أداة بحث مناسبة بدلًا من توقّع أن تحدّد معرفة التدريب كل حقيقة.\n\nDeepSeek V3.2 Speciale تنويعة منفصلة عالية الحوسبة للاستدلال العميق، ولا تدعم استدعاء الأدوات وفق بطاقة النموذج. لا ينبغي استخدام ميزاتها بوصفها ملف أدوات V3.2 القياسي. وبالمثل، للجيل V4 اللاحق والسلف التجريبي هويات وخيارات إعداد منفصلة. احتفظ بإصدار V3.2 المسمّى عند مقارنة مهام يهم فيها النموذج وتنسيق الطلب.\n\nلتحليل عملي يستند إلى المصادر، سمِّ المواد واطلب استنتاجًا تدعمه المقاطع ذات الصلة، مع إبقاء الافتراضات والمعلومات المفقودة مميّزة. وللوكيل، اذكر الدوال المسموح بها والنتيجة النهائية المتوقعة ومعيار الإنجاز. يُعدّ هذا مسار الاستدلال والأدوات في النموذج حول مخرج نصي أو برمجي أو تحليلي قابل للمراجعة ومرتبط بالأدلة المقدّمة.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "089cdea1f8b62bfd52a2c73342b727a74edf5ad05310aafca95628c866dd1e69",
    "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\">DS</span><h2 id=\"sheet-title\">DeepSeek: DeepSeek V3.2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>DeepSeek /</span><code>deepseek-v3.2-thinking</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|chat|/v1/chat/completions|deepseek-v3.2-thinking\">Chat</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\">يجمع DeepSeek V3.2 الاستدلال النصي مع استخدام الأدوات وتحليل السياق الطويل. تدعم معماريته ذات الانتباه المتناثر وتنسيق محادثته المحدّث البرمجة والبحث ومهام الوكلاء متعددة الخطوات، بسياق يبلغ 128K ومسارَي عمل منفصلين للتفكير والإجابة المباشرة.</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>DeepSeek V3.2 هو نموذج DeepSeek النصي للاستدلال وعمل الوكلاء، مع تركيز على المعالجة الكفؤة للسياق الطويل. ينظّم المنتج تغييراته الرئيسية حول DeepSeek Sparse Attention وإطار تعلّم معزّز موسّع ومسار لتدريب مهام الوكلاء. يقبل أسئلة وسياقًا مكتوبين ويُنتج نصًا، بما فيه إجابة أو شيفرة أو محتوى استدعاء أداة. يختلف عن إصدار V3.2 Exp السابق وتنويعة الاستدلال Speciale المنفصلة.</p><p>يضيف DeepSeek Sparse Attention مُفهرِسًا واختيارًا دقيقًا للرموز إلى معمارية الانتباه الكامن. للتسلسل الطويل، يختار المُفهرِس معلومات الرموز السابقة المستخدمة في حساب الانتباه الرئيسي. يقول التقرير إن هذا هو التغيير المعماري عن V3.1 Terminus، وإنه يستخدم معمارية V3.2 Exp نفسها. يبلغ سياقه المنشور 128K رمزًا، ما يدعم مادة مصدرية كبيرة ومهمة مستمرة، بينما يستهلك الاستدلال المولّد وسجل الأدوات السياق المتاح أيضًا.</p><p>يشمل ما بعد التدريب الإجابات ذات التفكير ودونه عبر الرياضيات والبرمجة والاستدلال المنطقي ومهام الوكلاء العامة والبرمجة بواسطة الوكلاء والبحث. يقدّم متخصّصو المجالات بيانات تُدمَج في النموذج النهائي، يتبعها تعلّم معزّز مختلط. لسؤال عادي، قد تكون الإجابة المباشرة مناسبة؛ ولمشكلة صعبة، يستطيع مسار التفكير تطوير حل قبل عرض النتيجة النهائية. حدّد الإجابة أو المخرج المطلوب بصورة مستقلة عن الاستدلال الوسيط.</p><p>من تغييرات الإصدار الجوهرية التفكير مع الأدوات. يتيح تنسيق المحادثة المحدّث استمرار الاستدلال خلال مهمة استدعاء أدوات بدلًا من التعامل مع التحليل والإجراء كمرحلتين غير مترابطتين. ينفّذ التطبيق العملية التي يختارها النموذج ويعيد نتيجتها للخطوة التالية. تحتفظ قاعدة سياق الأدوات لدى المنتج بالاستدلال السابق ما دامت الإضافات تقتصر على رسائل الأدوات؛ وعند وصول رسالة مستخدم جديدة، تتخلّص من ذلك الاستدلال مع الحفاظ على استدعاءات الأدوات ونتائجها. يهم تمييز أدوار المحادثة على نحو صحيح لهذا السلوك.</p><p>للبرمجة، قدّم المقطع المصدري أو الملفات ذات الصلة والمشكلة المرصودة والنتيجة المتوقعة والشروط التي يجب أن يحافظ عليها التغيير. ومن أمثلة التكليف: «استخدم الشيفرة ونتائج الأدوات المقدّمة لتحديد السبب واقتراح أصغر تصحيح وإعادة الرقعة النهائية مع نتيجة التحقّق الداعمة لها». ولمهمة بحث، صِف السؤال والأدلة المطلوبة وما يُعدّ إجابة مكتملة. يوفّر التطبيق المحيط أدوات البحث والتنفيذ، وليس النص وحده.</p><p>يوصي المنتج بـ temperature 1.0 وtop-p 0.95 للاستخدام المحلي. يقدّم V3.2 تمثيلًا منقّحًا لاستدعاء الأدوات ومُرمِّز رسائل مخصّصًا. دوره developer محجوز لقالب وكيل البحث لدى المنتج، ولا يقبل API الرسمي ذلك الدور. يتوقع المحلّل المرجعي مخرجات سليمة البنية ولا يصلح النتائج المشوّهة؛ وعندما يستخدم التطبيق حقولًا مولّدة أو وسائط أدوات، ينبغي أن يفحص بنيتها قبل التصرف بناءً عليها.</p><p>يحدّد التقرير التقني مسارات الاستدلال الطويلة والتحقّق الذاتي الزائد بوصفهما قيدين عمليين. يمكن لمهمة وكيل بلوغ حد 128K حتى عندما تلائم المادة المصدرية الأصلية السياق، لأن مخرجات الأدوات والاستدلال المتكرر تتراكم. احتفظ بسجل موجز للملاحظات ذات الصلة واجعل المخرج النهائي صريحًا. وللعمل الحساس للمعرفة، أرفق المادة المرجعية المعتمدة أو وفّر أداة بحث مناسبة بدلًا من توقّع أن تحدّد معرفة التدريب كل حقيقة.</p><p>DeepSeek V3.2 Speciale تنويعة منفصلة عالية الحوسبة للاستدلال العميق، ولا تدعم استدعاء الأدوات وفق بطاقة النموذج. لا ينبغي استخدام ميزاتها بوصفها ملف أدوات V3.2 القياسي. وبالمثل، للجيل V4 اللاحق والسلف التجريبي هويات وخيارات إعداد منفصلة. احتفظ بإصدار V3.2 المسمّى عند مقارنة مهام يهم فيها النموذج وتنسيق الطلب.</p><p>لتحليل عملي يستند إلى المصادر، سمِّ المواد واطلب استنتاجًا تدعمه المقاطع ذات الصلة، مع إبقاء الافتراضات والمعلومات المفقودة مميّزة. وللوكيل، اذكر الدوال المسموح بها والنتيجة النهائية المتوقعة ومعيار الإنجاز. يُعدّ هذا مسار الاستدلال والأدوات في النموذج حول مخرج نصي أو برمجي أو تحليلي قابل للمراجعة ومرتبط بالأدلة المقدّمة.</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 · محادثة OpenAI</b> <code>POST /v1/chat/completions</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 أو SSE</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\">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>deepseek-v3.2-thinking</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\">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><div>الحد الأدنى للعناصر: ⁦1⁩</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"model_dependent\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">messages[].role</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 class=\"note-s\">يعتمد على النموذج</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\">messages[].content</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>ينطبق عندما: محادثة نصية</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\">stream</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>boolean</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=\"known\"><span class=\"card-cell-label\">القيمة الافتراضية</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>تركيبات مواد الإدخال</summary><p class=\"note-s\"><b>النص</b> · نص UTF8</p><p class=\"note-s\"><code>messages[].content</code></p></details><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>model, messages</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>messages</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>مصفوفة رسائل ببنية role/content</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>مستند UTF-8 الفعلي مُدرج كنص حرفي؛ لا يُستنتَج معرّف ملف</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>stream</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>control_scope</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>محادثة نصية؛ stream قيمة منطقية، وقيمتها الافتراضية false.</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>output_modalities</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>hosted_operations</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>false</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>multimodal_input_binding</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>null</td></tr></tbody></table></div><p>الأسماء البديلة للطريقة: <code>/chat/completions</code></p><p>دورة الحياة: <code>synchronous_or_streamed</code></p><p class=\"note-s\">أرسل معرّف النموذج الدقيق مع messages.</p><p class=\"note-s\">طول السياق ليس حدًا أقصى للإخراج.</p><p class=\"note-s\">يمكن لملف نصي تقديم نص حرفي؛ وتحتاج مدخلات الصور/الصوت/كائنات الملفات إلى ربط دقيق.</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></dl></div><div data-declared-tariff-pricing><h4>تعرفات Ailoot</h4><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><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>التعرفات الأساسية للرموز</th><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.00058</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>$0.00086</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>$0</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>$0</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 · محادثة OpenAI</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-1217-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1217-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1217-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1217-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</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-1217-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1217-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,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;:&quot;deepseek-v3.2-thinking&quot;,&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}],&quot;stream&quot;:false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;choices&quot;,[]):\n    if x.get(&quot;message&quot;,{}).get(&quot;content&quot;): print(x[&quot;message&quot;][&quot;content&quot;])\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1217-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1217-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nif not os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;).strip(): raise SystemExit(&quot;Set AILOOT_API_KEY before making a request&quot;)\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.chat.completions.create(model=&quot;deepseek-v3.2-thinking&quot;, messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=&quot;result&quot;):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + &quot;.json&quot;).write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=&quot;utf-8&quot;)\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b&quot;-_&quot;, validate=True)\n        ext = &quot;png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4] == b&quot;RIFF&quot; and raw[8:12] == b&quot;WEBP&quot; else suffix\n        file = Path(stem + &quot;-&quot; + label + &quot;.&quot; + ext)\n        file.write_bytes(raw)\n        print(&quot;Saved&quot;, file)\n    for index, block in enumerate(data.get(&quot;content&quot;) or []):\n        print(&quot;Content&quot;, index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(&quot;choices&quot;) or []:\n        print(&quot;Choice&quot;, choice.get(&quot;index&quot;), json.dumps(choice.get(&quot;message&quot;, choice.get(&quot;delta&quot;, {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(&quot;output&quot;) or []):\n        print(&quot;Output&quot;, index, json.dumps(item, ensure_ascii=False))\n        if item.get(&quot;type&quot;) == &quot;image_generation_call&quot; and item.get(&quot;result&quot;):\n            save_blob(item[&quot;result&quot;], item.get(&quot;output_format&quot;) or &quot;bin&quot;, &quot;output-&quot; + str(index))\n    for ci, candidate in enumerate(data.get(&quot;candidates&quot;) or []):\n        for pi, part in enumerate((candidate.get(&quot;content&quot;) or {}).get(&quot;parts&quot;) or []):\n            print(&quot;Candidate/part&quot;, ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(&quot;inlineData&quot;) or part.get(&quot;inline_data&quot;)\n            if blob and blob.get(&quot;data&quot;):\n                mime = blob.get(&quot;mimeType&quot;) or blob.get(&quot;mime_type&quot;)\n                suffix = {&quot;image/png&quot;:&quot;png&quot;, &quot;image/jpeg&quot;:&quot;jpg&quot;, &quot;image/webp&quot;:&quot;webp&quot;, &quot;audio/wav&quot;:&quot;wav&quot;, &quot;audio/mpeg&quot;:&quot;mp3&quot;, &quot;video/mp4&quot;:&quot;mp4&quot;}.get(mime, &quot;bin&quot;)\n                save_blob(blob[&quot;data&quot;], suffix, &quot;candidate-&quot; + str(ci) + &quot;-part-&quot; + str(pi))\n\nsave_result(result.to_dict(mode=&quot;json&quot;))\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">استلام النتائج وحفظها</h3><h4>Ailoot Ultra · محادثة OpenAI</h4><p class=\"note-s\">json أو SSE</p><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.</p><p class=\"note-s\">احتفظ بكل اختيار ومحتواه واستدعاءات أدواته واستدلاله. في SSE، جمّع التحديثات بحسب فهرس الاختيار/الأداة، واحتفظ بسبب الإنهاء النهائي والاستخدام.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.</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\">choices[].index</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\">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\">choices[].message.tool_calls</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>tool_call[]</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">choices[].message.reasoning_content</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\">choices[].message.reasoning_details</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object|array</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">choices[].finish_reason</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\">usage</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object</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></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=deepseek-v3.2-thinking&amp;route=Ultra&amp;caller=deepseek-v3.2-thinking&amp;fmt=chat\"><code>deepseek-v3.2-thinking</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=deepseek-v3.2-thinking&amp;route=Ultra&amp;caller=deepseek-v3.2-thinking&amp;fmt=chat\"><code>deepseek-v3.2-thinking</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "deepseek-v3.2-thinking",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "deepseek-v3.2-thinking",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|deepseek-v3.2-thinking",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "نص UTF8"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "احتفظ بكل اختيار ومحتواه واستدعاءات أدواته واستدلاله. في SSE، جمّع التحديثات بحسب فهرس الاختيار/الأداة، واحتفظ بسبب الإنهاء النهائي والاستخدام.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json أو SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepseek-v3.2-thinking"
                ],
                "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": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "محادثة نصية"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "أرسل معرّف النموذج الدقيق مع messages.",
            "طول السياق ليس حدًا أقصى للإخراج.",
            "يمكن لملف نصي تقديم نص حرفي؛ وتحتاج مدخلات الصور/الصوت/كائنات الملفات إلى ربط دقيق."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "محادثة نصية؛ stream قيمة منطقية، وقيمتها الافتراضية false.",
            "file_material": "مستند UTF-8 الفعلي مُدرج كنص حرفي؛ لا يُستنتَج معرّف ملف",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "مصفوفة رسائل ببنية role/content",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "التعرفات الأساسية للرموز",
            "units": [
              {
                "amount": "0.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "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.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"deepseek-v3.2-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"deepseek-v3.2-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 0.58,
        "input": [
          "text"
        ],
        "label": "محادثة OpenAI",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0.86,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "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"
          }
        ],
        "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.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "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.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "deepseek-v3.2-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00058000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000058",
            "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.00086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000086",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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": "deepseek-v3.2-thinking",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "d8738467e6eea3c3ce77bc0a3f8d3e7d149a2ca4b45b38095ba01645244943bf",
    "input_html_sha256": "baef380a11045f9aea5b08884d91ebf710c283468ca9f5858dff4511fc827ca0",
    "private_audit_sha256": "762b6875d4019e1faba0953b46664da0ca67c703c5344e85f36ba7863412d8cb",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/deepseek-v3-2-thinking/",
    "description": "يجمع DeepSeek V3.2 الاستدلال النصي مع استخدام الأدوات وتحليل السياق الطويل. تدعم معماريته ذات الانتباه المتناثر وتنسيق محادثته المحدّث البرمجة والبحث ومهام الوكلاء متعددة الخطوات، بسياق يبلغ 128K ومسارَي عمل منفصلين للتفكير والإجابة المباشرة.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/deepseek-v3-2-thinking/index.md",
    "title": "DeepSeek: DeepSeek V3.2 — Ailoot",
    "url": "https://ailoot.ai/models/ar/deepseek-v3-2-thinking/"
  },
  "rawModel": {
    "about": "DeepSeek V3.2 هو نموذج DeepSeek النصي للاستدلال وعمل الوكلاء، مع تركيز على المعالجة الكفؤة للسياق الطويل. ينظّم المنتج تغييراته الرئيسية حول DeepSeek Sparse Attention وإطار تعلّم معزّز موسّع ومسار لتدريب مهام الوكلاء. يقبل أسئلة وسياقًا مكتوبين ويُنتج نصًا، بما فيه إجابة أو شيفرة أو محتوى استدعاء أداة. يختلف عن إصدار V3.2 Exp السابق وتنويعة الاستدلال Speciale المنفصلة.\n\nيضيف DeepSeek Sparse Attention مُفهرِسًا واختيارًا دقيقًا للرموز إلى معمارية الانتباه الكامن. للتسلسل الطويل، يختار المُفهرِس معلومات الرموز السابقة المستخدمة في حساب الانتباه الرئيسي. يقول التقرير إن هذا هو التغيير المعماري عن V3.1 Terminus، وإنه يستخدم معمارية V3.2 Exp نفسها. يبلغ سياقه المنشور 128K رمزًا، ما يدعم مادة مصدرية كبيرة ومهمة مستمرة، بينما يستهلك الاستدلال المولّد وسجل الأدوات السياق المتاح أيضًا.\n\nيشمل ما بعد التدريب الإجابات ذات التفكير ودونه عبر الرياضيات والبرمجة والاستدلال المنطقي ومهام الوكلاء العامة والبرمجة بواسطة الوكلاء والبحث. يقدّم متخصّصو المجالات بيانات تُدمَج في النموذج النهائي، يتبعها تعلّم معزّز مختلط. لسؤال عادي، قد تكون الإجابة المباشرة مناسبة؛ ولمشكلة صعبة، يستطيع مسار التفكير تطوير حل قبل عرض النتيجة النهائية. حدّد الإجابة أو المخرج المطلوب بصورة مستقلة عن الاستدلال الوسيط.\n\nمن تغييرات الإصدار الجوهرية التفكير مع الأدوات. يتيح تنسيق المحادثة المحدّث استمرار الاستدلال خلال مهمة استدعاء أدوات بدلًا من التعامل مع التحليل والإجراء كمرحلتين غير مترابطتين. ينفّذ التطبيق العملية التي يختارها النموذج ويعيد نتيجتها للخطوة التالية. تحتفظ قاعدة سياق الأدوات لدى المنتج بالاستدلال السابق ما دامت الإضافات تقتصر على رسائل الأدوات؛ وعند وصول رسالة مستخدم جديدة، تتخلّص من ذلك الاستدلال مع الحفاظ على استدعاءات الأدوات ونتائجها. يهم تمييز أدوار المحادثة على نحو صحيح لهذا السلوك.\n\nللبرمجة، قدّم المقطع المصدري أو الملفات ذات الصلة والمشكلة المرصودة والنتيجة المتوقعة والشروط التي يجب أن يحافظ عليها التغيير. ومن أمثلة التكليف: «استخدم الشيفرة ونتائج الأدوات المقدّمة لتحديد السبب واقتراح أصغر تصحيح وإعادة الرقعة النهائية مع نتيجة التحقّق الداعمة لها». ولمهمة بحث، صِف السؤال والأدلة المطلوبة وما يُعدّ إجابة مكتملة. يوفّر التطبيق المحيط أدوات البحث والتنفيذ، وليس النص وحده.\n\nيوصي المنتج بـ temperature 1.0 وtop-p 0.95 للاستخدام المحلي. يقدّم V3.2 تمثيلًا منقّحًا لاستدعاء الأدوات ومُرمِّز رسائل مخصّصًا. دوره developer محجوز لقالب وكيل البحث لدى المنتج، ولا يقبل API الرسمي ذلك الدور. يتوقع المحلّل المرجعي مخرجات سليمة البنية ولا يصلح النتائج المشوّهة؛ وعندما يستخدم التطبيق حقولًا مولّدة أو وسائط أدوات، ينبغي أن يفحص بنيتها قبل التصرف بناءً عليها.\n\nيحدّد التقرير التقني مسارات الاستدلال الطويلة والتحقّق الذاتي الزائد بوصفهما قيدين عمليين. يمكن لمهمة وكيل بلوغ حد 128K حتى عندما تلائم المادة المصدرية الأصلية السياق، لأن مخرجات الأدوات والاستدلال المتكرر تتراكم. احتفظ بسجل موجز للملاحظات ذات الصلة واجعل المخرج النهائي صريحًا. وللعمل الحساس للمعرفة، أرفق المادة المرجعية المعتمدة أو وفّر أداة بحث مناسبة بدلًا من توقّع أن تحدّد معرفة التدريب كل حقيقة.\n\nDeepSeek V3.2 Speciale تنويعة منفصلة عالية الحوسبة للاستدلال العميق، ولا تدعم استدعاء الأدوات وفق بطاقة النموذج. لا ينبغي استخدام ميزاتها بوصفها ملف أدوات V3.2 القياسي. وبالمثل، للجيل V4 اللاحق والسلف التجريبي هويات وخيارات إعداد منفصلة. احتفظ بإصدار V3.2 المسمّى عند مقارنة مهام يهم فيها النموذج وتنسيق الطلب.\n\nلتحليل عملي يستند إلى المصادر، سمِّ المواد واطلب استنتاجًا تدعمه المقاطع ذات الصلة، مع إبقاء الافتراضات والمعلومات المفقودة مميّزة. وللوكيل، اذكر الدوال المسموح بها والنتيجة النهائية المتوقعة ومعيار الإنجاز. يُعدّ هذا مسار الاستدلال والأدوات في النموذج حول مخرج نصي أو برمجي أو تحليلي قابل للمراجعة ومرتبط بالأدلة المقدّمة.",
    "alias_of": null,
    "aliases": [],
    "author": "DeepSeek",
    "capabilities": {
      "context_length": 163840,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00058000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000058",
            "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.00086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000086",
            "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": [
      "chat"
    ],
    "id": "deepseek-v3.2-thinking",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "نص UTF8"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "احتفظ بكل اختيار ومحتواه واستدعاءات أدواته واستدلاله. في SSE، جمّع التحديثات بحسب فهرس الاختيار/الأداة، واحتفظ بسبب الإنهاء النهائي والاستخدام.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json أو SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "deepseek-v3.2-thinking"
                ],
                "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": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "محادثة نصية"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "أرسل معرّف النموذج الدقيق مع messages.",
            "طول السياق ليس حدًا أقصى للإخراج.",
            "يمكن لملف نصي تقديم نص حرفي؛ وتحتاج مدخلات الصور/الصوت/كائنات الملفات إلى ربط دقيق."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "محادثة نصية؛ stream قيمة منطقية، وقيمتها الافتراضية false.",
            "file_material": "مستند UTF-8 الفعلي مُدرج كنص حرفي؛ لا يُستنتَج معرّف ملف",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "مصفوفة رسائل ببنية role/content",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "التعرفات الأساسية للرموز",
            "units": [
              {
                "amount": "0.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "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.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"deepseek-v3.2-thinking\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"deepseek-v3.2-thinking\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 0.58,
        "input": [
          "text"
        ],
        "label": "محادثة OpenAI",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0.86,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "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"
          }
        ],
        "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.00058000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000058",
                "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.00086000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000086",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "deepseek-v3.2-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00058000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000058",
            "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.00086000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000086",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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": "deepseek-v3.2-thinking",
        "request_model_id": "deepseek-v3.2-thinking",
        "route_label": "Ultra"
      }
    ],
    "name": "DeepSeek: DeepSeek V3.2",
    "price": {
      "in": 0.58,
      "in_label": null,
      "out": 0.86,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.58,
      "sort_out": 0.86,
      "varies": false
    },
    "short": "يجمع DeepSeek V3.2 الاستدلال النصي مع استخدام الأدوات وتحليل السياق الطويل. تدعم معماريته ذات الانتباه المتناثر وتنسيق محادثته المحدّث البرمجة والبحث ومهام الوكلاء متعددة الخطوات، بسياق يبلغ 128K ومسارَي عمل منفصلين للتفكير والإجابة المباشرة."
  },
  "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": "يجمع DeepSeek V3.2 الاستدلال النصي مع استخدام الأدوات وتحليل السياق الطويل. تدعم معماريته ذات الانتباه المتناثر وتنسيق محادثته المحدّث البرمجة والبحث ومهام الوكلاء متعددة الخطوات، بسياق يبلغ 128K ومسارَي عمل منفصلين للتفكير والإجابة المباشرة.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1017352b9172bfcc7311ae5a8d9dd2bab35f3baca4af7940362f602032e5a36f",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "664c356c691f8f04a057f410f6546f178dbebd4efb0937f29a89421460afd86e"
}
