Source: https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/
Canonical: https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/
Language: ar

# Anthropic: Claude Haiku 5.5

[Markdown](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/index.md) · [JSON](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/facts.json)

## [Anthropic: Claude Haiku 5.5](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/)

Claude Haiku 5.5 هو نموذج Anthropic الصغير للتصنيف والاستخراج والتلخيص والتوجيه ومهام الوكلاء المركّزة. يجمع فهم النصوص والصور مع الاستدلال التكيفي، وصُمّم للعمل المتكرر الذي يحتاج إلى رد سريع.

- [**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/#method-0)
- [**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/#method-1)
- [**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/#method-2)
- [**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/#method-3)

عن النموذج

يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.

Claude Haiku 5.5 هو إصدار النموذج الصغير من Anthropic للمهام كبيرة الحجم والحساسة لزمن الاستجابة. تشمل استخداماته الرئيسية التصنيف والتوجيه واستخراج المعلومات والتلخيص وتكثيف المحادثات والعمل المركّز للوكلاء الفرعيين. يقبل النصوص والصور ويولّد نصًا. يمنحه الموجز المفيد سؤالًا ضيقًا ونتيجة صريحة: فئةً أو مجموعة حقول محددة أو ملخصًا قصيرًا أو الأدلة ذات الصلة بجزء آخر من مهمة أكبر. احتفظ بمعرّفات المصادر مع النتيجة ليتمكن التطبيق من ربط المعلومات المستخرجة بمادتها الأصلية.

تطرح Anthropic هذا الإصدار لدعم العملاء المباشر واستخدام المتصفح والمهام البرمجية الفرعية القصيرة، إلى جانب التحليل المتكرر. يستطيع تكملة Claude Sonnet 5.5 أو Claude Opus 5.5 في مسار يعالج فيه نموذج أكبر مشروعًا طموحًا، بينما يتولى Haiku بحثًا محدودًا أو ملخصًا. ولمهمة دعم، قدّم السؤال والمادة المرجعية المسموح بها، ثم حدّد نبرة الرد وما يجب إعادته. ولمهمة برمجية فرعية، حدّد الملفات أو المقتطفات ذات الصلة والسؤال الدقيق، بدلًا من تكليف مشروع مفتوح من دون شرط إتمام.

نافذة السياق الموثّقة مليون رمز، مع إخراج يصل إلى 128,000 رمز في التوليد المعتاد. تُحتسَب رموز التفكير ضمن سعة التوليد، لذا تحتاج النتيجة إلى مساحة للاستدلال والنص الظاهر معًا. تاريخ انتهاء معرفته الموثوقة هو يونيو 2026؛ وتحتاج المعلومات اللاحقة إلى أدلة مقدّمة أو أداة بحث. وتوثّق Anthropic بصورة منفصلة ميزة تجريبية للدفعات فقط ترفع الإخراج إلى 300,000 رمز لهذا الإصدار. تتطلب السعة الأكبر ميزة extended-output لدى المنتج، وهي منفصلة عن الحد المعتاد. تعالج الدفعة غير المتزامنة الطلبات بصورة مستقلة، مما يفيد مجموعات المستندات أو السجلات التي تُحتاج نتائجها بعد المعالجة، لا فورًا.

يُفعَّل التفكير التكيفي افتراضيًا، ويُعد effort أداة التحكم الرئيسية في عمق الاستدلال. مستوياته low وmedium وhigh وxhigh وmax، مع medium كخيار افتراضي. توصي Anthropic بـmedium لمعظم العمل، وhigh للمهام الأطول أو الالتزام الصارم بالتعليمات، وlow للطلبات الأبسط والقصيرة. يمكن تعطيل التفكير عند low أو medium أو high؛ ويُرفَض تعطيله عند xhigh أو max. لا يحل موجّه يطلب إجابة مباشرة محل أداة التحكم هذه. ولا تنتقل إعدادات budget\_tokens اليدوية من Haiku 4.5 إلى هذا الإصدار، وينبغي حذف temperature وtop\_p وtop\_k في الواجهة الموثّقة.

يستخدم Haiku 5.5 مُجزِّئ الرموز الأحدث الذي قُدِّم في أجيال Claude السابقة، وتقدّر Anthropic أن النص نفسه قد يستخدم رموزًا أكثر بنحو 30% مقارنةً بـHaiku 4.5، بحسب محتواه. ويحتفظ أيضًا بكتل التفكير من أدوار assistant السابقة، لذا قد يكبر حجم المحادثة بما يتجاوز أثر تغيير مُجزِّئ الرموز وحده. الحد الأدنى لطول الموجّه القابل للتخزين المؤقت هو 512 رمزًا. أبقِ الأدوار السابقة من دون تغيير عند الاحتفاظ بالاستدلال، وضع التعليمات الجديدة في أحدث دور. يُبطل تغيير effort على المستوى الأعلى ذاكرة التخزين المؤقت لرسائل المحادثة؛ ويوثّق المنتج ميزة تجريبية منفصلة لتغيير الجهد داخل المحادثات التكيفية. ولا تثبت أي من هذه القدرات أن طلبًا معينًا استفاد من التخزين المؤقت.

للاسترجاع، يوصي دليل توجيه النموذج بتقديم التاريخ الحالي مع أداة البحث، والحفاظ على ثبات تعريفات النظام والأدوات الأصلية. قدّم تاريخًا جديدًا في أحدث دور إذا استمرت المحادثة في يوم لاحق. اذكر ما يجب العثور عليه، واحتفظ بالمصادر المُرجعة قبل طلب الاستنتاج. فمثلًا، يمكن لمهمة توضيحية طلب السلوك الموثّق لإصدار برمجي محدد، يتبعه شرح قصير يستند إلى المقطع المسترجع. يوفّر التطبيق أداة البحث ويعيد نتائجها الفعلية؛ والبحث الذي يقترحه النموذج ليس دليلًا على حدوثه.

عندما يُجمع إخراج JSON المنظّم مع الأدوات، يوثّق الدليل تفاعلًا محددًا: عند تعطيل التفكير، قد يتجاوز Haiku استدعاء أداة ضروريًا. توصي Anthropic بالتفكير التكيفي لهذه الطلبات، أو بفصل متطلب JSON النهائي عن خطوة الأداة. عرّف حقول الإخراج، واجعل من الواضح أن الإجابة النهائية تأتي بعد نتائج الأدوات. يمكن لموجز استخراج بيانات تسمية الحقول المطلوبة وكيفية تمثيل القيم الناقصة، بينما يمكن لموجز بحث طلب الأدلة اللازمة لملئها أولًا. اقرأ كتل الاستجابة بحسب نوعها، لأن الإجابة ليست بالضرورة الكتلة الأولى، ويُحذَف نص التفكير افتراضيًا.

للموجّهات الوكيلية الأطول، تشير Anthropic إلى أن جهد low قد يتوقف مبكرًا أو يتجاوز بحثًا أو يهمل فحصًا. يوصي دليلها بتعليمات إتمام صريحة وفحوص فعلية لتغييرات الشيفرة قبل الإبلاغ عن اكتمالها. جهّز النتيجة المتوقعة والأدلة التي تثبتها: المقاطع المختارة لتقرير، أو السلوك المتغيّر لمقترح شيفرة، أو الحقول المستخرجة من مستند. ويميّز الدليل أيضًا رسالة المستخدم أثناء المهمة من إخراج الأداة: تنتمي تعليمات المستخدم الجديدة إلى دور user، بينما تبقى أدلة الأداة المُرجعة منفصلة.

لهذا الإصدار وسائل حماية خاصة به، وقد يعيد رفضًا لفئات تشمل الضرر السيبراني والضرر البيولوجي وتطوير نماذج منافسة أو استخدامات محظورة أخرى. لا يوثّق المنتج تحويلًا احتياطيًا على الخادم لـHaiku 5.5. ويشير دليله أيضًا إلى أن جهد xhigh قد ينهي أحيانًا ردًا متعدد الأدوار من دون نص إجابة ظاهر، وأن نصًا شبيهًا بالاستدلال قد يظهر أكثر عند جهد low أو تعطيل التفكير. هذه سلوكيات محددة ينبغي مراعاتها عندما يتطلب المسار نتيجة ظاهرة ومنظّمة. ولعمل استخراج أو تلخيص معتاد، استخدم مصدرًا مركّزًا وإخراجًا محددًا ومستوى الجهد المناسب للمهمة.

مهمة عملية

### مهمة عملية

مثال تقني باللغة الإنجليزية

```
Extract a support handoff

Extract a handoff from this ticket, using only its text: T-184: 'I changed my billing email yesterday. Receipts still go to the old address. My login works. Please resend March and April receipts.' Return ticket ID, requested actions, working function and missing information. Use 'not stated' for absent details.
```

#### النتيجة المتوقعة

```
Four labeled fields retaining T-184, the receipt request, the working login and explicitly missing details.
```

#### التحقق من النتيجة

```
Every extracted value must trace to the ticket; do not invent either email address.
```

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `anthropic/claude-haiku-5.5`

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat)

Anthropic /`anthropic/claude-haiku-5.5`

معرّف النموذج ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### البداية

Claude Haiku 5.5 هو نموذج Anthropic الصغير للتصنيف والاستخراج والتلخيص والتوجيه ومهام الوكلاء المركّزة. يجمع فهم النصوص والصور مع الاستدلال التكيفي، وصُمّم للعمل المتكرر الذي يحتاج إلى رد سريع.

المدخلات المقبولة

النص

النتائج

النص

### متاح في Ailoot · المدخلات والطرائق

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions`

الإدخال

`text`

الإخراج

`text`

صيغة الإخراج

json أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود anthropic/claude-haiku-5.5 | القيمة الافتراضية— |
| الحقل`messages` | النوع`message[]` | المتطلبمطلوب | القيم والحدود الحد الأدنى للعناصر: ⁦1⁩ | القيمة الافتراضية— |
| الحقل`messages[].role` | النوع`string` | المتطلبمطلوب | القيم والحدود أمثلة: system, user, assistant, tool, function الشروط: تُمثَّل هذه الأدوار صراحةً بأنواع التوافق في الشيفرة المصدرية؛ وتظل مجموعة الأدوار الدقيقة خاصة بكل نموذج. يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`messages[].content` | النوع`string\|content_part[]\|null` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].tool_calls` | النوع`tool_call[]` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].tool_call_id` | النوع`string` | المتطلباختياري | القيم والحدود ينطبق عندما: role=tool؛ استخدم المعرّف الفعلي المُرجع | القيمة الافتراضية— |
| الحقل`messages[].name` | النوع`string` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].reasoning_content` | النوع`string` | المتطلباختياري | القيم والحدود ينطبق عندما: أعِد تمرير الاستدلال الفعلي المُرجع حيث يستخدمه هذا النموذج | القيمة الافتراضية— |
| الحقل`messages[].reasoning_details` | النوع`object\|array` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`max_tokens` | النوع`integer` | المتطلباختياري | القيم والحدود الحد الأدنى: ⁦1⁩ يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`max_completion_tokens` | النوع`integer` | المتطلباختياري | القيم والحدود الحد الأدنى: ⁦1⁩ يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`stream` | النوع`boolean` | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |
| الحقل`stream_options.include_usage` | النوع`boolean` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`temperature` | النوع`number` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`top_p` | النوع`number` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`stop` | النوع`string\|string[]` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`tools` | النوع`function_tool[]` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`tools[].type` | النوع`string` | المتطلباختياري | القيم والحدود function يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`tools[].function.name` | النوع`string` | المتطلبمطلوب | القيم والحدود ينطبق عندما: أداة دالة مقدّمة | القيمة الافتراضية— |
| الحقل`tools[].function.description` | النوع`string` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`tools[].function.parameters` | النوع`JSON_schema` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`tool_choice` | النوع`string\|object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`parallel_tool_calls` | النوع`boolean` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`response_format` | النوع`object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`reasoning_effort` | النوع`string` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`reasoning` | النوع`object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`service_tier` | النوع`string` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`instructions` | النوع`string` | المتطلباختياري | القيم والحدود حقل للتوافق | القيمة الافتراضية— |
| الحقل`functions` | النوع`function[]` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`function_call` | النوع`string\|object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`prompt_cache_options` | النوع`object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`modalities` | النوع`string[]` | المتطلباختياري | القيم والحدود text | القيمة الافتراضية— |
| الحقل`provider` | النوع`object` | المتطلباختياري | القيم والحدود الشروط: يُرفَض provider.options في مسار Ultra النصي هذا | القيمة الافتراضية— |
| الحقل`cache_control.ttl` | النوع`string` | المتطلباختياري | القيم والحدود الشروط: تُرفَض 1h في المواضع الفعلية للتخزين المؤقت للموجّه | القيمة الافتراضية— |

تركيبات مواد الإدخال

**النص** · نص UTF8

`messages[].content`

معلمات الطريقة ودورة حياتها

| المعلمة | المواصفات |
| --- | --- |
| المعلمة`content_type` | المواصفاتapplication/json |
| المعلمة`required` | المواصفاتmodel, messages |
| المعلمة`material_types` | المواصفاتtext |
| المعلمة`messages` | المواصفاتمصفوفة رسائل ببنية role/content |
| المعلمة`file_material` | المواصفاتمستند UTF-8 الفعلي مُدرج كنص حرفي؛ لا يُستنتَج معرّف ملف |
| المعلمة`optional_controls` | المواصفاتstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| المعلمة`control_scope` | المواصفاتخاص بالنموذج؛ أدوات الدوال التي يقدّمها المستخدم تختلف عن الأدوات المستضافة |
| المعلمة`output_modalities` | المواصفاتtext |
| المعلمة`hosted_operations` | المواصفاتfalse |
| المعلمة`multimodal_input_binding` | المواصفاتnull |

دورة الحياة: `synchronous_or_streamed`

أرسل معرّف النموذج الدقيق مع messages.

طول السياق ليس حدًا أقصى للإخراج.

يمكن لملف نصي تقديم نص حرفي؛ وتحتاج مدخلات الصور/الصوت/كائنات الملفات إلى ربط دقيق.

### الباقات

مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.

الوضع السريع

التعرفة القياسية عند اختيار الوضع السريع

الوضع المرن

التعرفة القياسية عند اختيار وضع flex

أقصى جهد للاستدلال

التعرفة القياسية عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال

جهد الاستدلال · مرتفع

التعرفة القياسية عندما يكون جهد الاستدلال مرتفعًا

جهد الاستدلال · منخفض

التعرفة القياسية عندما يكون جهد الاستدلال منخفضًا

جهد الاستدلال · الحد الأقصى

التعرفة القياسية عندما يكون جهد الاستدلال عند الحد الأقصى

جهد الاستدلال · متوسط

التعرفة القياسية عندما يكون جهد الاستدلال متوسطًا

جهد الاستدلال · xhigh

التعرفة القياسية عندما يكون جهد الاستدلال xhigh

#### تعرفات Ailoot

#### الأسعار حسب الإعدادات

طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.

| الإعدادات | جدول التعرفة | رموز السياق، أكثر من | رموز السياق، حتى القيمة شاملةً | الرسوم |
| --- | --- | --- | --- | --- |
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | رموز السياق، أكثر من— | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 1 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦0⁩ | رموز السياق، حتى القيمة شاملةً⁦100,000⁩ | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 2 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦100,000⁩ | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.002** / 1K من الرموز |

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. [كيفية عمل حجز المبلغ وتسوية الرسوم →](https://ailoot.ai/docs/ar/billing/reserve/)

### أمثلة للطلبات

#### Ailoot Ultra · محادثة OpenAI

curlPython SDKالبث باستخدام Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "anthropic/claude-haiku-5.5", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='anthropic/claude-haiku-5.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='anthropic/claude-haiku-5.5',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### استلام النتائج وحفظها

#### Ailoot Ultra · محادثة OpenAI

json أو SSE

##### الاحتفاظ بكل النتائج المكتملة

احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.

احتفظ بكل اختيار ومحتواه واستدعاءات أدواته واستدلاله. في SSE، جمّع التحديثات بحسب فهرس الاختيار/الأداة، واحتفظ بسبب الإنهاء النهائي والاستخدام.

##### عند الحاجة إلى التحقق من الاستجابة الأصلية

احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.

حقول الاستجابة

| الحقل | النوع |
| --- | --- |
| الحقل`choices[].index` | النوعinteger |
| الحقل`choices[].message.content` | النوعstring\|null |
| الحقل`choices[].message.tool_calls` | النوعtool\_call\[\] |
| الحقل`choices[].message.reasoning_content` | النوعstring |
| الحقل`choices[].message.reasoning_details` | النوعobject\|array |
| الحقل`choices[].finish_reason` | النوعstring\|null |
| الحقل`usage` | النوعobject |

الأخطاء والخطوات التالية

| الاستجابة | الشرط | الخطوة التالية |
| --- | --- | --- |
| الاستجابة⁦400⁩ · `invalid_request_error` | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |

### الأسماء البديلة

#### الأسماء البديلة للنموذج

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

#### الأسماء البديلة لمسارات الطرائق

استخدم مسارات الطرائق المعروضة أعلاه.

#### معرّفات النماذج ذات الصلة IDs

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `anthropic/claude-haiku-5.5`

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages)

Anthropic /`anthropic/claude-haiku-5.5`

معرّف النموذج ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### البداية

Claude Haiku 5.5 هو نموذج Anthropic الصغير للتصنيف والاستخراج والتلخيص والتوجيه ومهام الوكلاء المركّزة. يجمع فهم النصوص والصور مع الاستدلال التكيفي، وصُمّم للعمل المتكرر الذي يحتاج إلى رد سريع.

المدخلات المقبولة

النص

النتائج

json · sse

### متاح في Ailoot · المدخلات والطرائق

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages`

الإدخال

`text`

الإخراج

`json`, `sse`

صيغة الإخراج

JSON أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود anthropic/claude-haiku-5.5 | القيمة الافتراضية— |
| الحقل`messages` | النوع`message[]` | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].role` | النوع`string` | المتطلبمطلوب | القيم والحدود user, assistant | القيمة الافتراضية— |
| الحقل`messages[].content` | النوع`string` | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
| الحقل`max_tokens` | النوع`integer` | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
| الحقل`stream` | النوع`boolean` | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |

تركيبات مواد الإدخال

**النص** · نص UTF-8

`سلسلة نصية messages[].content`

معلمات الطريقة ودورة حياتها

| المعلمة | المواصفات |
| --- | --- |
| المعلمة`content_type` | المواصفاتapplication/json |
| المعلمة`required` | المواصفاتmodel, messages, max\_tokens |
| المعلمة`optional_controls` | المواصفاتstream |
| المعلمة`material_types` | المواصفاتtext |
| المعلمة`text_file_material` | المواصفاتاقرأ مستند UTF-8 الفعلي وضع نصه في الإدخال المحدد أو السلسلة النصية لمحتوى الرسالة. |

دورة الحياة: `synchronous_or_streamed`

### الباقات

مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.

الوضع السريع

التعرفة القياسية عند اختيار الوضع السريع

الوضع المرن

التعرفة القياسية عند اختيار وضع flex

أقصى جهد للاستدلال

التعرفة القياسية عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال

جهد الاستدلال · مرتفع

التعرفة القياسية عندما يكون جهد الاستدلال مرتفعًا

جهد الاستدلال · منخفض

التعرفة القياسية عندما يكون جهد الاستدلال منخفضًا

جهد الاستدلال · الحد الأقصى

التعرفة القياسية عندما يكون جهد الاستدلال عند الحد الأقصى

جهد الاستدلال · متوسط

التعرفة القياسية عندما يكون جهد الاستدلال متوسطًا

جهد الاستدلال · xhigh

التعرفة القياسية عندما يكون جهد الاستدلال xhigh

#### تعرفات Ailoot

#### الأسعار حسب الإعدادات

طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.

| الإعدادات | جدول التعرفة | رموز السياق، أكثر من | رموز السياق، حتى القيمة شاملةً | الرسوم |
| --- | --- | --- | --- | --- |
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | رموز السياق، أكثر من— | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 1 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦0⁩ | رموز السياق، حتى القيمة شاملةً⁦100,000⁩ | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 2 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦100,000⁩ | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.002** / 1K من الرموز |

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. [كيفية عمل حجز المبلغ وتسوية الرسوم →](https://ailoot.ai/docs/ar/billing/reserve/)

### أمثلة للطلبات

#### Ailoot Ultra · رسائل Anthropic

جسم طلب JSON مكتمل بالحد الأدنىcurl · استخدم مستندك بترميز UTF-8Python · احفظ النتيجة كاملة

```json
{
  "model": "anthropic/claude-haiku-5.5",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-haiku-5.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'anthropic/claude-haiku-5.5', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### استلام النتائج وحفظها

#### Ailoot Ultra · رسائل Anthropic

JSON أو SSE

##### الاحتفاظ بكل النتائج المكتملة

احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.

احتفظ بكل كتل المحتوى وتوقيعات التفكير ومعرّفات استخدام الأدوات الفعلية. جمّع جميع تحديثات كتل SSE؛ فأول كتلة نصية ليست الإخراج الكامل.

##### عند الحاجة إلى التحقق من الاستجابة الأصلية

احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.

حقول الاستجابة

| الحقل | النوع |
| --- | --- |
| الحقل`id` | النوعstring |
| الحقل`model` | النوعstring |
| الحقل`content[]` | النوعtext\|thinking\|tool\_use\|other content block |
| الحقل`stop_reason` | النوعstring\|null |
| الحقل`usage` | النوعobject |

الأخطاء والخطوات التالية

| الاستجابة | الشرط | الخطوة التالية |
| --- | --- | --- |
| الاستجابة⁦400⁩ · `invalid_request_error` | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |

### الأسماء البديلة

#### الأسماء البديلة للنموذج

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

#### الأسماء البديلة لمسارات الطرائق

استخدم مسارات الطرائق المعروضة أعلاه.

#### معرّفات النماذج ذات الصلة IDs

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `~anthropic/claude-haiku-latest`

[`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

Anthropic /`~anthropic/claude-haiku-latest`

معرّف النموذج ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### البداية

Claude Haiku 5.5 هو نموذج Anthropic الصغير للتصنيف والاستخراج والتلخيص والتوجيه ومهام الوكلاء المركّزة. يجمع فهم النصوص والصور مع الاستدلال التكيفي، وصُمّم للعمل المتكرر الذي يحتاج إلى رد سريع.

المدخلات المقبولة

النص

النتائج

النص

### متاح في Ailoot · المدخلات والطرائق

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions`

الإدخال

`text`

الإخراج

`text`

صيغة الإخراج

json أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود ~anthropic/claude-haiku-latest | القيمة الافتراضية— |
| الحقل`messages` | النوع`message[]` | المتطلبمطلوب | القيم والحدود الحد الأدنى للعناصر: ⁦1⁩ | القيمة الافتراضية— |
| الحقل`messages[].role` | النوع`string` | المتطلبمطلوب | القيم والحدود أمثلة: system, user, assistant, tool, function الشروط: تُمثَّل هذه الأدوار صراحةً بأنواع التوافق في الشيفرة المصدرية؛ وتظل مجموعة الأدوار الدقيقة خاصة بكل نموذج. يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`messages[].content` | النوع`string\|content_part[]\|null` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].tool_calls` | النوع`tool_call[]` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].tool_call_id` | النوع`string` | المتطلباختياري | القيم والحدود ينطبق عندما: role=tool؛ استخدم المعرّف الفعلي المُرجع | القيمة الافتراضية— |
| الحقل`messages[].name` | النوع`string` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].reasoning_content` | النوع`string` | المتطلباختياري | القيم والحدود ينطبق عندما: أعِد تمرير الاستدلال الفعلي المُرجع حيث يستخدمه هذا النموذج | القيمة الافتراضية— |
| الحقل`messages[].reasoning_details` | النوع`object\|array` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`max_tokens` | النوع`integer` | المتطلباختياري | القيم والحدود الحد الأدنى: ⁦1⁩ يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`max_completion_tokens` | النوع`integer` | المتطلباختياري | القيم والحدود الحد الأدنى: ⁦1⁩ يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`stream` | النوع`boolean` | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |
| الحقل`stream_options.include_usage` | النوع`boolean` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`temperature` | النوع`number` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`top_p` | النوع`number` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`stop` | النوع`string\|string[]` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`tools` | النوع`function_tool[]` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`tools[].type` | النوع`string` | المتطلباختياري | القيم والحدود function يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`tools[].function.name` | النوع`string` | المتطلبمطلوب | القيم والحدود ينطبق عندما: أداة دالة مقدّمة | القيمة الافتراضية— |
| الحقل`tools[].function.description` | النوع`string` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`tools[].function.parameters` | النوع`JSON_schema` | المتطلباختياري | القيم والحدود | القيمة الافتراضية— |
| الحقل`tool_choice` | النوع`string\|object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`parallel_tool_calls` | النوع`boolean` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`response_format` | النوع`object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`reasoning_effort` | النوع`string` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`reasoning` | النوع`object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`service_tier` | النوع`string` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`instructions` | النوع`string` | المتطلباختياري | القيم والحدود حقل للتوافق | القيمة الافتراضية— |
| الحقل`functions` | النوع`function[]` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`function_call` | النوع`string\|object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`prompt_cache_options` | النوع`object` | المتطلباختياري | القيم والحدود يعتمد على النموذج | القيمة الافتراضية— |
| الحقل`modalities` | النوع`string[]` | المتطلباختياري | القيم والحدود text | القيمة الافتراضية— |
| الحقل`provider` | النوع`object` | المتطلباختياري | القيم والحدود الشروط: يُرفَض provider.options في مسار Ultra النصي هذا | القيمة الافتراضية— |
| الحقل`cache_control.ttl` | النوع`string` | المتطلباختياري | القيم والحدود الشروط: تُرفَض 1h في المواضع الفعلية للتخزين المؤقت للموجّه | القيمة الافتراضية— |

تركيبات مواد الإدخال

**النص** · نص UTF8

`messages[].content`

معلمات الطريقة ودورة حياتها

| المعلمة | المواصفات |
| --- | --- |
| المعلمة`content_type` | المواصفاتapplication/json |
| المعلمة`required` | المواصفاتmodel, messages |
| المعلمة`material_types` | المواصفاتtext |
| المعلمة`messages` | المواصفاتمصفوفة رسائل ببنية role/content |
| المعلمة`file_material` | المواصفاتمستند UTF-8 الفعلي مُدرج كنص حرفي؛ لا يُستنتَج معرّف ملف |
| المعلمة`optional_controls` | المواصفاتstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| المعلمة`control_scope` | المواصفاتخاص بالنموذج؛ أدوات الدوال التي يقدّمها المستخدم تختلف عن الأدوات المستضافة |
| المعلمة`output_modalities` | المواصفاتtext |
| المعلمة`hosted_operations` | المواصفاتfalse |
| المعلمة`multimodal_input_binding` | المواصفاتnull |

دورة الحياة: `synchronous_or_streamed`

أرسل معرّف النموذج الدقيق مع messages.

طول السياق ليس حدًا أقصى للإخراج.

يمكن لملف نصي تقديم نص حرفي؛ وتحتاج مدخلات الصور/الصوت/كائنات الملفات إلى ربط دقيق.

### الباقات

مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.

الوضع السريع

التعرفة القياسية عند اختيار الوضع السريع

الوضع المرن

التعرفة القياسية عند اختيار وضع flex

أقصى جهد للاستدلال

التعرفة القياسية عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال

جهد الاستدلال · مرتفع

التعرفة القياسية عندما يكون جهد الاستدلال مرتفعًا

جهد الاستدلال · منخفض

التعرفة القياسية عندما يكون جهد الاستدلال منخفضًا

جهد الاستدلال · الحد الأقصى

التعرفة القياسية عندما يكون جهد الاستدلال عند الحد الأقصى

جهد الاستدلال · متوسط

التعرفة القياسية عندما يكون جهد الاستدلال متوسطًا

جهد الاستدلال · xhigh

التعرفة القياسية عندما يكون جهد الاستدلال xhigh

#### تعرفات Ailoot

#### الأسعار حسب الإعدادات

طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.

| الإعدادات | جدول التعرفة | رموز السياق، أكثر من | رموز السياق، حتى القيمة شاملةً | الرسوم |
| --- | --- | --- | --- | --- |
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | رموز السياق، أكثر من— | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 1 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦0⁩ | رموز السياق، حتى القيمة شاملةً⁦100,000⁩ | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 2 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦100,000⁩ | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.002** / 1K من الرموز |

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. [كيفية عمل حجز المبلغ وتسوية الرسوم →](https://ailoot.ai/docs/ar/billing/reserve/)

### أمثلة للطلبات

#### Ailoot Ultra · محادثة OpenAI

curlPython SDKالبث باستخدام Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "~anthropic/claude-haiku-latest", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='~anthropic/claude-haiku-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        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
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='~anthropic/claude-haiku-latest',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### استلام النتائج وحفظها

#### Ailoot Ultra · محادثة OpenAI

json أو SSE

##### الاحتفاظ بكل النتائج المكتملة

احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.

احتفظ بكل اختيار ومحتواه واستدعاءات أدواته واستدلاله. في SSE، جمّع التحديثات بحسب فهرس الاختيار/الأداة، واحتفظ بسبب الإنهاء النهائي والاستخدام.

##### عند الحاجة إلى التحقق من الاستجابة الأصلية

احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.

حقول الاستجابة

| الحقل | النوع |
| --- | --- |
| الحقل`choices[].index` | النوعinteger |
| الحقل`choices[].message.content` | النوعstring\|null |
| الحقل`choices[].message.tool_calls` | النوعtool\_call\[\] |
| الحقل`choices[].message.reasoning_content` | النوعstring |
| الحقل`choices[].message.reasoning_details` | النوعobject\|array |
| الحقل`choices[].finish_reason` | النوعstring\|null |
| الحقل`usage` | النوعobject |

الأخطاء والخطوات التالية

| الاستجابة | الشرط | الخطوة التالية |
| --- | --- | --- |
| الاستجابة⁦400⁩ · `invalid_request_error` | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |

### الأسماء البديلة

#### الأسماء البديلة للنموذج

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

#### الأسماء البديلة لمسارات الطرائق

استخدم مسارات الطرائق المعروضة أعلاه.

#### معرّفات النماذج ذات الصلة IDs

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=chat), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=chat)

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `~anthropic/claude-haiku-latest`

[`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

Anthropic /`~anthropic/claude-haiku-latest`

معرّف النموذج ID

- `anthropic/claude-haiku-5.5`
- `~anthropic/claude-haiku-latest`

### البداية

Claude Haiku 5.5 هو نموذج Anthropic الصغير للتصنيف والاستخراج والتلخيص والتوجيه ومهام الوكلاء المركّزة. يجمع فهم النصوص والصور مع الاستدلال التكيفي، وصُمّم للعمل المتكرر الذي يحتاج إلى رد سريع.

المدخلات المقبولة

النص

النتائج

json · sse

### متاح في Ailoot · المدخلات والطرائق

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages`

الإدخال

`text`

الإخراج

`json`, `sse`

صيغة الإخراج

JSON أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود ~anthropic/claude-haiku-latest | القيمة الافتراضية— |
| الحقل`messages` | النوع`message[]` | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
| الحقل`messages[].role` | النوع`string` | المتطلبمطلوب | القيم والحدود user, assistant | القيمة الافتراضية— |
| الحقل`messages[].content` | النوع`string` | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
| الحقل`max_tokens` | النوع`integer` | المتطلبمطلوب | القيم والحدود | القيمة الافتراضية— |
| الحقل`stream` | النوع`boolean` | المتطلباختياري | القيم والحدود | القيمة الافتراضيةfalse |

تركيبات مواد الإدخال

**النص** · نص UTF-8

`سلسلة نصية messages[].content`

معلمات الطريقة ودورة حياتها

| المعلمة | المواصفات |
| --- | --- |
| المعلمة`content_type` | المواصفاتapplication/json |
| المعلمة`required` | المواصفاتmodel, messages, max\_tokens |
| المعلمة`optional_controls` | المواصفاتstream |
| المعلمة`material_types` | المواصفاتtext |
| المعلمة`text_file_material` | المواصفاتاقرأ مستند UTF-8 الفعلي وضع نصه في الإدخال المحدد أو السلسلة النصية لمحتوى الرسالة. |

دورة الحياة: `synchronous_or_streamed`

### الباقات

مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.

الوضع السريع

التعرفة القياسية عند اختيار الوضع السريع

الوضع المرن

التعرفة القياسية عند اختيار وضع flex

أقصى جهد للاستدلال

التعرفة القياسية عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال

جهد الاستدلال · مرتفع

التعرفة القياسية عندما يكون جهد الاستدلال مرتفعًا

جهد الاستدلال · منخفض

التعرفة القياسية عندما يكون جهد الاستدلال منخفضًا

جهد الاستدلال · الحد الأقصى

التعرفة القياسية عندما يكون جهد الاستدلال عند الحد الأقصى

جهد الاستدلال · متوسط

التعرفة القياسية عندما يكون جهد الاستدلال متوسطًا

جهد الاستدلال · xhigh

التعرفة القياسية عندما يكون جهد الاستدلال xhigh

#### تعرفات Ailoot

#### الأسعار حسب الإعدادات

طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.

| الإعدادات | جدول التعرفة | رموز السياق، أكثر من | رموز السياق، حتى القيمة شاملةً | الرسوم |
| --- | --- | --- | --- | --- |
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | رموز السياق، أكثر من— | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 1 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦0⁩ | رموز السياق، حتى القيمة شاملةً⁦100,000⁩ | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.0004** / 1K من الرموز |
| الإعداداتالشريحة 2 لطول الطلب | جدول التعرفة— | رموز السياق، أكثر من⁦100,000⁩ | رموز السياق، حتى القيمة شاملةًلا يوجد حد أقصى | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0.00002** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0.00025** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **$0.002** / 1K من الرموز |

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. [كيفية عمل حجز المبلغ وتسوية الرسوم →](https://ailoot.ai/docs/ar/billing/reserve/)

### أمثلة للطلبات

#### Ailoot Ultra · رسائل Anthropic

جسم طلب JSON مكتمل بالحد الأدنىcurl · استخدم مستندك بترميز UTF-8Python · احفظ النتيجة كاملة

```json
{
  "model": "~anthropic/claude-haiku-latest",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~anthropic/claude-haiku-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': '~anthropic/claude-haiku-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### استلام النتائج وحفظها

#### Ailoot Ultra · رسائل Anthropic

JSON أو SSE

##### الاحتفاظ بكل النتائج المكتملة

احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.

احتفظ بكل كتل المحتوى وتوقيعات التفكير ومعرّفات استخدام الأدوات الفعلية. جمّع جميع تحديثات كتل SSE؛ فأول كتلة نصية ليست الإخراج الكامل.

##### عند الحاجة إلى التحقق من الاستجابة الأصلية

احتفظ بمعرّفات الطلبات/الاستجابات والترويسات. لا يُقدَّم URL عام لاسترجاع مهمة نصية.

حقول الاستجابة

| الحقل | النوع |
| --- | --- |
| الحقل`id` | النوعstring |
| الحقل`model` | النوعstring |
| الحقل`content[]` | النوعtext\|thinking\|tool\_use\|other content block |
| الحقل`stop_reason` | النوعstring\|null |
| الحقل`usage` | النوعobject |

الأخطاء والخطوات التالية

| الاستجابة | الشرط | الخطوة التالية |
| --- | --- | --- |
| الاستجابة⁦400⁩ · `invalid_request_error` | الشرطحقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة | الخطوة التاليةصحّح الحقول المحددة قبل طلب إنشاء جديد. |

### الأسماء البديلة

#### الأسماء البديلة للنموذج

**Ailoot Ultra** [`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

#### الأسماء البديلة لمسارات الطرائق

استخدم مسارات الطرائق المعروضة أعلاه.

#### معرّفات النماذج ذات الصلة IDs

[`anthropic/claude-haiku-5.5`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=anthropic%2Fclaude-haiku-5.5&fmt=messages), [`~anthropic/claude-haiku-latest`](https://ailoot.ai/models/ar/#m=anthropic%2Fclaude-haiku-5.5&route=Ultra&caller=~anthropic%2Fclaude-haiku-latest&fmt=messages)

FAQ · Anthropic: Claude Haiku 5.5

ما المدخلات والنتائج المتاحة؟

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `text` → `text` `POST /v1/messages` · `anthropic/claude-haiku-5.5`: `text` → `json`, `sse` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `text` → `text` `POST /v1/messages` · `~anthropic/claude-haiku-latest`: `text` → `json`, `sse`

ما الحقول التي يستخدمها الطلب؟

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `anthropic/claude-haiku-5.5`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `~anthropic/claude-haiku-latest`: `model`, `messages`, `max_tokens`, `stream`

ما الحدود المطبقة؟

`POST /v1/chat/completions` · `anthropic/claude-haiku-5.5`: `messages.min_items`: `1` `POST /v1/chat/completions` · `~anthropic/claude-haiku-latest`: `messages.min_items`: `1`

اربط Ailoot بخدمة Claude Code أوOpenCode أوHermes أوتطبيقك.

## الشركة ومحفظة مشاريعها

الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.

## اشتر الرموز بخصم.

خصم اشتراك للعمل المنتظم. الرموز الترويجية حتى 50% على شراء الرموز.

الاشتراك

اختر خطة بخصم لطلباتك المنتظمة.

رمز خصم حتى 50%

أدخل الرمز عند الشراء. يعاد حساب السعر وفق العرض الساري.

المصروفات في السجل

يحفظ النموذج والرموز والمبلغ لكل طلب.

[اختر اشتراكا](https://ailoot.ai/docs/ar/billing/subscriptions/) · [اعرض أسعار النماذج](https://ailoot.ai/models/ar/)

## اربط API بالمنتج الذي تبيعه.

SaaS والتطبيقات والبوتات وفق العرض واتفاقية ترخيص Ailoot. لإعادة البيع، اطلب ترخيص موزع.

تطبيق تجاري

أضف توليد النص والصور والفيديو والصوت إلى ميزات خدمتك المدفوعة.

ترخيص إعادة البيع

أرسل وصف المشروع وطريقة توفير الوصول. اطلب شروط استخدام وإعادة بيع مكتوبة.

المستندات على الموقع

العرض واتفاقية الترخيص وسياسة معالجة البيانات متاحة قبل الربط.

[اطلب ترخيص إعادة بيع](mailto:support@ailoot.ai) · [العرض واتفاقية الترخيص](https://ailoot.ai/legal/offer?lang=ar)

## Ailoot · الشركة ومحفظة مشاريعها





تستند Ailoot إلى خبرة تشغيلية متراكمة وقاعدة عملاء واسعة وخدمة مستقرة ومراقبة مستمرة لمؤشرات الأداء KPI.





الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.





توظف Ailoot هذه الخبرة التشغيلية لإتاحة الوصول عبر API إلى قدرات الذكاء الاصطناعي في منتجات العملاء ووكلائهم وتطبيقاتهم وعمليات الأتمتة.


## متاح عبر Ailoot API

`claude-haiku-5-5` · Core

الإدخال

`text`

الإخراج

`text`

السياق

⁦200,000⁩ *رمز*

الحد الأقصى للإجابة

⁦65,536⁩ *رمز*

الإدخال

⁦‏0.0001 US$⁩ */ 1K*

الإخراج

⁦‏0.0005 US$⁩ */ 1K*

قراءة ذاكرة التخزين المؤقت

⁦‏0.00001 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت

⁦‏0.000125 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت، 5 دقائق

⁦‏0.000125 US$⁩ */ 1K tokens*

الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة

⁦‏0.0002 US$⁩ */ 1K tokens*

web\_search\_call

⁦‏0.01 US$⁩ *لكل استدعاء*

أقصى عدد للاستدعاءات web\_search\_call

⁦8⁩

#### الأسعار بحسب طول الطلب · Anthropic Messages

| حجم الطلب بالرموز | الإدخال | الإخراج | قراءة ذاكرة التخزين المؤقت | الكتابة إلى ذاكرة التخزين المؤقت | ذاكرة التخزين المؤقت 5 دقائق | ذاكرة التخزين المؤقت 1 ساعة |
| --- | --- | --- | --- | --- | --- | --- |
| حجم الطلب بالرموز(⁦0⁩; ⁦100,000⁩\] | الإدخال⁦‏0.0001 US$⁩ | الإخراج⁦‏0.0005 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00001 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.0002 US$⁩ |
| حجم الطلب بالرموز(⁦100,000⁩; ∞) | الإدخال⁦‏0.0005 US$⁩ | الإخراج⁦‏0.0025 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00005 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.001 US$⁩ |

الأسعار بوحدة USD لكل 1K من الرموز. عند عدم تحديد تعرفة، تُستخدم التعرفة الأساسية لهذه الطريقة؛ وتشير «—» إلى عدم تحديد تعرفة أساسية.

`claude-haiku-5-5` · Core

الإدخال

`text`

الإخراج

`text`

السياق

⁦200,000⁩ *رمز*

الحد الأقصى للإجابة

⁦65,536⁩ *رمز*

الإدخال

⁦‏0.0001 US$⁩ */ 1K*

الإخراج

⁦‏0.0005 US$⁩ */ 1K*

قراءة ذاكرة التخزين المؤقت

⁦‏0.00001 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت

⁦‏0.000125 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت، 5 دقائق

⁦‏0.000125 US$⁩ */ 1K tokens*

الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة

⁦‏0.0002 US$⁩ */ 1K tokens*

web\_search\_call

⁦‏0.01 US$⁩ *لكل استدعاء*

أقصى عدد للاستدعاءات web\_search\_call

⁦8⁩

#### الأسعار بحسب طول الطلب · OpenAI Responses

| حجم الطلب بالرموز | الإدخال | الإخراج | قراءة ذاكرة التخزين المؤقت | الكتابة إلى ذاكرة التخزين المؤقت | ذاكرة التخزين المؤقت 5 دقائق | ذاكرة التخزين المؤقت 1 ساعة |
| --- | --- | --- | --- | --- | --- | --- |
| حجم الطلب بالرموز(⁦0⁩; ⁦100,000⁩\] | الإدخال⁦‏0.0001 US$⁩ | الإخراج⁦‏0.0005 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00001 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.0002 US$⁩ |
| حجم الطلب بالرموز(⁦100,000⁩; ∞) | الإدخال⁦‏0.0005 US$⁩ | الإخراج⁦‏0.0025 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00005 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.001 US$⁩ |

الأسعار بوحدة USD لكل 1K من الرموز. عند عدم تحديد تعرفة، تُستخدم التعرفة الأساسية لهذه الطريقة؛ وتشير «—» إلى عدم تحديد تعرفة أساسية.

`claude-haiku-5-5` · Core

الإدخال

`text`

الإخراج

`text`

السياق

⁦200,000⁩ *رمز*

الحد الأقصى للإجابة

⁦65,536⁩ *رمز*

الإدخال

⁦‏0.0001 US$⁩ */ 1K*

الإخراج

⁦‏0.0005 US$⁩ */ 1K*

قراءة ذاكرة التخزين المؤقت

⁦‏0.00001 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت

⁦‏0.000125 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت، 5 دقائق

⁦‏0.000125 US$⁩ */ 1K tokens*

الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة

⁦‏0.0002 US$⁩ */ 1K tokens*

web\_search\_call

⁦‏0.01 US$⁩ *لكل استدعاء*

أقصى عدد للاستدعاءات web\_search\_call

⁦8⁩

#### الأسعار بحسب طول الطلب · OpenAI Chat

| حجم الطلب بالرموز | الإدخال | الإخراج | قراءة ذاكرة التخزين المؤقت | الكتابة إلى ذاكرة التخزين المؤقت | ذاكرة التخزين المؤقت 5 دقائق | ذاكرة التخزين المؤقت 1 ساعة |
| --- | --- | --- | --- | --- | --- | --- |
| حجم الطلب بالرموز(⁦0⁩; ⁦100,000⁩\] | الإدخال⁦‏0.0001 US$⁩ | الإخراج⁦‏0.0005 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00001 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.0002 US$⁩ |
| حجم الطلب بالرموز(⁦100,000⁩; ∞) | الإدخال⁦‏0.0005 US$⁩ | الإخراج⁦‏0.0025 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00005 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.001 US$⁩ |

الأسعار بوحدة USD لكل 1K من الرموز. عند عدم تحديد تعرفة، تُستخدم التعرفة الأساسية لهذه الطريقة؛ وتشير «—» إلى عدم تحديد تعرفة أساسية.

`claude-haiku-5-5` · Core

الإدخال

`text`

الإخراج

`text`

السياق

⁦200,000⁩ *رمز*

الحد الأقصى للإجابة

⁦65,536⁩ *رمز*

الإدخال

⁦‏0.0001 US$⁩ */ 1K*

الإخراج

⁦‏0.0005 US$⁩ */ 1K*

قراءة ذاكرة التخزين المؤقت

⁦‏0.00001 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت

⁦‏0.000125 US$⁩ */ 1K*

الكتابة إلى ذاكرة التخزين المؤقت، 5 دقائق

⁦‏0.000125 US$⁩ */ 1K tokens*

الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة

⁦‏0.0002 US$⁩ */ 1K tokens*

web\_search\_call

⁦‏0.01 US$⁩ *لكل استدعاء*

أقصى عدد للاستدعاءات web\_search\_call

⁦8⁩

#### الأسعار بحسب طول الطلب · Gemini generateContent

| حجم الطلب بالرموز | الإدخال | الإخراج | قراءة ذاكرة التخزين المؤقت | الكتابة إلى ذاكرة التخزين المؤقت | ذاكرة التخزين المؤقت 5 دقائق | ذاكرة التخزين المؤقت 1 ساعة |
| --- | --- | --- | --- | --- | --- | --- |
| حجم الطلب بالرموز(⁦0⁩; ⁦100,000⁩\] | الإدخال⁦‏0.0001 US$⁩ | الإخراج⁦‏0.0005 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00001 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000125 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.0002 US$⁩ |
| حجم الطلب بالرموز(⁦100,000⁩; ∞) | الإدخال⁦‏0.0005 US$⁩ | الإخراج⁦‏0.0025 US$⁩ | قراءة ذاكرة التخزين المؤقت⁦‏0.00005 US$⁩ | الكتابة إلى ذاكرة التخزين المؤقت⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 5 دقائق⁦‏0.000625 US$⁩ | ذاكرة التخزين المؤقت 1 ساعة⁦‏0.001 US$⁩ |

الأسعار بوحدة USD لكل 1K من الرموز. عند عدم تحديد تعرفة، تُستخدم التعرفة الأساسية لهذه الطريقة؛ وتشير «—» إلى عدم تحديد تعرفة أساسية.

[JSON](https://ailoot.ai/models/ar/anthropic-claude-haiku-5-5/method-additions-e044631511315a4bf1d4.json)
