{
  "aboutHtml": "<p>S1 هو نموذج Fish Audio من الجيل السابق لتحويل النص إلى كلام للسرد التعبيري وإخراج صوت متحدث واحد. يقرأ نصًا مقدّمًا ويعيد صوتًا، باستخدام صوت مختار أو مشروط بمرجع. يختلف نموذج S1 الكامل عن S1-mini الأصغر والمقطّر؛ وتقدمهما الجهة المنتجة بصيغتين من 4 مليارات و0.5 مليار معلمة على التوالي. يغطي هذا الوصف النموذج المسمّى S1.</p><p>للسرد، أعدّ الكلمات التي يجب نطقها فعلًا وحدّد مواضع تغير الإلقاء. يضع نص الشرح المفيد فكرته الأساسية أولًا، ويطور فكرة واحدة في كل مرة، ويستخدم الترقيم لفصل العبارات التي تحتاج إلى توقف طبيعي. ولتعليمة قصيرة، حافظ على وضوح الصياغة عند سماعها دون شاشة. حافظ على القراءة المقصودة للأسماء والاختصارات والوحدات، وتحقّق من الأرقام في المخرج المنطوق بدل افتراض أن سلسلة واضحة بصريًا لها نطق واحد فقط.</p><p>يستخدم S1 إشارات عاطفية وتوجيهات إلقاء بين قوسين، مثل (angry) أو (sad) أو (in a hurry) أو (chuckling). ضع الإشارة قبل الجملة أو العبارة التي ينبغي أن تؤثر فيها، مع الكلام الفعلي بعدها. يخص الإلقاء النص التالي، لذلك يجب وضع تغير المزاج عند الموضع الذي يحتاج فيه الأداء إلى التغير. وهذه صيغة مختلفة عن توجيهات S2 بين القوسين المربعين؛ حافظ على نص مكتوب للجيل المختار بدل افتراض قابلية استبدال شكلي الترميز.</p><p>يمكن اختيار الصوت بمعرّف صوت محفوظ أو اشتراطه بتسجيل مرجعي ونصه. ولمسار مرجعي فوري، يوصي دليل الكلام العام بعينة نظيفة مدتها 10–30 ثانية. اختر عينة يلائم أسلوب كلامها وجودة تسجيلها النتيجة المقصودة، واجعل نصها مطابقًا للكلمات الواردة فيها. ولراوٍ متكرر، أعد استخدام المرجع الصوتي نفسه عبر المقاطع كي لا يتحول تغير الموضوع دون قصد إلى تغير في الشخصية.</p><p>يسمي إصدار S1 الإنجليزية والصينية واليابانية والألمانية والفرنسية والإسبانية والكورية والعربية والروسية والهولندية والإيطالية والبولندية والبرتغالية ضمن اللغات المدعومة، ويصف مزج اللغات داخل نص واحد. قدّم الصياغة باللغة المستهدفة بدل التعامل مع توليد الكلام بوصفه خطوة ترجمة. وفي مقطع يحوي اسمًا مستعارًا من لغة أخرى أو تبديلًا لغويًا، اجعل التهجئة وسياق الجملة المحيط واضحين وراجع تعامل الصوت المختار مع ذلك الانتقال.</p><p>تدعم واجهة S1 لدى الجهة المنتجة متحدثًا واحدًا لكل طلب توليد. ويمكن إعداد الحوار بأجزاء منفصلة لكل منها مرجعه الصوتي، ثم يجمعها التطبيق؛ أما التوليد الأصلي متعدد المتحدثين في عائلة S2 فهو قدرة منفصلة. احتفظ بارتباط الدور والصوت والنص بكل جزء عند إعداد عبارات الشخصيات. نتيجة التوليد أداء صوتي للنص، بينما توقيت التبادل أو دمجه مع الموسيقى والفيديو خطوة تحرير لاحقة.</p><p>تشمل خيارات الإخراج MP3 وWAV وPCM الخام وOpus، مع MP3 افتراضيًا. المخرج الموثّق أحادي القناة؛ ويستخدم WAV وPCM عينات بعمق 16-bit، وتختلف خيارات معدل العينات بحسب الصيغة. يدعم MP3 معدلات 64 و128 و192 kbps، بينما يستخدم Opus معدل 48 kHz. ويمكن ضبط السرعة من 0.5 إلى 2.0 مع إعدادات مستوى الصوت. اختر ملفًا مُرمّزًا لمادة تعليق صوتي أو تدفقًا مناسبًا للتشغيل، واحتفظ بالصوت المختار والنص مع النتيجة.</p><p>تعالج الجهة المنتجة النص الطويل في أجزاء، مع نطاق طول أجزاء موثّق من 100–300 وميزانية رموز صوتية لكل جزء، لا مدة تسجيل إجمالية مضمونة. ويمكن لتطبيع النص توسيع الأرقام الإنجليزية والصينية إلى قراءة طبيعية، ولعقوبة التكرار في S1 تقليل الأنماط الصوتية المتكررة. وتطبيع جهارة المخرج إعداد مختلف لا تأثير له في S1. افحص النطق وحدود العبارات والأصوات المتكررة والتحول العاطفي المقصود قبل تجميع المقطع النهائي، ثم عدّل العبارة أو المرجع المحدد الذي يحتاج إلى عناية.</p>",
  "aboutText": "S1 هو نموذج Fish Audio من الجيل السابق لتحويل النص إلى كلام للسرد التعبيري وإخراج صوت متحدث واحد. يقرأ نصًا مقدّمًا ويعيد صوتًا، باستخدام صوت مختار أو مشروط بمرجع. يختلف نموذج S1 الكامل عن S1-mini الأصغر والمقطّر؛ وتقدمهما الجهة المنتجة بصيغتين من 4 مليارات و0.5 مليار معلمة على التوالي. يغطي هذا الوصف النموذج المسمّى S1.\n\nللسرد، أعدّ الكلمات التي يجب نطقها فعلًا وحدّد مواضع تغير الإلقاء. يضع نص الشرح المفيد فكرته الأساسية أولًا، ويطور فكرة واحدة في كل مرة، ويستخدم الترقيم لفصل العبارات التي تحتاج إلى توقف طبيعي. ولتعليمة قصيرة، حافظ على وضوح الصياغة عند سماعها دون شاشة. حافظ على القراءة المقصودة للأسماء والاختصارات والوحدات، وتحقّق من الأرقام في المخرج المنطوق بدل افتراض أن سلسلة واضحة بصريًا لها نطق واحد فقط.\n\nيستخدم S1 إشارات عاطفية وتوجيهات إلقاء بين قوسين، مثل (angry) أو (sad) أو (in a hurry) أو (chuckling). ضع الإشارة قبل الجملة أو العبارة التي ينبغي أن تؤثر فيها، مع الكلام الفعلي بعدها. يخص الإلقاء النص التالي، لذلك يجب وضع تغير المزاج عند الموضع الذي يحتاج فيه الأداء إلى التغير. وهذه صيغة مختلفة عن توجيهات S2 بين القوسين المربعين؛ حافظ على نص مكتوب للجيل المختار بدل افتراض قابلية استبدال شكلي الترميز.\n\nيمكن اختيار الصوت بمعرّف صوت محفوظ أو اشتراطه بتسجيل مرجعي ونصه. ولمسار مرجعي فوري، يوصي دليل الكلام العام بعينة نظيفة مدتها 10–30 ثانية. اختر عينة يلائم أسلوب كلامها وجودة تسجيلها النتيجة المقصودة، واجعل نصها مطابقًا للكلمات الواردة فيها. ولراوٍ متكرر، أعد استخدام المرجع الصوتي نفسه عبر المقاطع كي لا يتحول تغير الموضوع دون قصد إلى تغير في الشخصية.\n\nيسمي إصدار S1 الإنجليزية والصينية واليابانية والألمانية والفرنسية والإسبانية والكورية والعربية والروسية والهولندية والإيطالية والبولندية والبرتغالية ضمن اللغات المدعومة، ويصف مزج اللغات داخل نص واحد. قدّم الصياغة باللغة المستهدفة بدل التعامل مع توليد الكلام بوصفه خطوة ترجمة. وفي مقطع يحوي اسمًا مستعارًا من لغة أخرى أو تبديلًا لغويًا، اجعل التهجئة وسياق الجملة المحيط واضحين وراجع تعامل الصوت المختار مع ذلك الانتقال.\n\nتدعم واجهة S1 لدى الجهة المنتجة متحدثًا واحدًا لكل طلب توليد. ويمكن إعداد الحوار بأجزاء منفصلة لكل منها مرجعه الصوتي، ثم يجمعها التطبيق؛ أما التوليد الأصلي متعدد المتحدثين في عائلة S2 فهو قدرة منفصلة. احتفظ بارتباط الدور والصوت والنص بكل جزء عند إعداد عبارات الشخصيات. نتيجة التوليد أداء صوتي للنص، بينما توقيت التبادل أو دمجه مع الموسيقى والفيديو خطوة تحرير لاحقة.\n\nتشمل خيارات الإخراج MP3 وWAV وPCM الخام وOpus، مع MP3 افتراضيًا. المخرج الموثّق أحادي القناة؛ ويستخدم WAV وPCM عينات بعمق 16-bit، وتختلف خيارات معدل العينات بحسب الصيغة. يدعم MP3 معدلات 64 و128 و192 kbps، بينما يستخدم Opus معدل 48 kHz. ويمكن ضبط السرعة من 0.5 إلى 2.0 مع إعدادات مستوى الصوت. اختر ملفًا مُرمّزًا لمادة تعليق صوتي أو تدفقًا مناسبًا للتشغيل، واحتفظ بالصوت المختار والنص مع النتيجة.\n\nتعالج الجهة المنتجة النص الطويل في أجزاء، مع نطاق طول أجزاء موثّق من 100–300 وميزانية رموز صوتية لكل جزء، لا مدة تسجيل إجمالية مضمونة. ويمكن لتطبيع النص توسيع الأرقام الإنجليزية والصينية إلى قراءة طبيعية، ولعقوبة التكرار في S1 تقليل الأنماط الصوتية المتكررة. وتطبيع جهارة المخرج إعداد مختلف لا تأثير له في S1. افحص النطق وحدود العبارات والأصوات المتكررة والتحول العاطفي المقصود قبل تجميع المقطع النهائي، ثم عدّل العبارة أو المرجع المحدد الذي يحتاج إلى عناية.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a28809a8337e612a3110c9146569cb18d081077cd633c7aef5ae9586428d52f3",
    "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: S1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/s1</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%2Fs1\">توليد الكلام</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 S1 النصوص متعددة اللغات إلى صوت تعبيري لمتحدث واحد باستخدام مراجع صوتية وإشارات عاطفية بين قوسين. استخدمه للسرد أو التعليمات المنطوقة القصيرة أو عبارات الشخصيات، مع إعدادات للصيغة والتنغيم في الصوت النهائي.</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>S1 هو نموذج Fish Audio من الجيل السابق لتحويل النص إلى كلام للسرد التعبيري وإخراج صوت متحدث واحد. يقرأ نصًا مقدّمًا ويعيد صوتًا، باستخدام صوت مختار أو مشروط بمرجع. يختلف نموذج S1 الكامل عن S1-mini الأصغر والمقطّر؛ وتقدمهما الجهة المنتجة بصيغتين من 4 مليارات و0.5 مليار معلمة على التوالي. يغطي هذا الوصف النموذج المسمّى S1.</p><p>للسرد، أعدّ الكلمات التي يجب نطقها فعلًا وحدّد مواضع تغير الإلقاء. يضع نص الشرح المفيد فكرته الأساسية أولًا، ويطور فكرة واحدة في كل مرة، ويستخدم الترقيم لفصل العبارات التي تحتاج إلى توقف طبيعي. ولتعليمة قصيرة، حافظ على وضوح الصياغة عند سماعها دون شاشة. حافظ على القراءة المقصودة للأسماء والاختصارات والوحدات، وتحقّق من الأرقام في المخرج المنطوق بدل افتراض أن سلسلة واضحة بصريًا لها نطق واحد فقط.</p><p>يستخدم S1 إشارات عاطفية وتوجيهات إلقاء بين قوسين، مثل (angry) أو (sad) أو (in a hurry) أو (chuckling). ضع الإشارة قبل الجملة أو العبارة التي ينبغي أن تؤثر فيها، مع الكلام الفعلي بعدها. يخص الإلقاء النص التالي، لذلك يجب وضع تغير المزاج عند الموضع الذي يحتاج فيه الأداء إلى التغير. وهذه صيغة مختلفة عن توجيهات S2 بين القوسين المربعين؛ حافظ على نص مكتوب للجيل المختار بدل افتراض قابلية استبدال شكلي الترميز.</p><p>يمكن اختيار الصوت بمعرّف صوت محفوظ أو اشتراطه بتسجيل مرجعي ونصه. ولمسار مرجعي فوري، يوصي دليل الكلام العام بعينة نظيفة مدتها 10–30 ثانية. اختر عينة يلائم أسلوب كلامها وجودة تسجيلها النتيجة المقصودة، واجعل نصها مطابقًا للكلمات الواردة فيها. ولراوٍ متكرر، أعد استخدام المرجع الصوتي نفسه عبر المقاطع كي لا يتحول تغير الموضوع دون قصد إلى تغير في الشخصية.</p><p>يسمي إصدار S1 الإنجليزية والصينية واليابانية والألمانية والفرنسية والإسبانية والكورية والعربية والروسية والهولندية والإيطالية والبولندية والبرتغالية ضمن اللغات المدعومة، ويصف مزج اللغات داخل نص واحد. قدّم الصياغة باللغة المستهدفة بدل التعامل مع توليد الكلام بوصفه خطوة ترجمة. وفي مقطع يحوي اسمًا مستعارًا من لغة أخرى أو تبديلًا لغويًا، اجعل التهجئة وسياق الجملة المحيط واضحين وراجع تعامل الصوت المختار مع ذلك الانتقال.</p><p>تدعم واجهة S1 لدى الجهة المنتجة متحدثًا واحدًا لكل طلب توليد. ويمكن إعداد الحوار بأجزاء منفصلة لكل منها مرجعه الصوتي، ثم يجمعها التطبيق؛ أما التوليد الأصلي متعدد المتحدثين في عائلة S2 فهو قدرة منفصلة. احتفظ بارتباط الدور والصوت والنص بكل جزء عند إعداد عبارات الشخصيات. نتيجة التوليد أداء صوتي للنص، بينما توقيت التبادل أو دمجه مع الموسيقى والفيديو خطوة تحرير لاحقة.</p><p>تشمل خيارات الإخراج MP3 وWAV وPCM الخام وOpus، مع MP3 افتراضيًا. المخرج الموثّق أحادي القناة؛ ويستخدم WAV وPCM عينات بعمق 16-bit، وتختلف خيارات معدل العينات بحسب الصيغة. يدعم MP3 معدلات 64 و128 و192 kbps، بينما يستخدم Opus معدل 48 kHz. ويمكن ضبط السرعة من 0.5 إلى 2.0 مع إعدادات مستوى الصوت. اختر ملفًا مُرمّزًا لمادة تعليق صوتي أو تدفقًا مناسبًا للتشغيل، واحتفظ بالصوت المختار والنص مع النتيجة.</p><p>تعالج الجهة المنتجة النص الطويل في أجزاء، مع نطاق طول أجزاء موثّق من 100–300 وميزانية رموز صوتية لكل جزء، لا مدة تسجيل إجمالية مضمونة. ويمكن لتطبيع النص توسيع الأرقام الإنجليزية والصينية إلى قراءة طبيعية، ولعقوبة التكرار في S1 تقليل الأنماط الصوتية المتكررة. وتطبيع جهارة المخرج إعداد مختلف لا تأثير له في S1. افحص النطق وحدود العبارات والأصوات المتكررة والتحول العاطفي المقصود قبل تجميع المقطع النهائي، ثم عدّل العبارة أو المرجع المحدد الذي يحتاج إلى عناية.</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><div><dt>صيغة الإخراج</dt><dd>الصوت الثنائي الفعلي المُعلَن</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>الحقل</th><th>النوع</th><th>المتطلب</th><th>القيم والحدود</th><th>القيمة الافتراضية</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>fish-audio/s1</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">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 data-parameter-availability=\"saved_exact_supplier_example\"><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></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">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></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>تركيبات مواد الإدخال</summary><p class=\"note-s\"><b>text_to_speech</b> · مطلوب: actual UTF-8 script, exact supported voice</p></details><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>content_type</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>application/json</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>model, 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><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>voice_ids</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>b347db033a6549378b48d00acb0d06cd</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>voice_list_exhaustive</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>false</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>response_format</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>mp3, pcm</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>default_response_format</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>pcm</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>quantity</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>بايتات UTF-8 لسلسلة إدخال واحدة بعد فك ترميزها؛ دون إزالة الفراغات من أطرافها أو تطبيعها</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>native_byte_quote_controls</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>تُرفض قيم instructions غير الفارغة ومدخلات المداخلات متعددة المتحدثين عبر مسار عرض السعر الدقيق للبايتات هذا، إلى أن يُعلَن النص الإضافي الخاضع للفوترة.</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><p class=\"note-s\">استخدم النموذج الدقيق وحقول الإدخال الموثّقة.</p><p class=\"note-s\">احتفظ بالاستجابة كاملة، وكل مخرج فعلي، والمعرّفات الأصلية المُعادة.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">الباقات</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.</p><dl data-price-conditions><dt>الوضع السريع</dt><dd>غير محدد <span class=\"note-s\">عند اختيار الوضع السريع</span></dd><dt>الوضع المرن</dt><dd>غير محدد <span class=\"note-s\">عند اختيار وضع flex</span></dd><dt>أقصى جهد للاستدلال</dt><dd>غير محدد <span class=\"note-s\">عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال</span></dd></dl></div><div data-declared-tariff-pricing><h4>تعرفات Ailoot</h4><h4>الأسعار حسب الإعدادات</h4><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>Ultra</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>لكل بايت utf8 من الصوت المُدخل</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · بايت UTF-8 لإدخال الصوت</span> <b>$0.00003</b> <span class=\"price-unit\">لكل بايت utf8 من الصوت المُدخل</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p><div data-declared-reference-pricing><h4>تفاصيل التعرفة المرجعية</h4><p class=\"note-s\">لا تغيّر جداول التعرفة المرجعية على مستوى النموذج اختيار الطريقة أو عروض الأسعار أو الرسوم. وتستخدم الرسوم الفعلية تعرفات طريقة Ailoot المحددة.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Fish Audio: S1</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>Fish Audio: S1 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · بايتات إدخال UTF-8</span> <b>⁦‏0.00003 US$⁩</b> <span class=\"price-unit\">لكل بايت UTF-8 مُدخل</span></div></td></tr></tbody></table></div></details></div></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-1354-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1354-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · جسم الطلب بالصيغة الأصلية دون تغيير والنتيجة كاملة</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1354-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1354-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s1&#39;, &#39;input&#39;: &#39;Hello world&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\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\">الصوت الثنائي الفعلي المُعلَن</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><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.</p><p class=\"note-s\">احفظ جميع البايتات الثنائية كاملة وجميع الترويسات الأصلية؛ واحتفظ بكامل JSON إن أُعيد. تُحفظ المعرّفات الفعلية للعمليات والأصول.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">احتفظ بـoperation_id/X-Client-Request-ID الأصليين وبالاستجابة الأصلية. اقرأ سجلات المهام والأصول الفعلية المملوكة لك دون إعادة الإرسال؛ ولا يُنشأ عنوان URL مخصص للاستعلام عن الصوت.</p></div><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>الحقل</th><th>النوع</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">binary audio</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>bytes</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>headers</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">الأسماء البديلة</h3><h4>الأسماء البديلة للنموذج</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Fs1&amp;route=Ultra&amp;caller=fish-audio%2Fs1&amp;fmt=speech\"><code>fish-audio/s1</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fs1&amp;route=Ultra&amp;caller=fish-audio%2Fs1&amp;fmt=speech\"><code>fish-audio/s1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s1",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save all complete binary bytes and all original headers; keep full JSON if returned. Actual operation/asset IDs are preserved.",
            "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": "احتفظ بـoperation_id/X-Client-Request-ID الأصليين وبالاستجابة الأصلية. اقرأ سجلات المهام والأصول الفعلية المملوكة لك دون إعادة الإرسال؛ ولا يُنشأ عنوان URL مخصص للاستعلام عن الصوت."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "actual UTF-8 script",
                  "exact supported voice"
                ]
              }
            ],
            "outputs": {
              "all_results": "احفظ جميع البايتات الثنائية كاملة وجميع الترويسات الأصلية؛ واحتفظ بكامل JSON إن أُعيد. تُحفظ المعرّفات الفعلية للعمليات والأصول.",
              "family": "audio",
              "fields": [
                {
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "الصوت الثنائي الفعلي المُعلَن"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "fish-audio/s1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "min_length": 1,
                "name": "input",
                "quantity_unit": "decoded input UTF-8 bytes",
                "required": true,
                "type": "string"
              },
              {
                "availability": "saved_exact_supplier_example",
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s1"
                  ],
                  "type": "string"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "Hello world",
                "model": "fish-audio/s1",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "استخدم النموذج الدقيق وحقول الإدخال الموثّقة.",
            "احتفظ بالاستجابة كاملة، وكل مخرج فعلي، والمعرّفات الأصلية المُعادة."
          ],
          "input": {
            "content_type": "application/json",
            "default_response_format": "pcm",
            "material_types": [
              "text"
            ],
            "native_byte_quote_controls": "تُرفض قيم instructions غير الفارغة ومدخلات المداخلات متعددة المتحدثين عبر مسار عرض السعر الدقيق للبايتات هذا، إلى أن يُعلَن النص الإضافي الخاضع للفوترة.",
            "quantity": "بايتات UTF-8 لسلسلة إدخال واحدة بعد فك ترميزها؛ دون إزالة الفراغات من أطرافها أو تطبيعها",
            "required": [
              "model",
              "input",
              "voice"
            ],
            "response_format": [
              "mp3",
              "pcm"
            ],
            "voice_ids": [
              "b347db033a6549378b48d00acb0d06cd"
            ],
            "voice_list_exhaustive": false
          },
          "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": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "all_results": true,
            "family": "audio",
            "format": "actual MP3 or PCM bytes and MIME",
            "response": "complete raw audio bytes plus response headers"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 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}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s1', 'input': 'Hello world', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 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/s1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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_audio_input_utf8_byte",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "audio input utf8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per audio input utf8 byte",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "d9e3ef1bd98579a308673b99e2b5a7d20b0703004302912bdfbeaa44afddf9b2",
    "input_html_sha256": "0ffdefbd194005c807dfd3b257cd6c322fc2b38f44bd951c936adeab70fa9159",
    "private_audit_sha256": "1d13c118aab43324910f0d0d1f0400a7699686f518f11040a9905396d26a5817",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/fish-audio-s1/",
    "description": "يحوّل Fish Audio S1 النصوص متعددة اللغات إلى صوت تعبيري لمتحدث واحد باستخدام مراجع صوتية وإشارات عاطفية بين قوسين. استخدمه للسرد أو التعليمات المنطوقة القصيرة أو عبارات الشخصيات، مع إعدادات للصيغة والتنغيم في الصوت النهائي.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/fish-audio-s1/index.md",
    "title": "Fish Audio: S1 — Ailoot",
    "url": "https://ailoot.ai/models/ar/fish-audio-s1/"
  },
  "rawModel": {
    "about": "S1 هو نموذج Fish Audio من الجيل السابق لتحويل النص إلى كلام للسرد التعبيري وإخراج صوت متحدث واحد. يقرأ نصًا مقدّمًا ويعيد صوتًا، باستخدام صوت مختار أو مشروط بمرجع. يختلف نموذج S1 الكامل عن S1-mini الأصغر والمقطّر؛ وتقدمهما الجهة المنتجة بصيغتين من 4 مليارات و0.5 مليار معلمة على التوالي. يغطي هذا الوصف النموذج المسمّى S1.\n\nللسرد، أعدّ الكلمات التي يجب نطقها فعلًا وحدّد مواضع تغير الإلقاء. يضع نص الشرح المفيد فكرته الأساسية أولًا، ويطور فكرة واحدة في كل مرة، ويستخدم الترقيم لفصل العبارات التي تحتاج إلى توقف طبيعي. ولتعليمة قصيرة، حافظ على وضوح الصياغة عند سماعها دون شاشة. حافظ على القراءة المقصودة للأسماء والاختصارات والوحدات، وتحقّق من الأرقام في المخرج المنطوق بدل افتراض أن سلسلة واضحة بصريًا لها نطق واحد فقط.\n\nيستخدم S1 إشارات عاطفية وتوجيهات إلقاء بين قوسين، مثل (angry) أو (sad) أو (in a hurry) أو (chuckling). ضع الإشارة قبل الجملة أو العبارة التي ينبغي أن تؤثر فيها، مع الكلام الفعلي بعدها. يخص الإلقاء النص التالي، لذلك يجب وضع تغير المزاج عند الموضع الذي يحتاج فيه الأداء إلى التغير. وهذه صيغة مختلفة عن توجيهات S2 بين القوسين المربعين؛ حافظ على نص مكتوب للجيل المختار بدل افتراض قابلية استبدال شكلي الترميز.\n\nيمكن اختيار الصوت بمعرّف صوت محفوظ أو اشتراطه بتسجيل مرجعي ونصه. ولمسار مرجعي فوري، يوصي دليل الكلام العام بعينة نظيفة مدتها 10–30 ثانية. اختر عينة يلائم أسلوب كلامها وجودة تسجيلها النتيجة المقصودة، واجعل نصها مطابقًا للكلمات الواردة فيها. ولراوٍ متكرر، أعد استخدام المرجع الصوتي نفسه عبر المقاطع كي لا يتحول تغير الموضوع دون قصد إلى تغير في الشخصية.\n\nيسمي إصدار S1 الإنجليزية والصينية واليابانية والألمانية والفرنسية والإسبانية والكورية والعربية والروسية والهولندية والإيطالية والبولندية والبرتغالية ضمن اللغات المدعومة، ويصف مزج اللغات داخل نص واحد. قدّم الصياغة باللغة المستهدفة بدل التعامل مع توليد الكلام بوصفه خطوة ترجمة. وفي مقطع يحوي اسمًا مستعارًا من لغة أخرى أو تبديلًا لغويًا، اجعل التهجئة وسياق الجملة المحيط واضحين وراجع تعامل الصوت المختار مع ذلك الانتقال.\n\nتدعم واجهة S1 لدى الجهة المنتجة متحدثًا واحدًا لكل طلب توليد. ويمكن إعداد الحوار بأجزاء منفصلة لكل منها مرجعه الصوتي، ثم يجمعها التطبيق؛ أما التوليد الأصلي متعدد المتحدثين في عائلة S2 فهو قدرة منفصلة. احتفظ بارتباط الدور والصوت والنص بكل جزء عند إعداد عبارات الشخصيات. نتيجة التوليد أداء صوتي للنص، بينما توقيت التبادل أو دمجه مع الموسيقى والفيديو خطوة تحرير لاحقة.\n\nتشمل خيارات الإخراج MP3 وWAV وPCM الخام وOpus، مع MP3 افتراضيًا. المخرج الموثّق أحادي القناة؛ ويستخدم WAV وPCM عينات بعمق 16-bit، وتختلف خيارات معدل العينات بحسب الصيغة. يدعم MP3 معدلات 64 و128 و192 kbps، بينما يستخدم Opus معدل 48 kHz. ويمكن ضبط السرعة من 0.5 إلى 2.0 مع إعدادات مستوى الصوت. اختر ملفًا مُرمّزًا لمادة تعليق صوتي أو تدفقًا مناسبًا للتشغيل، واحتفظ بالصوت المختار والنص مع النتيجة.\n\nتعالج الجهة المنتجة النص الطويل في أجزاء، مع نطاق طول أجزاء موثّق من 100–300 وميزانية رموز صوتية لكل جزء، لا مدة تسجيل إجمالية مضمونة. ويمكن لتطبيع النص توسيع الأرقام الإنجليزية والصينية إلى قراءة طبيعية، ولعقوبة التكرار في S1 تقليل الأنماط الصوتية المتكررة. وتطبيع جهارة المخرج إعداد مختلف لا تأثير له في S1. افحص النطق وحدود العبارات والأصوات المتكررة والتحول العاطفي المقصود قبل تجميع المقطع النهائي، ثم عدّل العبارة أو المرجع المحدد الذي يحتاج إلى عناية.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "available": null,
    "canonical_model": "fish-audio/s1",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_audio_input_utf8_byte",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "audio input utf8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per audio input utf8 byte",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "ca1892881aa6bc927745",
        "label": "Fish Audio: S1",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "الإعداد الافتراضي"
            },
            "label": "Fish Audio: S1 · الإعداد الافتراضي",
            "units": [
              {
                "amount": "0.000030",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "e7b3eb5a7636763feb8a9472",
                "label": "Input UTF-8 bytes",
                "public_unit_label": "per input UTF-8 byte",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_utf8_byte"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s1",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save all complete binary bytes and all original headers; keep full JSON if returned. Actual operation/asset IDs are preserved.",
            "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": "احتفظ بـoperation_id/X-Client-Request-ID الأصليين وبالاستجابة الأصلية. اقرأ سجلات المهام والأصول الفعلية المملوكة لك دون إعادة الإرسال؛ ولا يُنشأ عنوان URL مخصص للاستعلام عن الصوت."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "actual UTF-8 script",
                  "exact supported voice"
                ]
              }
            ],
            "outputs": {
              "all_results": "احفظ جميع البايتات الثنائية كاملة وجميع الترويسات الأصلية؛ واحتفظ بكامل JSON إن أُعيد. تُحفظ المعرّفات الفعلية للعمليات والأصول.",
              "family": "audio",
              "fields": [
                {
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "الصوت الثنائي الفعلي المُعلَن"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "fish-audio/s1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "min_length": 1,
                "name": "input",
                "quantity_unit": "decoded input UTF-8 bytes",
                "required": true,
                "type": "string"
              },
              {
                "availability": "saved_exact_supplier_example",
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s1"
                  ],
                  "type": "string"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "Hello world",
                "model": "fish-audio/s1",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "استخدم النموذج الدقيق وحقول الإدخال الموثّقة.",
            "احتفظ بالاستجابة كاملة، وكل مخرج فعلي، والمعرّفات الأصلية المُعادة."
          ],
          "input": {
            "content_type": "application/json",
            "default_response_format": "pcm",
            "material_types": [
              "text"
            ],
            "native_byte_quote_controls": "تُرفض قيم instructions غير الفارغة ومدخلات المداخلات متعددة المتحدثين عبر مسار عرض السعر الدقيق للبايتات هذا، إلى أن يُعلَن النص الإضافي الخاضع للفوترة.",
            "quantity": "بايتات UTF-8 لسلسلة إدخال واحدة بعد فك ترميزها؛ دون إزالة الفراغات من أطرافها أو تطبيعها",
            "required": [
              "model",
              "input",
              "voice"
            ],
            "response_format": [
              "mp3",
              "pcm"
            ],
            "voice_ids": [
              "b347db033a6549378b48d00acb0d06cd"
            ],
            "voice_list_exhaustive": false
          },
          "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": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "all_results": true,
            "family": "audio",
            "format": "actual MP3 or PCM bytes and MIME",
            "response": "complete raw audio bytes plus response headers"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 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}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s1', 'input': 'Hello world', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 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/s1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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_audio_input_utf8_byte",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "audio input utf8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per audio input utf8 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/s1",
        "request_model_id": "fish-audio/s1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "not_character_or_token_count": true,
          "quoted_unit": "1000000_UTF8_bytes",
          "retirement_date": "2026-12-31"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000030",
            "amount_unit": "usd_per_input_utf8_byte",
            "conditions": {
              "not_character_or_token_count": true,
              "quoted_unit": "1000000_UTF8_bytes",
              "retirement_date": "2026-12-31"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_utf8_byte"
          }
        ]
      }
    ],
    "public_id": "fish-audio/s1",
    "short": "يحوّل Fish Audio S1 النصوص متعددة اللغات إلى صوت تعبيري لمتحدث واحد باستخدام مراجع صوتية وإشارات عاطفية بين قوسين. استخدمه للسرد أو التعليمات المنطوقة القصيرة أو عبارات الشخصيات، مع إعدادات للصيغة والتنغيم في الصوت النهائي."
  },
  "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 S1 النصوص متعددة اللغات إلى صوت تعبيري لمتحدث واحد باستخدام مراجع صوتية وإشارات عاطفية بين قوسين. استخدمه للسرد أو التعليمات المنطوقة القصيرة أو عبارات الشخصيات، مع إعدادات للصيغة والتنغيم في الصوت النهائي.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "eafaecdacb78ccbba795e464f1f53580b2650b90c39a29b5092b2046b6275325",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "da9d659922e61541349505bc451590ebf998026f3ca789acb5334728c67a50a9"
}
