{
  "aboutHtml": "<p>Claude Sonnet 4.5 هو إصدار Sonnet من Anthropic، ويركّز على تطوير البرمجيات ومهام الوكلاء المعقّدة واستخدام الحاسوب، مع تحسينات في الاستدلال والرياضيات. يقبل النصوص والصور ويولّد نصًا. يصف الإصدار عملًا ممتدًا عبر عدة خطوات، وفهم الشيفرة، وتغييرات تشمل مشروعًا أوسع بدلًا من دالة منفردة معزولة. يحدّد الموجز المفيد السلوك المطلوب والمادة المصدرية ذات الصلة والناتج المراد تقديمه: تعديلًا مقترحًا أو شرح تنفيذ أو تحليل مستند أو إجابة منظّمة.</p><p>للعمل البرمجي، قدّم قيود المشروع والملفات أو المقتطفات ذات الصلة والخطأ المرصود ومثالًا محددًا للنتيجة المتوقعة. اطلب الشيفرة المتأثرة وشرحًا لكيفية معالجة التغيير المقترح لذلك المثال. يقدّم المنتج النموذج كخيار مناسب لبناء الوكلاء ومعالجة مهام التطوير بالأدوات. يقرأ التطبيق المحيط الملفات ويحرّرها، ويشغّل أمرًا أو فحصًا، ويعيد إخراجه الفعلي؛ ويستدل النموذج بهذه الأدلة. افصل التغيير المقترح عن الفحص المكتمل في التقرير النهائي.</p><p>استخدام الحاسوب تطبيق منفصل لقدراته البصرية والوكيلية. يعرض إصدار Anthropic التفاعل مع المتصفح والتنقل بين الصفحات والعمل على الجداول عبر بيئة متصلة. يمكن لموجز بصري تقديم لقطة شاشة وتحديد الهدف وتعريف الإجراءات التي يسمح بها التطبيق. ينفّذ التطبيق بعد ذلك التفاعل المختار ويعيد الشاشة المتغيّرة أو نتيجة أخرى. وبالمثل، يستطيع النموذج إعداد محتوى وشيفرة للمستندات والجداول والشرائح، بينما تنتج البيئة الملف المكتمل. فهم النصوص والصور لا يجعل النموذج مولّدًا أصليًا للصور أو الصوت.</p><p>تسرد مواصفات المنتج المحددة نافذة سياق بطول 200K رمز وإخراجًا يصل إلى 64K رمزًا. تاريخ انتهاء معرفته الموثوقة هو يناير 2025، وهو منفصل عن تاريخ انتهاء بيانات التدريب الأحدث المذكور في الصفحة. اجعل حدود المستندات وتسميات الصفحات والوحدات ومعرّفات الشيفرة واضحة في الإدخال الطويل، وخصّص مساحة للإجابة المطلوبة وأي استدلال. يوثّق المنتج أيضًا الوعي بالسياق لهذا الإصدار، لذا يتتبع مساره المدعوم المساحة المتبقية أثناء المحادثة. يساعد ذلك على إدارة مهمة ممتدة ضمن نافذته؛ ولا يستبدل النافذة بسعة أكبر من إصدار Sonnet لاحق.</p><p>يدعم Sonnet 4.5 الردود المعتادة والتفكير الممتد المضبوط يدويًا. في الوضع الثاني، يحدّد budget_tokens هدفًا للاستدلال الداخلي قبل الإجابة الظاهرة. الحد الأدنى الموثّق هو 1,024 رمزًا، ويجب عادةً أن تكون الميزانية أقل من max_tokens لأن التفكير والإجابة النهائية يشتركان في سعة التوليد. الميزانية هدف وليست وعدًا باستهلاك ذلك العدد الدقيق من الرموز. لا يملك هذا الإصدار وضع التفكير التكيفي أو أدوات التحكم في الجهد الموصوفة لنماذج Sonnet اللاحقة. اختر عمق التحليل المطلوب، واترك سعة كافية لإجابة نهائية قابلة للاستخدام.</p><p>تتيح ميزة interleaved-thinking التجريبية لدى المنتج لـSonnet 4.5 الاستدلال بين استدعاءات الأدوات داخل الدور، باستخدام الملاحظات المُرجعة لاتخاذ قرار الخطوة التالية. وتتطلب الميزة التجريبية الموثّقة في مسار Messages المدعوم. في هذه الحالة، قد تتجاوز ميزانية التفكير max_tokens لأنها تمتد عبر عدة كتل تفكير في دور assistant نفسه. أعد نتائج الأدوات مع محتوى التفكير المرتبط بها من دون تعديل، بما يشمل توقيعه؛ فتحرير هذا المحتوى يبطله. لذلك تستطيع مهمة بحث أو تصحيح أخطاء التناوب بين فحص مقترح ونتيجته الحقيقية المُرجعة وتحليل محدّث، من دون اعتبار المقترح النصي إجراءً مكتملًا.</p><p>للمادة البصرية، يدعم المنتج JPEG وPNG وGIF وWebP، ويستخدم الإطار الأول فقط من الصورة المتحركة. يفرض المستوى الأصلي القياسي للصور المستخدم في هذا الإصدار حدًا يبلغ 1,568 بكسل للضلع الأطول وحدًا يبلغ 1,568 رمزًا بصريًا؛ وتُصغَّر الصور الأكبر. يسرد دليل الصور لدى المنتج حتى 100 صورة لكل طلب API لنماذج السياق 200K، مع شروط لحجم الصور والطلب الإجمالي قد تُبلَغ أولًا. ضع الصور قبل السؤال متى كان ذلك عمليًا، وسمِّ الصور المتعددة، وحافظ على النص الصغير أو تسميات المخططات. يوصي الدليل بصور واضحة والاحتفاظ بسياق محيط كافٍ لتفسير التفصيل الظاهر.</p><p>قُدِّم تحرير السياق وأداة ذاكرة إلى جانب هذا النموذج لدعم مسارات وكلاء أطول. وهما طريقتان يدعمهما التطبيق للاحتفاظ بحالة مفيدة أو إزالة مواد أدوات قديمة؛ وليستا ذاكرة نموذج غير محدودة أو ميزة تكثيف السياق على الخادم اللاحقة. ولمهمة متعددة المراحل، احتفظ بالقرارات المتخذة والسؤال العالق والأدلة اللازمة للخطوة التالية. وتصف Anthropic أيضًا مقاومة أقوى للتعليمات المخفية في المحتوى الخارجي، مع التنبيه إلى أن المصنّفات الخاصة بالنموذج قد تُعلِّم أحيانًا مواد غير ضارة. يظل الناتج المفيد قابلًا للمراجعة ومرتبطًا بالأدلة المقدّمة، مع فصل أوضاع Sonnet 4.5 وحدوده المحددة عن الإصدارات اللاحقة.</p>",
  "aboutText": "Claude Sonnet 4.5 هو إصدار Sonnet من Anthropic، ويركّز على تطوير البرمجيات ومهام الوكلاء المعقّدة واستخدام الحاسوب، مع تحسينات في الاستدلال والرياضيات. يقبل النصوص والصور ويولّد نصًا. يصف الإصدار عملًا ممتدًا عبر عدة خطوات، وفهم الشيفرة، وتغييرات تشمل مشروعًا أوسع بدلًا من دالة منفردة معزولة. يحدّد الموجز المفيد السلوك المطلوب والمادة المصدرية ذات الصلة والناتج المراد تقديمه: تعديلًا مقترحًا أو شرح تنفيذ أو تحليل مستند أو إجابة منظّمة.\n\nللعمل البرمجي، قدّم قيود المشروع والملفات أو المقتطفات ذات الصلة والخطأ المرصود ومثالًا محددًا للنتيجة المتوقعة. اطلب الشيفرة المتأثرة وشرحًا لكيفية معالجة التغيير المقترح لذلك المثال. يقدّم المنتج النموذج كخيار مناسب لبناء الوكلاء ومعالجة مهام التطوير بالأدوات. يقرأ التطبيق المحيط الملفات ويحرّرها، ويشغّل أمرًا أو فحصًا، ويعيد إخراجه الفعلي؛ ويستدل النموذج بهذه الأدلة. افصل التغيير المقترح عن الفحص المكتمل في التقرير النهائي.\n\nاستخدام الحاسوب تطبيق منفصل لقدراته البصرية والوكيلية. يعرض إصدار Anthropic التفاعل مع المتصفح والتنقل بين الصفحات والعمل على الجداول عبر بيئة متصلة. يمكن لموجز بصري تقديم لقطة شاشة وتحديد الهدف وتعريف الإجراءات التي يسمح بها التطبيق. ينفّذ التطبيق بعد ذلك التفاعل المختار ويعيد الشاشة المتغيّرة أو نتيجة أخرى. وبالمثل، يستطيع النموذج إعداد محتوى وشيفرة للمستندات والجداول والشرائح، بينما تنتج البيئة الملف المكتمل. فهم النصوص والصور لا يجعل النموذج مولّدًا أصليًا للصور أو الصوت.\n\nتسرد مواصفات المنتج المحددة نافذة سياق بطول 200K رمز وإخراجًا يصل إلى 64K رمزًا. تاريخ انتهاء معرفته الموثوقة هو يناير 2025، وهو منفصل عن تاريخ انتهاء بيانات التدريب الأحدث المذكور في الصفحة. اجعل حدود المستندات وتسميات الصفحات والوحدات ومعرّفات الشيفرة واضحة في الإدخال الطويل، وخصّص مساحة للإجابة المطلوبة وأي استدلال. يوثّق المنتج أيضًا الوعي بالسياق لهذا الإصدار، لذا يتتبع مساره المدعوم المساحة المتبقية أثناء المحادثة. يساعد ذلك على إدارة مهمة ممتدة ضمن نافذته؛ ولا يستبدل النافذة بسعة أكبر من إصدار Sonnet لاحق.\n\nيدعم Sonnet 4.5 الردود المعتادة والتفكير الممتد المضبوط يدويًا. في الوضع الثاني، يحدّد budget_tokens هدفًا للاستدلال الداخلي قبل الإجابة الظاهرة. الحد الأدنى الموثّق هو 1,024 رمزًا، ويجب عادةً أن تكون الميزانية أقل من max_tokens لأن التفكير والإجابة النهائية يشتركان في سعة التوليد. الميزانية هدف وليست وعدًا باستهلاك ذلك العدد الدقيق من الرموز. لا يملك هذا الإصدار وضع التفكير التكيفي أو أدوات التحكم في الجهد الموصوفة لنماذج Sonnet اللاحقة. اختر عمق التحليل المطلوب، واترك سعة كافية لإجابة نهائية قابلة للاستخدام.\n\nتتيح ميزة interleaved-thinking التجريبية لدى المنتج لـSonnet 4.5 الاستدلال بين استدعاءات الأدوات داخل الدور، باستخدام الملاحظات المُرجعة لاتخاذ قرار الخطوة التالية. وتتطلب الميزة التجريبية الموثّقة في مسار Messages المدعوم. في هذه الحالة، قد تتجاوز ميزانية التفكير max_tokens لأنها تمتد عبر عدة كتل تفكير في دور assistant نفسه. أعد نتائج الأدوات مع محتوى التفكير المرتبط بها من دون تعديل، بما يشمل توقيعه؛ فتحرير هذا المحتوى يبطله. لذلك تستطيع مهمة بحث أو تصحيح أخطاء التناوب بين فحص مقترح ونتيجته الحقيقية المُرجعة وتحليل محدّث، من دون اعتبار المقترح النصي إجراءً مكتملًا.\n\nللمادة البصرية، يدعم المنتج JPEG وPNG وGIF وWebP، ويستخدم الإطار الأول فقط من الصورة المتحركة. يفرض المستوى الأصلي القياسي للصور المستخدم في هذا الإصدار حدًا يبلغ 1,568 بكسل للضلع الأطول وحدًا يبلغ 1,568 رمزًا بصريًا؛ وتُصغَّر الصور الأكبر. يسرد دليل الصور لدى المنتج حتى 100 صورة لكل طلب API لنماذج السياق 200K، مع شروط لحجم الصور والطلب الإجمالي قد تُبلَغ أولًا. ضع الصور قبل السؤال متى كان ذلك عمليًا، وسمِّ الصور المتعددة، وحافظ على النص الصغير أو تسميات المخططات. يوصي الدليل بصور واضحة والاحتفاظ بسياق محيط كافٍ لتفسير التفصيل الظاهر.\n\nقُدِّم تحرير السياق وأداة ذاكرة إلى جانب هذا النموذج لدعم مسارات وكلاء أطول. وهما طريقتان يدعمهما التطبيق للاحتفاظ بحالة مفيدة أو إزالة مواد أدوات قديمة؛ وليستا ذاكرة نموذج غير محدودة أو ميزة تكثيف السياق على الخادم اللاحقة. ولمهمة متعددة المراحل، احتفظ بالقرارات المتخذة والسؤال العالق والأدلة اللازمة للخطوة التالية. وتصف Anthropic أيضًا مقاومة أقوى للتعليمات المخفية في المحتوى الخارجي، مع التنبيه إلى أن المصنّفات الخاصة بالنموذج قد تُعلِّم أحيانًا مواد غير ضارة. يظل الناتج المفيد قابلًا للمراجعة ومرتبطًا بالأدلة المقدّمة، مع فصل أوضاع Sonnet 4.5 وحدوده المحددة عن الإصدارات اللاحقة.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "55ce719fd0b9e66be65f3e0b14d635c907e462459b6f88f24ef6a1dd1282e93a",
    "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\">A</span><h2 id=\"sheet-title\">Anthropic: Claude Sonnet 4.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Anthropic /</span><code>claude-sonnet-4-5-20250929-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|claude-sonnet-4-5-20250929-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\">Claude Sonnet 4.5 هو نموذج Anthropic للنصوص والصور، لتطوير البرمجيات والوكلاء المعقّدين واستخدام الحاسوب والعمل التحليلي. يدعم الردود المباشرة أو التفكير الممتد المضبوط يدويًا، مع استدلال بين استدعاءات الأدوات في المسار التجريبي الموثّق.</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>Claude Sonnet 4.5 هو إصدار Sonnet من Anthropic، ويركّز على تطوير البرمجيات ومهام الوكلاء المعقّدة واستخدام الحاسوب، مع تحسينات في الاستدلال والرياضيات. يقبل النصوص والصور ويولّد نصًا. يصف الإصدار عملًا ممتدًا عبر عدة خطوات، وفهم الشيفرة، وتغييرات تشمل مشروعًا أوسع بدلًا من دالة منفردة معزولة. يحدّد الموجز المفيد السلوك المطلوب والمادة المصدرية ذات الصلة والناتج المراد تقديمه: تعديلًا مقترحًا أو شرح تنفيذ أو تحليل مستند أو إجابة منظّمة.</p><p>للعمل البرمجي، قدّم قيود المشروع والملفات أو المقتطفات ذات الصلة والخطأ المرصود ومثالًا محددًا للنتيجة المتوقعة. اطلب الشيفرة المتأثرة وشرحًا لكيفية معالجة التغيير المقترح لذلك المثال. يقدّم المنتج النموذج كخيار مناسب لبناء الوكلاء ومعالجة مهام التطوير بالأدوات. يقرأ التطبيق المحيط الملفات ويحرّرها، ويشغّل أمرًا أو فحصًا، ويعيد إخراجه الفعلي؛ ويستدل النموذج بهذه الأدلة. افصل التغيير المقترح عن الفحص المكتمل في التقرير النهائي.</p><p>استخدام الحاسوب تطبيق منفصل لقدراته البصرية والوكيلية. يعرض إصدار Anthropic التفاعل مع المتصفح والتنقل بين الصفحات والعمل على الجداول عبر بيئة متصلة. يمكن لموجز بصري تقديم لقطة شاشة وتحديد الهدف وتعريف الإجراءات التي يسمح بها التطبيق. ينفّذ التطبيق بعد ذلك التفاعل المختار ويعيد الشاشة المتغيّرة أو نتيجة أخرى. وبالمثل، يستطيع النموذج إعداد محتوى وشيفرة للمستندات والجداول والشرائح، بينما تنتج البيئة الملف المكتمل. فهم النصوص والصور لا يجعل النموذج مولّدًا أصليًا للصور أو الصوت.</p><p>تسرد مواصفات المنتج المحددة نافذة سياق بطول 200K رمز وإخراجًا يصل إلى 64K رمزًا. تاريخ انتهاء معرفته الموثوقة هو يناير 2025، وهو منفصل عن تاريخ انتهاء بيانات التدريب الأحدث المذكور في الصفحة. اجعل حدود المستندات وتسميات الصفحات والوحدات ومعرّفات الشيفرة واضحة في الإدخال الطويل، وخصّص مساحة للإجابة المطلوبة وأي استدلال. يوثّق المنتج أيضًا الوعي بالسياق لهذا الإصدار، لذا يتتبع مساره المدعوم المساحة المتبقية أثناء المحادثة. يساعد ذلك على إدارة مهمة ممتدة ضمن نافذته؛ ولا يستبدل النافذة بسعة أكبر من إصدار Sonnet لاحق.</p><p>يدعم Sonnet 4.5 الردود المعتادة والتفكير الممتد المضبوط يدويًا. في الوضع الثاني، يحدّد budget_tokens هدفًا للاستدلال الداخلي قبل الإجابة الظاهرة. الحد الأدنى الموثّق هو 1,024 رمزًا، ويجب عادةً أن تكون الميزانية أقل من max_tokens لأن التفكير والإجابة النهائية يشتركان في سعة التوليد. الميزانية هدف وليست وعدًا باستهلاك ذلك العدد الدقيق من الرموز. لا يملك هذا الإصدار وضع التفكير التكيفي أو أدوات التحكم في الجهد الموصوفة لنماذج Sonnet اللاحقة. اختر عمق التحليل المطلوب، واترك سعة كافية لإجابة نهائية قابلة للاستخدام.</p><p>تتيح ميزة interleaved-thinking التجريبية لدى المنتج لـSonnet 4.5 الاستدلال بين استدعاءات الأدوات داخل الدور، باستخدام الملاحظات المُرجعة لاتخاذ قرار الخطوة التالية. وتتطلب الميزة التجريبية الموثّقة في مسار Messages المدعوم. في هذه الحالة، قد تتجاوز ميزانية التفكير max_tokens لأنها تمتد عبر عدة كتل تفكير في دور assistant نفسه. أعد نتائج الأدوات مع محتوى التفكير المرتبط بها من دون تعديل، بما يشمل توقيعه؛ فتحرير هذا المحتوى يبطله. لذلك تستطيع مهمة بحث أو تصحيح أخطاء التناوب بين فحص مقترح ونتيجته الحقيقية المُرجعة وتحليل محدّث، من دون اعتبار المقترح النصي إجراءً مكتملًا.</p><p>للمادة البصرية، يدعم المنتج JPEG وPNG وGIF وWebP، ويستخدم الإطار الأول فقط من الصورة المتحركة. يفرض المستوى الأصلي القياسي للصور المستخدم في هذا الإصدار حدًا يبلغ 1,568 بكسل للضلع الأطول وحدًا يبلغ 1,568 رمزًا بصريًا؛ وتُصغَّر الصور الأكبر. يسرد دليل الصور لدى المنتج حتى 100 صورة لكل طلب API لنماذج السياق 200K، مع شروط لحجم الصور والطلب الإجمالي قد تُبلَغ أولًا. ضع الصور قبل السؤال متى كان ذلك عمليًا، وسمِّ الصور المتعددة، وحافظ على النص الصغير أو تسميات المخططات. يوصي الدليل بصور واضحة والاحتفاظ بسياق محيط كافٍ لتفسير التفصيل الظاهر.</p><p>قُدِّم تحرير السياق وأداة ذاكرة إلى جانب هذا النموذج لدعم مسارات وكلاء أطول. وهما طريقتان يدعمهما التطبيق للاحتفاظ بحالة مفيدة أو إزالة مواد أدوات قديمة؛ وليستا ذاكرة نموذج غير محدودة أو ميزة تكثيف السياق على الخادم اللاحقة. ولمهمة متعددة المراحل، احتفظ بالقرارات المتخذة والسؤال العالق والأدلة اللازمة للخطوة التالية. وتصف Anthropic أيضًا مقاومة أقوى للتعليمات المخفية في المحتوى الخارجي، مع التنبيه إلى أن المصنّفات الخاصة بالنموذج قد تُعلِّم أحيانًا مواد غير ضارة. يظل الناتج المفيد قابلًا للمراجعة ومرتبطًا بالأدلة المقدّمة، مع فصل أوضاع Sonnet 4.5 وحدوده المحددة عن الإصدارات اللاحقة.</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>claude-sonnet-4-5-20250929-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.006</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>$0.03</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>$0.0006</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>$0.0075</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-1172-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1172-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1172-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1172-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-1172-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1172-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;claude-sonnet-4-5-20250929-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-1172-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1172-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;claude-sonnet-4-5-20250929-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=claude-sonnet-4-5-20250929-thinking&amp;route=Ultra&amp;caller=claude-sonnet-4-5-20250929-thinking&amp;fmt=chat\"><code>claude-sonnet-4-5-20250929-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=claude-sonnet-4-5-20250929-thinking&amp;route=Ultra&amp;caller=claude-sonnet-4-5-20250929-thinking&amp;fmt=chat\"><code>claude-sonnet-4-5-20250929-thinking</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|claude-sonnet-4-5-20250929-thinking",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.6,
        "cache_write": 7.5,
        "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": [
                  "claude-sonnet-4-5-20250929-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.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "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\":\"claude-sonnet-4-5-20250929-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=\"claude-sonnet-4-5-20250929-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": 6,
        "input": [
          "text"
        ],
        "label": "محادثة OpenAI",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 30,
        "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.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "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": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.0006000",
            "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.0000006",
            "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.0075000",
            "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.0000075",
            "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": "claude-sonnet-4-5-20250929-thinking",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "21a85d6d795f7465e45c6bfd703cf1947cd620168f77f8b45ed01c90810d02f6",
    "input_html_sha256": "bbf447d73878b3236c3381285aac067145a1bc038b33b5fd9b027c8788df902d",
    "private_audit_sha256": "2760456c05f825493a1a7a65007aeec72ed2eed0a9be201b0f0feaaeb6a61521",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/claude-sonnet-4-5-20250929-thinking/",
    "description": "Claude Sonnet 4.5 هو نموذج Anthropic للنصوص والصور، لتطوير البرمجيات والوكلاء المعقّدين واستخدام الحاسوب والعمل التحليلي. يدعم الردود المباشرة أو التفكير الممتد المضبوط يدويًا، مع استدلال بين استدعاءات الأدوات في المسار التجريبي الموثّق.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/claude-sonnet-4-5-20250929-thinking/index.md",
    "title": "Anthropic: Claude Sonnet 4.5 — Ailoot",
    "url": "https://ailoot.ai/models/ar/claude-sonnet-4-5-20250929-thinking/"
  },
  "rawModel": {
    "about": "Claude Sonnet 4.5 هو إصدار Sonnet من Anthropic، ويركّز على تطوير البرمجيات ومهام الوكلاء المعقّدة واستخدام الحاسوب، مع تحسينات في الاستدلال والرياضيات. يقبل النصوص والصور ويولّد نصًا. يصف الإصدار عملًا ممتدًا عبر عدة خطوات، وفهم الشيفرة، وتغييرات تشمل مشروعًا أوسع بدلًا من دالة منفردة معزولة. يحدّد الموجز المفيد السلوك المطلوب والمادة المصدرية ذات الصلة والناتج المراد تقديمه: تعديلًا مقترحًا أو شرح تنفيذ أو تحليل مستند أو إجابة منظّمة.\n\nللعمل البرمجي، قدّم قيود المشروع والملفات أو المقتطفات ذات الصلة والخطأ المرصود ومثالًا محددًا للنتيجة المتوقعة. اطلب الشيفرة المتأثرة وشرحًا لكيفية معالجة التغيير المقترح لذلك المثال. يقدّم المنتج النموذج كخيار مناسب لبناء الوكلاء ومعالجة مهام التطوير بالأدوات. يقرأ التطبيق المحيط الملفات ويحرّرها، ويشغّل أمرًا أو فحصًا، ويعيد إخراجه الفعلي؛ ويستدل النموذج بهذه الأدلة. افصل التغيير المقترح عن الفحص المكتمل في التقرير النهائي.\n\nاستخدام الحاسوب تطبيق منفصل لقدراته البصرية والوكيلية. يعرض إصدار Anthropic التفاعل مع المتصفح والتنقل بين الصفحات والعمل على الجداول عبر بيئة متصلة. يمكن لموجز بصري تقديم لقطة شاشة وتحديد الهدف وتعريف الإجراءات التي يسمح بها التطبيق. ينفّذ التطبيق بعد ذلك التفاعل المختار ويعيد الشاشة المتغيّرة أو نتيجة أخرى. وبالمثل، يستطيع النموذج إعداد محتوى وشيفرة للمستندات والجداول والشرائح، بينما تنتج البيئة الملف المكتمل. فهم النصوص والصور لا يجعل النموذج مولّدًا أصليًا للصور أو الصوت.\n\nتسرد مواصفات المنتج المحددة نافذة سياق بطول 200K رمز وإخراجًا يصل إلى 64K رمزًا. تاريخ انتهاء معرفته الموثوقة هو يناير 2025، وهو منفصل عن تاريخ انتهاء بيانات التدريب الأحدث المذكور في الصفحة. اجعل حدود المستندات وتسميات الصفحات والوحدات ومعرّفات الشيفرة واضحة في الإدخال الطويل، وخصّص مساحة للإجابة المطلوبة وأي استدلال. يوثّق المنتج أيضًا الوعي بالسياق لهذا الإصدار، لذا يتتبع مساره المدعوم المساحة المتبقية أثناء المحادثة. يساعد ذلك على إدارة مهمة ممتدة ضمن نافذته؛ ولا يستبدل النافذة بسعة أكبر من إصدار Sonnet لاحق.\n\nيدعم Sonnet 4.5 الردود المعتادة والتفكير الممتد المضبوط يدويًا. في الوضع الثاني، يحدّد budget_tokens هدفًا للاستدلال الداخلي قبل الإجابة الظاهرة. الحد الأدنى الموثّق هو 1,024 رمزًا، ويجب عادةً أن تكون الميزانية أقل من max_tokens لأن التفكير والإجابة النهائية يشتركان في سعة التوليد. الميزانية هدف وليست وعدًا باستهلاك ذلك العدد الدقيق من الرموز. لا يملك هذا الإصدار وضع التفكير التكيفي أو أدوات التحكم في الجهد الموصوفة لنماذج Sonnet اللاحقة. اختر عمق التحليل المطلوب، واترك سعة كافية لإجابة نهائية قابلة للاستخدام.\n\nتتيح ميزة interleaved-thinking التجريبية لدى المنتج لـSonnet 4.5 الاستدلال بين استدعاءات الأدوات داخل الدور، باستخدام الملاحظات المُرجعة لاتخاذ قرار الخطوة التالية. وتتطلب الميزة التجريبية الموثّقة في مسار Messages المدعوم. في هذه الحالة، قد تتجاوز ميزانية التفكير max_tokens لأنها تمتد عبر عدة كتل تفكير في دور assistant نفسه. أعد نتائج الأدوات مع محتوى التفكير المرتبط بها من دون تعديل، بما يشمل توقيعه؛ فتحرير هذا المحتوى يبطله. لذلك تستطيع مهمة بحث أو تصحيح أخطاء التناوب بين فحص مقترح ونتيجته الحقيقية المُرجعة وتحليل محدّث، من دون اعتبار المقترح النصي إجراءً مكتملًا.\n\nللمادة البصرية، يدعم المنتج JPEG وPNG وGIF وWebP، ويستخدم الإطار الأول فقط من الصورة المتحركة. يفرض المستوى الأصلي القياسي للصور المستخدم في هذا الإصدار حدًا يبلغ 1,568 بكسل للضلع الأطول وحدًا يبلغ 1,568 رمزًا بصريًا؛ وتُصغَّر الصور الأكبر. يسرد دليل الصور لدى المنتج حتى 100 صورة لكل طلب API لنماذج السياق 200K، مع شروط لحجم الصور والطلب الإجمالي قد تُبلَغ أولًا. ضع الصور قبل السؤال متى كان ذلك عمليًا، وسمِّ الصور المتعددة، وحافظ على النص الصغير أو تسميات المخططات. يوصي الدليل بصور واضحة والاحتفاظ بسياق محيط كافٍ لتفسير التفصيل الظاهر.\n\nقُدِّم تحرير السياق وأداة ذاكرة إلى جانب هذا النموذج لدعم مسارات وكلاء أطول. وهما طريقتان يدعمهما التطبيق للاحتفاظ بحالة مفيدة أو إزالة مواد أدوات قديمة؛ وليستا ذاكرة نموذج غير محدودة أو ميزة تكثيف السياق على الخادم اللاحقة. ولمهمة متعددة المراحل، احتفظ بالقرارات المتخذة والسؤال العالق والأدلة اللازمة للخطوة التالية. وتصف Anthropic أيضًا مقاومة أقوى للتعليمات المخفية في المحتوى الخارجي، مع التنبيه إلى أن المصنّفات الخاصة بالنموذج قد تُعلِّم أحيانًا مواد غير ضارة. يظل الناتج المفيد قابلًا للمراجعة ومرتبطًا بالأدلة المقدّمة، مع فصل أوضاع Sonnet 4.5 وحدوده المحددة عن الإصدارات اللاحقة.",
    "alias_of": null,
    "aliases": [],
    "author": "Anthropic",
    "available": null,
    "canonical_model": "claude-sonnet-4-5-20250929-thinking",
    "capabilities": {
      "context_length": 1000000,
      "manufacturer_input": [
        "text",
        "image",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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,
    "entity_type": "model",
    "formats": [
      "chat"
    ],
    "id": "claude-sonnet-4-5-20250929-thinking",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.6,
        "cache_write": 7.5,
        "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": [
                  "claude-sonnet-4-5-20250929-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.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "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\":\"claude-sonnet-4-5-20250929-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=\"claude-sonnet-4-5-20250929-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": 6,
        "input": [
          "text"
        ],
        "label": "محادثة OpenAI",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 30,
        "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.006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000006",
                "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.03000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00003",
                "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.0006000",
                "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.0000006",
                "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.0075000",
                "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.0000075",
                "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": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.0006000",
            "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.0000006",
            "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.0075000",
            "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.0000075",
            "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": "claude-sonnet-4-5-20250929-thinking",
        "request_model_id": "claude-sonnet-4-5-20250929-thinking",
        "route_label": "Ultra"
      }
    ],
    "name": "Anthropic: Claude Sonnet 4.5",
    "price": {
      "in": 6,
      "in_label": null,
      "out": 30,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 6,
      "sort_out": 30,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "OpenAI Chat · Base token rates",
        "units": [
          {
            "amount": "0.006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000006",
            "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.03000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00003",
            "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.0006000",
            "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.0000006",
            "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.0075000",
            "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.0000075",
            "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"
          }
        ]
      }
    ],
    "public_id": "claude-sonnet-4-5-20250929-thinking",
    "short": "Claude Sonnet 4.5 هو نموذج Anthropic للنصوص والصور، لتطوير البرمجيات والوكلاء المعقّدين واستخدام الحاسوب والعمل التحليلي. يدعم الردود المباشرة أو التفكير الممتد المضبوط يدويًا، مع استدلال بين استدعاءات الأدوات في المسار التجريبي الموثّق."
  },
  "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": "Claude Sonnet 4.5 هو نموذج Anthropic للنصوص والصور، لتطوير البرمجيات والوكلاء المعقّدين واستخدام الحاسوب والعمل التحليلي. يدعم الردود المباشرة أو التفكير الممتد المضبوط يدويًا، مع استدلال بين استدعاءات الأدوات في المسار التجريبي الموثّق.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cf49374e7eca20f8baa4875c9173dfd8cb54984645502ae08a0d3205a3f08583",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "959eb3da1a58e19c1ae35e6b3cf204f23dc60bd0c2247b965c8f80bbcd53ea56"
}
