{
  "aboutHtml": "<p>S2 Pro هو نموذج Fish Audio من الجيل الثاني لتحويل النص إلى كلام للسرد المعبّر وحوار الشخصيات والإخراج الصوتي الحواري. يحوّل نصًا مكتوبًا إلى صوت ويدعم التوجيه باللغة الطبيعية على مستوى الكلمة أو العبارة. يستخدم الجيل السابق S1 إشارات بين أقواس مستديرة، بينما يستخدم S2 Pro الأقواس المربعة أصليًا ويدعم عدة متحدثين ضمن طلب توليد واحد. تنشر الشركة أوزان S2 Pro وشيفرة الضبط الدقيق لأعمال تخصيص منفصلة؛ ويستخدم طلب الكلام العادي النموذج المختار بدل تدريب نموذج جديد.</p><p>اكتب المحتوى المنطوق أولًا، ثم ضع تعليمات الإلقاء مباشرة قبل الكلمة أو العبارة التي ينبغي أن تؤثر فيها. يمكن للتوجيهات وصف همس أو رد فعل أو وقفة أو تحول عاطفي أو أسلوب كلام مفتوح الوصف. لشرح منتج قصير، أبقِ الجملة الواقعية واضحة وضع التأكيد فقط حيث ينبغي أن يلاحظ المستمع فرقًا. لجملة شخصية، صِف التغير العاطفي لحظة حدوثه بدل جعل المقطع كله يشترك في مزاج ثابت واحد.</p><p>الوسوم بين الأقواس المربعة أوصاف مفتوحة المجال وليست قائمة مغلقة. تشمل الأمثلة [whispering] و[sigh] و[long pause] وعبارة مثل [speaking slowly, almost hesitant]. يمكن أن تظهر الوسوم وسط الجملة وتؤثر في الكلام التالي. يحتاج الوسم الوصفي نصًا فعليًا بعده؛ وقد تعطي تعليمات معزولة إخراجًا غير متوقع. ابدأ بتوجيه أو اثنين مفيدين قبل إضافة طبقات، لأن الوسوم المتنافسة قد تحجب الأداء المقصود. قد تستجيب مراجع صوتية مختلفة للتوجيه نفسه بشدة متفاوتة.</p><p>يصف إصدار S2 نحو ٨٠ لغة ويقدّم أمثلة لكتابة تعليمات الإلقاء بلغة النص نفسها. أعد الصياغة باللغة المطلوب نطقها واحتفظ بالأسماء والوحدات والاختصارات التي تتطلب قراءة معينة. يمكن للسرد متعدد اللغات الحفاظ على صوته المقصود مع تغيير لغة النص، لكن المخرج النهائي يظل بحاجة إلى الاستماع للتحقق من النطق والاستمرارية. ينتج التوليد المحتوى المقدّم ككلام بدل أن يقرر المعلومات التي ينبغي للتطبيق قولها.</p><p>لمتحدث واحد، اختر معرّف صوت محفوظًا أو قدّم صوتًا مرجعيًا مع تفريغه المطابق. يوصي المنتج بعينة نقية مدتها ١٠–٣٠ ثانية للتهيئة الفورية. للحوار، استخدم علامات متحدثين مثل &lt;|speaker:0|&gt; و&lt;|speaker:1|&gt; مع قائمة مرتبة من معرّفات الأصوات أو مجموعات مرجعية منفصلة للمتحدثين. تختار العلامة الرقمية إدخال الصوت المقابل؛ حافظ على ثبات الترتيب مع تطور المحادثة. لتوجيهات الأداء باللغة الطبيعية واختيار المتحدث أدوار مختلفة في النص.</p><p>يمكن أن يكون الإخراج الصوتي MP3 أو WAV أو PCM خامًا أو Opus. يكون MP3 افتراضيًا بمعدل ١٢٨ كيلوبت/ثانية ويتيح ٦٤ أو ١٩٢ كيلوبت/ثانية؛ ويستخدم Opus تردد ٤٨ كيلوهرتز، بينما يدعم WAV وPCM خيارات معدلات العينات الموثقة بصوت أحادي ذي ١٦ بت. اختر الصيغة لوجهتها الفعلية: ملف محفوظ للسرد أو أجزاء صوتية مناسبة للتشغيل. يصف مسار الكلام لدى المنتج كذلك تدفق النص المباشر عندما يصل تدريجيًا. ينبغي أن تظل النتيجة المولّدة مرتبطة بالنص الكامل والأصوات المختارة.</p><p>يمكن تعديل السرعة بين 0.5 و2.0، مع عناصر تحكم في مستوى الصوت وتسوية جهارة الإخراج. تحسّن تسوية النص قراءة الأرقام الإنجليزية والصينية. تستخدم المعالجة أجزاء ضمن نطاق ١٠٠–٣٠٠ وميزانية رموز صوتية لكل جزء، لذا ينبغي ألا تُقرأ هذه الإعدادات كحد أقصى ثابت لطول السرد كاملًا. يمكن للتهيئة بالجزء السابق نقل سياق الصوت إلى المقطع التالي. تؤثر عناصر أخذ العينات مثل temperature وtop-p في التنوع؛ وتظل الجملة الموجّهة عمدًا بحاجة إلى نص وسياق كافيين لحمل الصوت المقصود.</p><p>يفصل موجز الإنتاج المفيد بين السرد والحوار وتوجيهات الإلقاء، ثم يحدد صوت المخرج وصيغته. استمع بحثًا عن كلمات مفقودة وصوت مكرر ونطق الأرقام وتغييرات المتحدثين وتوقيت رد فعل. نقّح الجملة أو المرجع الصوتي المسؤول عن عدم التطابق بدل افتراض أن المزيد من الوسوم يحسّن كل مقطع. يظل S2 Pro نموذج S2 سابق الجيل ومتميزًا؛ وS2.1 Pro هو الإصدار اللاحق بتحسيناته وسلوك إعداداته الخاص بالنموذج.</p>",
  "aboutText": "S2 Pro هو نموذج Fish Audio من الجيل الثاني لتحويل النص إلى كلام للسرد المعبّر وحوار الشخصيات والإخراج الصوتي الحواري. يحوّل نصًا مكتوبًا إلى صوت ويدعم التوجيه باللغة الطبيعية على مستوى الكلمة أو العبارة. يستخدم الجيل السابق S1 إشارات بين أقواس مستديرة، بينما يستخدم S2 Pro الأقواس المربعة أصليًا ويدعم عدة متحدثين ضمن طلب توليد واحد. تنشر الشركة أوزان S2 Pro وشيفرة الضبط الدقيق لأعمال تخصيص منفصلة؛ ويستخدم طلب الكلام العادي النموذج المختار بدل تدريب نموذج جديد.\n\nاكتب المحتوى المنطوق أولًا، ثم ضع تعليمات الإلقاء مباشرة قبل الكلمة أو العبارة التي ينبغي أن تؤثر فيها. يمكن للتوجيهات وصف همس أو رد فعل أو وقفة أو تحول عاطفي أو أسلوب كلام مفتوح الوصف. لشرح منتج قصير، أبقِ الجملة الواقعية واضحة وضع التأكيد فقط حيث ينبغي أن يلاحظ المستمع فرقًا. لجملة شخصية، صِف التغير العاطفي لحظة حدوثه بدل جعل المقطع كله يشترك في مزاج ثابت واحد.\n\nالوسوم بين الأقواس المربعة أوصاف مفتوحة المجال وليست قائمة مغلقة. تشمل الأمثلة [whispering] و[sigh] و[long pause] وعبارة مثل [speaking slowly, almost hesitant]. يمكن أن تظهر الوسوم وسط الجملة وتؤثر في الكلام التالي. يحتاج الوسم الوصفي نصًا فعليًا بعده؛ وقد تعطي تعليمات معزولة إخراجًا غير متوقع. ابدأ بتوجيه أو اثنين مفيدين قبل إضافة طبقات، لأن الوسوم المتنافسة قد تحجب الأداء المقصود. قد تستجيب مراجع صوتية مختلفة للتوجيه نفسه بشدة متفاوتة.\n\nيصف إصدار S2 نحو ٨٠ لغة ويقدّم أمثلة لكتابة تعليمات الإلقاء بلغة النص نفسها. أعد الصياغة باللغة المطلوب نطقها واحتفظ بالأسماء والوحدات والاختصارات التي تتطلب قراءة معينة. يمكن للسرد متعدد اللغات الحفاظ على صوته المقصود مع تغيير لغة النص، لكن المخرج النهائي يظل بحاجة إلى الاستماع للتحقق من النطق والاستمرارية. ينتج التوليد المحتوى المقدّم ككلام بدل أن يقرر المعلومات التي ينبغي للتطبيق قولها.\n\nلمتحدث واحد، اختر معرّف صوت محفوظًا أو قدّم صوتًا مرجعيًا مع تفريغه المطابق. يوصي المنتج بعينة نقية مدتها ١٠–٣٠ ثانية للتهيئة الفورية. للحوار، استخدم علامات متحدثين مثل <|speaker:0|> و<|speaker:1|> مع قائمة مرتبة من معرّفات الأصوات أو مجموعات مرجعية منفصلة للمتحدثين. تختار العلامة الرقمية إدخال الصوت المقابل؛ حافظ على ثبات الترتيب مع تطور المحادثة. لتوجيهات الأداء باللغة الطبيعية واختيار المتحدث أدوار مختلفة في النص.\n\nيمكن أن يكون الإخراج الصوتي MP3 أو WAV أو PCM خامًا أو Opus. يكون MP3 افتراضيًا بمعدل ١٢٨ كيلوبت/ثانية ويتيح ٦٤ أو ١٩٢ كيلوبت/ثانية؛ ويستخدم Opus تردد ٤٨ كيلوهرتز، بينما يدعم WAV وPCM خيارات معدلات العينات الموثقة بصوت أحادي ذي ١٦ بت. اختر الصيغة لوجهتها الفعلية: ملف محفوظ للسرد أو أجزاء صوتية مناسبة للتشغيل. يصف مسار الكلام لدى المنتج كذلك تدفق النص المباشر عندما يصل تدريجيًا. ينبغي أن تظل النتيجة المولّدة مرتبطة بالنص الكامل والأصوات المختارة.\n\nيمكن تعديل السرعة بين 0.5 و2.0، مع عناصر تحكم في مستوى الصوت وتسوية جهارة الإخراج. تحسّن تسوية النص قراءة الأرقام الإنجليزية والصينية. تستخدم المعالجة أجزاء ضمن نطاق ١٠٠–٣٠٠ وميزانية رموز صوتية لكل جزء، لذا ينبغي ألا تُقرأ هذه الإعدادات كحد أقصى ثابت لطول السرد كاملًا. يمكن للتهيئة بالجزء السابق نقل سياق الصوت إلى المقطع التالي. تؤثر عناصر أخذ العينات مثل temperature وtop-p في التنوع؛ وتظل الجملة الموجّهة عمدًا بحاجة إلى نص وسياق كافيين لحمل الصوت المقصود.\n\nيفصل موجز الإنتاج المفيد بين السرد والحوار وتوجيهات الإلقاء، ثم يحدد صوت المخرج وصيغته. استمع بحثًا عن كلمات مفقودة وصوت مكرر ونطق الأرقام وتغييرات المتحدثين وتوقيت رد فعل. نقّح الجملة أو المرجع الصوتي المسؤول عن عدم التطابق بدل افتراض أن المزيد من الوسوم يحسّن كل مقطع. يظل S2 Pro نموذج S2 سابق الجيل ومتميزًا؛ وS2.1 Pro هو الإصدار اللاحق بتحسيناته وسلوك إعداداته الخاص بالنموذج.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e87f89f4d295cd58e8a5a9d324bd3066cec7830f12ef6298998b1fc6c80f9898",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ar",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: S2 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/s2-pro</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|speech|/v1/audio/speech|fish-audio%2Fs2-pro\">توليد الكلام</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\">ينشئ Fish Audio S2 Pro كلامًا معبّرًا متعدد اللغات مع توجيهات على مستوى الكلمات وحوار أصلي متعدد المتحدثين. تتحكم التعليمات بين أقواس مربعة في الإلقاء داخل النص، بينما تحدد المراجع الصوتية المتحدثين وتشكل إعدادات الإخراج المخرج الصوتي.</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>S2 Pro هو نموذج Fish Audio من الجيل الثاني لتحويل النص إلى كلام للسرد المعبّر وحوار الشخصيات والإخراج الصوتي الحواري. يحوّل نصًا مكتوبًا إلى صوت ويدعم التوجيه باللغة الطبيعية على مستوى الكلمة أو العبارة. يستخدم الجيل السابق S1 إشارات بين أقواس مستديرة، بينما يستخدم S2 Pro الأقواس المربعة أصليًا ويدعم عدة متحدثين ضمن طلب توليد واحد. تنشر الشركة أوزان S2 Pro وشيفرة الضبط الدقيق لأعمال تخصيص منفصلة؛ ويستخدم طلب الكلام العادي النموذج المختار بدل تدريب نموذج جديد.</p><p>اكتب المحتوى المنطوق أولًا، ثم ضع تعليمات الإلقاء مباشرة قبل الكلمة أو العبارة التي ينبغي أن تؤثر فيها. يمكن للتوجيهات وصف همس أو رد فعل أو وقفة أو تحول عاطفي أو أسلوب كلام مفتوح الوصف. لشرح منتج قصير، أبقِ الجملة الواقعية واضحة وضع التأكيد فقط حيث ينبغي أن يلاحظ المستمع فرقًا. لجملة شخصية، صِف التغير العاطفي لحظة حدوثه بدل جعل المقطع كله يشترك في مزاج ثابت واحد.</p><p>الوسوم بين الأقواس المربعة أوصاف مفتوحة المجال وليست قائمة مغلقة. تشمل الأمثلة [whispering] و[sigh] و[long pause] وعبارة مثل [speaking slowly, almost hesitant]. يمكن أن تظهر الوسوم وسط الجملة وتؤثر في الكلام التالي. يحتاج الوسم الوصفي نصًا فعليًا بعده؛ وقد تعطي تعليمات معزولة إخراجًا غير متوقع. ابدأ بتوجيه أو اثنين مفيدين قبل إضافة طبقات، لأن الوسوم المتنافسة قد تحجب الأداء المقصود. قد تستجيب مراجع صوتية مختلفة للتوجيه نفسه بشدة متفاوتة.</p><p>يصف إصدار S2 نحو ٨٠ لغة ويقدّم أمثلة لكتابة تعليمات الإلقاء بلغة النص نفسها. أعد الصياغة باللغة المطلوب نطقها واحتفظ بالأسماء والوحدات والاختصارات التي تتطلب قراءة معينة. يمكن للسرد متعدد اللغات الحفاظ على صوته المقصود مع تغيير لغة النص، لكن المخرج النهائي يظل بحاجة إلى الاستماع للتحقق من النطق والاستمرارية. ينتج التوليد المحتوى المقدّم ككلام بدل أن يقرر المعلومات التي ينبغي للتطبيق قولها.</p><p>لمتحدث واحد، اختر معرّف صوت محفوظًا أو قدّم صوتًا مرجعيًا مع تفريغه المطابق. يوصي المنتج بعينة نقية مدتها ١٠–٣٠ ثانية للتهيئة الفورية. للحوار، استخدم علامات متحدثين مثل &lt;|speaker:0|&gt; و&lt;|speaker:1|&gt; مع قائمة مرتبة من معرّفات الأصوات أو مجموعات مرجعية منفصلة للمتحدثين. تختار العلامة الرقمية إدخال الصوت المقابل؛ حافظ على ثبات الترتيب مع تطور المحادثة. لتوجيهات الأداء باللغة الطبيعية واختيار المتحدث أدوار مختلفة في النص.</p><p>يمكن أن يكون الإخراج الصوتي MP3 أو WAV أو PCM خامًا أو Opus. يكون MP3 افتراضيًا بمعدل ١٢٨ كيلوبت/ثانية ويتيح ٦٤ أو ١٩٢ كيلوبت/ثانية؛ ويستخدم Opus تردد ٤٨ كيلوهرتز، بينما يدعم WAV وPCM خيارات معدلات العينات الموثقة بصوت أحادي ذي ١٦ بت. اختر الصيغة لوجهتها الفعلية: ملف محفوظ للسرد أو أجزاء صوتية مناسبة للتشغيل. يصف مسار الكلام لدى المنتج كذلك تدفق النص المباشر عندما يصل تدريجيًا. ينبغي أن تظل النتيجة المولّدة مرتبطة بالنص الكامل والأصوات المختارة.</p><p>يمكن تعديل السرعة بين 0.5 و2.0، مع عناصر تحكم في مستوى الصوت وتسوية جهارة الإخراج. تحسّن تسوية النص قراءة الأرقام الإنجليزية والصينية. تستخدم المعالجة أجزاء ضمن نطاق ١٠٠–٣٠٠ وميزانية رموز صوتية لكل جزء، لذا ينبغي ألا تُقرأ هذه الإعدادات كحد أقصى ثابت لطول السرد كاملًا. يمكن للتهيئة بالجزء السابق نقل سياق الصوت إلى المقطع التالي. تؤثر عناصر أخذ العينات مثل temperature وtop-p في التنوع؛ وتظل الجملة الموجّهة عمدًا بحاجة إلى نص وسياق كافيين لحمل الصوت المقصود.</p><p>يفصل موجز الإنتاج المفيد بين السرد والحوار وتوجيهات الإلقاء، ثم يحدد صوت المخرج وصيغته. استمع بحثًا عن كلمات مفقودة وصوت مكرر ونطق الأرقام وتغييرات المتحدثين وتوقيت رد فعل. نقّح الجملة أو المرجع الصوتي المسؤول عن عدم التطابق بدل افتراض أن المزيد من الوسوم يحسّن كل مقطع. يظل S2 Pro نموذج S2 سابق الجيل ومتميزًا؛ وS2.1 Pro هو الإصدار اللاحق بتحسيناته وسلوك إعداداته الخاص بالنموذج.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">متاح في Ailoot · المدخلات والطرائق</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · الكلام</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>الإدخال</dt><dd><code>text</code></dd></div><div><dt>الإخراج</dt><dd><code>audio</code></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><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>fish-audio/s2-pro</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">input</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>الحد الأدنى للطول: ⁦1⁩</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">voice</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>b347db033a6549378b48d00acb0d06cd</div><div>الحد الأدنى للطول: ⁦1⁩</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">response_format</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>mp3, pcm</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"known\"><span class=\"card-cell-label\">القيمة الافتراضية</span>pcm</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>object</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>content_type</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>application/json</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>model, input, voice</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></tbody></table></div><p>دورة الحياة: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></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><p class=\"note-s\">طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>جدول التعرفة</th><th>وحدة الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>التعرفات الأساسية للرموز</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>التعرفة الأساسية</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>—</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · رموز الإدخال</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>بايت إدخال UTF-8</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>لكل بايت UTF-8 مُدخل</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · بايت إدخال UTF-8</span> <b>$0.00003</b> <span class=\"price-unit\">لكل بايت UTF-8 مُدخل</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">أمثلة للطلبات</h3><h4>Ailoot Ultra · الكلام</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-1355-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1355-panel-0\" aria-selected=\"true\" tabindex=\"0\">استخدم المدخلات الفعلية واحتفظ بالنتيجة كاملة</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-1355-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1355-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s2-pro&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">استلام النتائج وحفظها</h3><h4>Ailoot Ultra · الكلام</h4><p class=\"note-s\">الصوت الثنائي كاملاً أو استجابة audio_url الأصلية، والترويسات، وكل أصل مملوك لك.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>عمليات أخرى لقراءة المحتوى</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-1356-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1356-panel-0\" aria-selected=\"true\" tabindex=\"0\">قراءة الأصول الموجودة المملوكة لك</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-1356-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1356-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.</p><p class=\"note-s\">احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">احتفظ بقيمة X-Client-Request-ID المُعادة للمطابقة. اقرأ فقط قيم task_id/asset_id الفعلية المُعادة أو مكتبة الوسائط المملوكة لك؛ ولا تنشئ عنوان URL لمهمة من معرّف العملية، ولا تُعِد إرسال طلب الإنشاء مطلقًا.</p></div></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=fish-audio%2Fs2-pro&amp;route=Ultra&amp;caller=fish-audio%2Fs2-pro&amp;fmt=speech\"><code>fish-audio/s2-pro</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fs2-pro&amp;route=Ultra&amp;caller=fish-audio%2Fs2-pro&amp;fmt=speech\"><code>fish-audio/s2-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s2-pro",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s2-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs2-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "احتفظ بقيمة X-Client-Request-ID المُعادة للمطابقة. اقرأ فقط قيم task_id/asset_id الفعلية المُعادة أو مكتبة الوسائط المملوكة لك؛ ولا تنشئ عنوان URL لمهمة من معرّف العملية، ولا تُعِد إرسال طلب الإنشاء مطلقًا."
            },
            "outputs": {
              "all_results": "احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "الصوت الثنائي كاملاً أو استجابة audio_url الأصلية، والترويسات، وكل أصل مملوك لك."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2-pro"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2-pro",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2-pro', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "الكلام",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s2-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "c150f8e503b814c0b8c0f9fcd2ee6bf58b099cac9ede43de60ef1593d8d327f0",
    "input_html_sha256": "98b56346c859cdb94c9de33d22293ab95637f150eb98f70b5955a8375595bebd",
    "private_audit_sha256": "9d3af91b2e8dc54273f3e98b5126a1cbb6a91ca003ab46542a5c0b211f3c4722",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/fish-audio-s2-pro/",
    "description": "ينشئ Fish Audio S2 Pro كلامًا معبّرًا متعدد اللغات مع توجيهات على مستوى الكلمات وحوار أصلي متعدد المتحدثين. تتحكم التعليمات بين أقواس مربعة في الإلقاء داخل النص، بينما تحدد المراجع الصوتية المتحدثين وتشكل إعدادات الإخراج المخرج الصوتي.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/fish-audio-s2-pro/index.md",
    "title": "Fish Audio: S2 Pro — Ailoot",
    "url": "https://ailoot.ai/models/ar/fish-audio-s2-pro/"
  },
  "rawModel": {
    "about": "S2 Pro هو نموذج Fish Audio من الجيل الثاني لتحويل النص إلى كلام للسرد المعبّر وحوار الشخصيات والإخراج الصوتي الحواري. يحوّل نصًا مكتوبًا إلى صوت ويدعم التوجيه باللغة الطبيعية على مستوى الكلمة أو العبارة. يستخدم الجيل السابق S1 إشارات بين أقواس مستديرة، بينما يستخدم S2 Pro الأقواس المربعة أصليًا ويدعم عدة متحدثين ضمن طلب توليد واحد. تنشر الشركة أوزان S2 Pro وشيفرة الضبط الدقيق لأعمال تخصيص منفصلة؛ ويستخدم طلب الكلام العادي النموذج المختار بدل تدريب نموذج جديد.\n\nاكتب المحتوى المنطوق أولًا، ثم ضع تعليمات الإلقاء مباشرة قبل الكلمة أو العبارة التي ينبغي أن تؤثر فيها. يمكن للتوجيهات وصف همس أو رد فعل أو وقفة أو تحول عاطفي أو أسلوب كلام مفتوح الوصف. لشرح منتج قصير، أبقِ الجملة الواقعية واضحة وضع التأكيد فقط حيث ينبغي أن يلاحظ المستمع فرقًا. لجملة شخصية، صِف التغير العاطفي لحظة حدوثه بدل جعل المقطع كله يشترك في مزاج ثابت واحد.\n\nالوسوم بين الأقواس المربعة أوصاف مفتوحة المجال وليست قائمة مغلقة. تشمل الأمثلة [whispering] و[sigh] و[long pause] وعبارة مثل [speaking slowly, almost hesitant]. يمكن أن تظهر الوسوم وسط الجملة وتؤثر في الكلام التالي. يحتاج الوسم الوصفي نصًا فعليًا بعده؛ وقد تعطي تعليمات معزولة إخراجًا غير متوقع. ابدأ بتوجيه أو اثنين مفيدين قبل إضافة طبقات، لأن الوسوم المتنافسة قد تحجب الأداء المقصود. قد تستجيب مراجع صوتية مختلفة للتوجيه نفسه بشدة متفاوتة.\n\nيصف إصدار S2 نحو ٨٠ لغة ويقدّم أمثلة لكتابة تعليمات الإلقاء بلغة النص نفسها. أعد الصياغة باللغة المطلوب نطقها واحتفظ بالأسماء والوحدات والاختصارات التي تتطلب قراءة معينة. يمكن للسرد متعدد اللغات الحفاظ على صوته المقصود مع تغيير لغة النص، لكن المخرج النهائي يظل بحاجة إلى الاستماع للتحقق من النطق والاستمرارية. ينتج التوليد المحتوى المقدّم ككلام بدل أن يقرر المعلومات التي ينبغي للتطبيق قولها.\n\nلمتحدث واحد، اختر معرّف صوت محفوظًا أو قدّم صوتًا مرجعيًا مع تفريغه المطابق. يوصي المنتج بعينة نقية مدتها ١٠–٣٠ ثانية للتهيئة الفورية. للحوار، استخدم علامات متحدثين مثل <|speaker:0|> و<|speaker:1|> مع قائمة مرتبة من معرّفات الأصوات أو مجموعات مرجعية منفصلة للمتحدثين. تختار العلامة الرقمية إدخال الصوت المقابل؛ حافظ على ثبات الترتيب مع تطور المحادثة. لتوجيهات الأداء باللغة الطبيعية واختيار المتحدث أدوار مختلفة في النص.\n\nيمكن أن يكون الإخراج الصوتي MP3 أو WAV أو PCM خامًا أو Opus. يكون MP3 افتراضيًا بمعدل ١٢٨ كيلوبت/ثانية ويتيح ٦٤ أو ١٩٢ كيلوبت/ثانية؛ ويستخدم Opus تردد ٤٨ كيلوهرتز، بينما يدعم WAV وPCM خيارات معدلات العينات الموثقة بصوت أحادي ذي ١٦ بت. اختر الصيغة لوجهتها الفعلية: ملف محفوظ للسرد أو أجزاء صوتية مناسبة للتشغيل. يصف مسار الكلام لدى المنتج كذلك تدفق النص المباشر عندما يصل تدريجيًا. ينبغي أن تظل النتيجة المولّدة مرتبطة بالنص الكامل والأصوات المختارة.\n\nيمكن تعديل السرعة بين 0.5 و2.0، مع عناصر تحكم في مستوى الصوت وتسوية جهارة الإخراج. تحسّن تسوية النص قراءة الأرقام الإنجليزية والصينية. تستخدم المعالجة أجزاء ضمن نطاق ١٠٠–٣٠٠ وميزانية رموز صوتية لكل جزء، لذا ينبغي ألا تُقرأ هذه الإعدادات كحد أقصى ثابت لطول السرد كاملًا. يمكن للتهيئة بالجزء السابق نقل سياق الصوت إلى المقطع التالي. تؤثر عناصر أخذ العينات مثل temperature وtop-p في التنوع؛ وتظل الجملة الموجّهة عمدًا بحاجة إلى نص وسياق كافيين لحمل الصوت المقصود.\n\nيفصل موجز الإنتاج المفيد بين السرد والحوار وتوجيهات الإلقاء، ثم يحدد صوت المخرج وصيغته. استمع بحثًا عن كلمات مفقودة وصوت مكرر ونطق الأرقام وتغييرات المتحدثين وتوقيت رد فعل. نقّح الجملة أو المرجع الصوتي المسؤول عن عدم التطابق بدل افتراض أن المزيد من الوسوم يحسّن كل مقطع. يظل S2 Pro نموذج S2 سابق الجيل ومتميزًا؛ وS2.1 Pro هو الإصدار اللاحق بتحسيناته وسلوك إعداداته الخاص بالنموذج.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s2-pro",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "احتفظ بقيمة X-Client-Request-ID المُعادة للمطابقة. اقرأ فقط قيم task_id/asset_id الفعلية المُعادة أو مكتبة الوسائط المملوكة لك؛ ولا تنشئ عنوان URL لمهمة من معرّف العملية، ولا تُعِد إرسال طلب الإنشاء مطلقًا."
            },
            "outputs": {
              "all_results": "احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "الصوت الثنائي كاملاً أو استجابة audio_url الأصلية، والترويسات، وكل أصل مملوك لك."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2-pro"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2-pro",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2-pro', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "الكلام",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input UTF-8 byte"
            },
            "label": "input UTF-8 byte",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "input UTF-8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per input UTF-8 byte",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "input UTF-8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per input UTF-8 byte",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/s2-pro",
        "request_model_id": "fish-audio/s2-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S2 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "ينشئ Fish Audio S2 Pro كلامًا معبّرًا متعدد اللغات مع توجيهات على مستوى الكلمات وحوار أصلي متعدد المتحدثين. تتحكم التعليمات بين أقواس مربعة في الإلقاء داخل النص، بينما تحدد المراجع الصوتية المتحدثين وتشكل إعدادات الإخراج المخرج الصوتي."
  },
  "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": "ينشئ Fish Audio S2 Pro كلامًا معبّرًا متعدد اللغات مع توجيهات على مستوى الكلمات وحوار أصلي متعدد المتحدثين. تتحكم التعليمات بين أقواس مربعة في الإلقاء داخل النص، بينما تحدد المراجع الصوتية المتحدثين وتشكل إعدادات الإخراج المخرج الصوتي.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "8ff30c796be38029dc6b8475bd49de9cb2f7078540fd46cd343ec9d94e3bf11d",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "3364b77b08fbfd04d108015fbaee0ee0a6356330d69fa992260ab112d9afa32f"
}
