{
  "aboutHtml": "<p>Google Gemini 3.1 Flash TTS Preview هو إصدار تحويل النص إلى كلام من عائلة Gemini 3.1 Flash Audio. يقبل النص وينتج صوتًا منطوقًا بتعبير توجّهه الموجّهات. تصف Google هذا الجيل بأنه تحسين لطبيعية الكلام وقابلية التحكم والأداء متعدد اللغات، مع حوار أصلي متعدد المتحدثين وأكثر من 70 لغة. ومن الاستخدامات العملية درس قصير مسرود، أو تبادل حواري بين شخصيات، أو مقطع منطوق يهم أداؤه بقدر ما تهم كلماته.</p><p>جهّز نصًا مكتملًا وموجز أداء. يستخدم هذا الجيل تعليمات باللغة الطبيعية ضمن الإدخال النصي لتوجيه أسلوب الصوت وإيقاعه وأدائه. يقدّم إصدار Google توجيه المشهد لتحديد الموقف، وAudio Profiles للمتحدثين لتعريف الشخصيات، وDirector’s Notes لتوجيه الإيقاع والنبرة واللكنة. اجعل هذه الأجزاء قابلة للتمييز عند إعداد الموجّه، حتى يمكن مراجعة الكلمات المقصودة وتعليمات الأداء بصورة مستقلة. يسهل تنقيح موجز مقتصد أكثر من عدة أوصاف متنافسة للصوت نفسه.</p><p>فمثلًا، يمكن لموجز بروفة أصلي وصف راوٍ هادئ يشرح معروضًا في متحف، بعبارات متأنية ونبرة أدفأ في الجملة الأخيرة. ينبغي أن يحتوي النص المصاحب الأسماء الفعلية للمعروض والكلمات الدقيقة المراد نطقها. وللحوار، امنح الشخصيات أوصافًا مميزة وتسلسل أدوار واضحًا. استخدم سياق المشهد لشرح ما إذا كان أحد المتحدثين يطمئن الآخر أو يطرح سؤالًا حقيقيًا أو يرد بدهشة مكبوتة. الناتج المولّد المراد تقييمه هو الأداء المسموع لذلك النص.</p><p>تضيف الوسوم الصوتية المضمّنة تحكمًا موضعيًا داخل النص، فتتيح تغيّر تعبير المتحدث ضمن الجملة بدلًا من الاعتماد الكامل على توجيه البداية. تصف Google الوسوم بأنها تتحكم في أسلوب الصوت والإيقاع والأداء. استخدمها حيث يحتاج الأداء إلى تحوّل معين، واجعل بقية الكلمات طبيعية للنطق. والتمييز المفيد في هذا الإصدار هو بين موجز الشخصية أو المشهد العام والتغيير الموضعي في الأداء. يمكن لمقطع قصير محايد تحديد الصوت الأساسي قبل أن يضيف النص توجيهًا عاطفيًا أكبر.</p><p>للعمل متعدد اللغات، قدّم النص بلغته النهائية واذكر اللكنة وأسلوب الكلام المطلوبين في الموجز. يوثّق إعلان Google دعم أكثر من 70 لغة. وللإعداد التحريري العملي، امنح الأسماء المتكررة تهجئة ثابتة، ووسّع الاختصارات المبهمة عندما تكون قراءة واحدة مطلوبة، وتحقّق من الأرقام في النتيجة المنطوقة. لا تحسم تسمية اللغة وحدها طريقة نطق علامة تجارية أو مصطلح دخيل. قارن المقاطع التي تحتوي هذه المصطلحات بالقراءة المقصودة قبل قبول سرد طويل.</p><p>تذكر صفحة نموذج Gemini API المحددة حد إدخال يبلغ 8,192 رمزًا وحد إخراج يبلغ 16,384 رمزًا لهذا النموذج التجريبي. وتسرد بطاقة نموذج TTS الأصلي من DeepMind، بصورة منفصلة، إدخالًا نصيًا حتى 16K رمز وإخراجًا صوتيًا بطول 32K رمز؛ وأرقام البطاقة هذه منفصلة عن حدود الخدمة عبر Gemini API. احسب توجيهات الأداء ضمن الإدخال المجهّز إلى جانب النص. تُعبَّر سعة الإخراج بالرموز الصوتية، لذلك لا تضمن مدة تسجيل معينة. نظّم الدرس أو القصة الطويلة في أقسام مترابطة، واحتفظ بموجز الشخصية نفسه، واستمع إلى نقاط الوصل. وللحوار المكتوب، تحقّق من نسبة الكلام وترتيب الأدوار إلى جانب الكلمات المنطوقة والأداء العاطفي.</p><p>تحدّد وثائق الانتقال لدى Google إخراج 3.1 الافتراضي بأنه PCM خام بلا ترويسة من نوع audio/l16. تحتاج بايتات الصوت إلى معلومات التشغيل أو الحاوية المناسبة عند إعداد تسجيل قابل للتحرير؛ وإضافة اسم ملف WAV وحده لا تنشئ ترويسة WAV. تحقّق من الصيغة الفعلية المُرجعة قبل استيراد النتيجة. وتذكر Google أيضًا أن الصوت المولّد باستخدام Gemini 3.1 Flash TTS يحمل علامة SynthID مائية غير محسوسة. تتعلق العلامة بتحديد الصوت المولّد، ولا تحل محل تفريغ نصي أو تسميات المتحدثين أو المراجعة بالاستماع.</p><p>يختلف أسلوب إعداد 3.1 بصورة جوهرية عن 3.8. ينقل Gemini 3.8 التوجيهات المستمرة وهوية المتحدث إلى بيانات وصفية منظّمة للكلام، ويستخدم وسوم أحداث موضعية بأقواس زاوية، ويغيّر الصيغة الافتراضية للطلبات المكتملة إلى WAV. احتفظ بموجّه 3.1 كموجّه 3.1 بدلًا من خلط بنية الطلب الأحدث فيه. يذكر جدول النماذج المدعومة لدى Google تركيب كلام لمتحدث واحد أو عدة متحدثين في 3.1، بينما تخص أدوات إنشاء أصوات مصممة واستنساخ الأصوات إدخالات 3.8. يتعامل إصدار Flash Live المنفصل مع الإدخال الصوتي التفاعلي؛ أما إصدار TTS هذا فيخدم إنتاج الصوت من نص مجهّز.</p><p>راجع التسجيل مقابل النص المكتوب بحثًا عن كلمات محذوفة أو مكررة وأسماء وتوقيت الأدوار والتغيّرات العاطفية المقصودة. إذا احتاجت جملة إلى توكيد مختلف، فنقّح التوجيه الموضعي وافحص الانتقال المتأثر. يجعل هذا المسار موجز الأداء مفيدًا: فهو يسجّل ما ينبغي أن يبقى ثابتًا في المتحدث وما ينبغي أن يتغير في ذلك المقطع، بينما يحافظ النص على المحتوى الذي يحتاج الجمهور إلى سماعه.</p>",
  "aboutText": "Google Gemini 3.1 Flash TTS Preview هو إصدار تحويل النص إلى كلام من عائلة Gemini 3.1 Flash Audio. يقبل النص وينتج صوتًا منطوقًا بتعبير توجّهه الموجّهات. تصف Google هذا الجيل بأنه تحسين لطبيعية الكلام وقابلية التحكم والأداء متعدد اللغات، مع حوار أصلي متعدد المتحدثين وأكثر من 70 لغة. ومن الاستخدامات العملية درس قصير مسرود، أو تبادل حواري بين شخصيات، أو مقطع منطوق يهم أداؤه بقدر ما تهم كلماته.\n\nجهّز نصًا مكتملًا وموجز أداء. يستخدم هذا الجيل تعليمات باللغة الطبيعية ضمن الإدخال النصي لتوجيه أسلوب الصوت وإيقاعه وأدائه. يقدّم إصدار Google توجيه المشهد لتحديد الموقف، وAudio Profiles للمتحدثين لتعريف الشخصيات، وDirector’s Notes لتوجيه الإيقاع والنبرة واللكنة. اجعل هذه الأجزاء قابلة للتمييز عند إعداد الموجّه، حتى يمكن مراجعة الكلمات المقصودة وتعليمات الأداء بصورة مستقلة. يسهل تنقيح موجز مقتصد أكثر من عدة أوصاف متنافسة للصوت نفسه.\n\nفمثلًا، يمكن لموجز بروفة أصلي وصف راوٍ هادئ يشرح معروضًا في متحف، بعبارات متأنية ونبرة أدفأ في الجملة الأخيرة. ينبغي أن يحتوي النص المصاحب الأسماء الفعلية للمعروض والكلمات الدقيقة المراد نطقها. وللحوار، امنح الشخصيات أوصافًا مميزة وتسلسل أدوار واضحًا. استخدم سياق المشهد لشرح ما إذا كان أحد المتحدثين يطمئن الآخر أو يطرح سؤالًا حقيقيًا أو يرد بدهشة مكبوتة. الناتج المولّد المراد تقييمه هو الأداء المسموع لذلك النص.\n\nتضيف الوسوم الصوتية المضمّنة تحكمًا موضعيًا داخل النص، فتتيح تغيّر تعبير المتحدث ضمن الجملة بدلًا من الاعتماد الكامل على توجيه البداية. تصف Google الوسوم بأنها تتحكم في أسلوب الصوت والإيقاع والأداء. استخدمها حيث يحتاج الأداء إلى تحوّل معين، واجعل بقية الكلمات طبيعية للنطق. والتمييز المفيد في هذا الإصدار هو بين موجز الشخصية أو المشهد العام والتغيير الموضعي في الأداء. يمكن لمقطع قصير محايد تحديد الصوت الأساسي قبل أن يضيف النص توجيهًا عاطفيًا أكبر.\n\nللعمل متعدد اللغات، قدّم النص بلغته النهائية واذكر اللكنة وأسلوب الكلام المطلوبين في الموجز. يوثّق إعلان Google دعم أكثر من 70 لغة. وللإعداد التحريري العملي، امنح الأسماء المتكررة تهجئة ثابتة، ووسّع الاختصارات المبهمة عندما تكون قراءة واحدة مطلوبة، وتحقّق من الأرقام في النتيجة المنطوقة. لا تحسم تسمية اللغة وحدها طريقة نطق علامة تجارية أو مصطلح دخيل. قارن المقاطع التي تحتوي هذه المصطلحات بالقراءة المقصودة قبل قبول سرد طويل.\n\nتذكر صفحة نموذج Gemini API المحددة حد إدخال يبلغ 8,192 رمزًا وحد إخراج يبلغ 16,384 رمزًا لهذا النموذج التجريبي. وتسرد بطاقة نموذج TTS الأصلي من DeepMind، بصورة منفصلة، إدخالًا نصيًا حتى 16K رمز وإخراجًا صوتيًا بطول 32K رمز؛ وأرقام البطاقة هذه منفصلة عن حدود الخدمة عبر Gemini API. احسب توجيهات الأداء ضمن الإدخال المجهّز إلى جانب النص. تُعبَّر سعة الإخراج بالرموز الصوتية، لذلك لا تضمن مدة تسجيل معينة. نظّم الدرس أو القصة الطويلة في أقسام مترابطة، واحتفظ بموجز الشخصية نفسه، واستمع إلى نقاط الوصل. وللحوار المكتوب، تحقّق من نسبة الكلام وترتيب الأدوار إلى جانب الكلمات المنطوقة والأداء العاطفي.\n\nتحدّد وثائق الانتقال لدى Google إخراج 3.1 الافتراضي بأنه PCM خام بلا ترويسة من نوع audio/l16. تحتاج بايتات الصوت إلى معلومات التشغيل أو الحاوية المناسبة عند إعداد تسجيل قابل للتحرير؛ وإضافة اسم ملف WAV وحده لا تنشئ ترويسة WAV. تحقّق من الصيغة الفعلية المُرجعة قبل استيراد النتيجة. وتذكر Google أيضًا أن الصوت المولّد باستخدام Gemini 3.1 Flash TTS يحمل علامة SynthID مائية غير محسوسة. تتعلق العلامة بتحديد الصوت المولّد، ولا تحل محل تفريغ نصي أو تسميات المتحدثين أو المراجعة بالاستماع.\n\nيختلف أسلوب إعداد 3.1 بصورة جوهرية عن 3.8. ينقل Gemini 3.8 التوجيهات المستمرة وهوية المتحدث إلى بيانات وصفية منظّمة للكلام، ويستخدم وسوم أحداث موضعية بأقواس زاوية، ويغيّر الصيغة الافتراضية للطلبات المكتملة إلى WAV. احتفظ بموجّه 3.1 كموجّه 3.1 بدلًا من خلط بنية الطلب الأحدث فيه. يذكر جدول النماذج المدعومة لدى Google تركيب كلام لمتحدث واحد أو عدة متحدثين في 3.1، بينما تخص أدوات إنشاء أصوات مصممة واستنساخ الأصوات إدخالات 3.8. يتعامل إصدار Flash Live المنفصل مع الإدخال الصوتي التفاعلي؛ أما إصدار TTS هذا فيخدم إنتاج الصوت من نص مجهّز.\n\nراجع التسجيل مقابل النص المكتوب بحثًا عن كلمات محذوفة أو مكررة وأسماء وتوقيت الأدوار والتغيّرات العاطفية المقصودة. إذا احتاجت جملة إلى توكيد مختلف، فنقّح التوجيه الموضعي وافحص الانتقال المتأثر. يجعل هذا المسار موجز الأداء مفيدًا: فهو يسجّل ما ينبغي أن يبقى ثابتًا في المتحدث وما ينبغي أن يتغير في ذلك المقطع، بينما يحافظ النص على المحتوى الذي يحتاج الجمهور إلى سماعه.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "020201a47dac2ca6a8863a98b51eed5f9fc7aea57700dec83aa73337496cf601",
    "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.1 Flash TTS Preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.1-flash-tts-preview</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|google%2Fgemini-3.1-flash-tts-preview\">توليد الكلام</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\">يحوّل Google Gemini 3.1 Flash TTS Preview النصوص المكتوبة إلى صوت كلامي معبّر. توجه تعليمات اللغة الطبيعية وAudio Profiles للمتحدثين وDirector’s Notes والوسوم الصوتية المضمَّنة الوتيرة والنبرة واللكنة. يدعم الحوار مباشرة وأكثر من 70 لغة، باستخدام صيغة المطالبات والصوت الخاصة بإصدار 3.1.</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>Google Gemini 3.1 Flash TTS Preview هو إصدار تحويل النص إلى كلام من عائلة Gemini 3.1 Flash Audio. يقبل النص وينتج صوتًا منطوقًا بتعبير توجّهه الموجّهات. تصف Google هذا الجيل بأنه تحسين لطبيعية الكلام وقابلية التحكم والأداء متعدد اللغات، مع حوار أصلي متعدد المتحدثين وأكثر من 70 لغة. ومن الاستخدامات العملية درس قصير مسرود، أو تبادل حواري بين شخصيات، أو مقطع منطوق يهم أداؤه بقدر ما تهم كلماته.</p><p>جهّز نصًا مكتملًا وموجز أداء. يستخدم هذا الجيل تعليمات باللغة الطبيعية ضمن الإدخال النصي لتوجيه أسلوب الصوت وإيقاعه وأدائه. يقدّم إصدار Google توجيه المشهد لتحديد الموقف، وAudio Profiles للمتحدثين لتعريف الشخصيات، وDirector’s Notes لتوجيه الإيقاع والنبرة واللكنة. اجعل هذه الأجزاء قابلة للتمييز عند إعداد الموجّه، حتى يمكن مراجعة الكلمات المقصودة وتعليمات الأداء بصورة مستقلة. يسهل تنقيح موجز مقتصد أكثر من عدة أوصاف متنافسة للصوت نفسه.</p><p>فمثلًا، يمكن لموجز بروفة أصلي وصف راوٍ هادئ يشرح معروضًا في متحف، بعبارات متأنية ونبرة أدفأ في الجملة الأخيرة. ينبغي أن يحتوي النص المصاحب الأسماء الفعلية للمعروض والكلمات الدقيقة المراد نطقها. وللحوار، امنح الشخصيات أوصافًا مميزة وتسلسل أدوار واضحًا. استخدم سياق المشهد لشرح ما إذا كان أحد المتحدثين يطمئن الآخر أو يطرح سؤالًا حقيقيًا أو يرد بدهشة مكبوتة. الناتج المولّد المراد تقييمه هو الأداء المسموع لذلك النص.</p><p>تضيف الوسوم الصوتية المضمّنة تحكمًا موضعيًا داخل النص، فتتيح تغيّر تعبير المتحدث ضمن الجملة بدلًا من الاعتماد الكامل على توجيه البداية. تصف Google الوسوم بأنها تتحكم في أسلوب الصوت والإيقاع والأداء. استخدمها حيث يحتاج الأداء إلى تحوّل معين، واجعل بقية الكلمات طبيعية للنطق. والتمييز المفيد في هذا الإصدار هو بين موجز الشخصية أو المشهد العام والتغيير الموضعي في الأداء. يمكن لمقطع قصير محايد تحديد الصوت الأساسي قبل أن يضيف النص توجيهًا عاطفيًا أكبر.</p><p>للعمل متعدد اللغات، قدّم النص بلغته النهائية واذكر اللكنة وأسلوب الكلام المطلوبين في الموجز. يوثّق إعلان Google دعم أكثر من 70 لغة. وللإعداد التحريري العملي، امنح الأسماء المتكررة تهجئة ثابتة، ووسّع الاختصارات المبهمة عندما تكون قراءة واحدة مطلوبة، وتحقّق من الأرقام في النتيجة المنطوقة. لا تحسم تسمية اللغة وحدها طريقة نطق علامة تجارية أو مصطلح دخيل. قارن المقاطع التي تحتوي هذه المصطلحات بالقراءة المقصودة قبل قبول سرد طويل.</p><p>تذكر صفحة نموذج Gemini API المحددة حد إدخال يبلغ 8,192 رمزًا وحد إخراج يبلغ 16,384 رمزًا لهذا النموذج التجريبي. وتسرد بطاقة نموذج TTS الأصلي من DeepMind، بصورة منفصلة، إدخالًا نصيًا حتى 16K رمز وإخراجًا صوتيًا بطول 32K رمز؛ وأرقام البطاقة هذه منفصلة عن حدود الخدمة عبر Gemini API. احسب توجيهات الأداء ضمن الإدخال المجهّز إلى جانب النص. تُعبَّر سعة الإخراج بالرموز الصوتية، لذلك لا تضمن مدة تسجيل معينة. نظّم الدرس أو القصة الطويلة في أقسام مترابطة، واحتفظ بموجز الشخصية نفسه، واستمع إلى نقاط الوصل. وللحوار المكتوب، تحقّق من نسبة الكلام وترتيب الأدوار إلى جانب الكلمات المنطوقة والأداء العاطفي.</p><p>تحدّد وثائق الانتقال لدى Google إخراج 3.1 الافتراضي بأنه PCM خام بلا ترويسة من نوع audio/l16. تحتاج بايتات الصوت إلى معلومات التشغيل أو الحاوية المناسبة عند إعداد تسجيل قابل للتحرير؛ وإضافة اسم ملف WAV وحده لا تنشئ ترويسة WAV. تحقّق من الصيغة الفعلية المُرجعة قبل استيراد النتيجة. وتذكر Google أيضًا أن الصوت المولّد باستخدام Gemini 3.1 Flash TTS يحمل علامة SynthID مائية غير محسوسة. تتعلق العلامة بتحديد الصوت المولّد، ولا تحل محل تفريغ نصي أو تسميات المتحدثين أو المراجعة بالاستماع.</p><p>يختلف أسلوب إعداد 3.1 بصورة جوهرية عن 3.8. ينقل Gemini 3.8 التوجيهات المستمرة وهوية المتحدث إلى بيانات وصفية منظّمة للكلام، ويستخدم وسوم أحداث موضعية بأقواس زاوية، ويغيّر الصيغة الافتراضية للطلبات المكتملة إلى WAV. احتفظ بموجّه 3.1 كموجّه 3.1 بدلًا من خلط بنية الطلب الأحدث فيه. يذكر جدول النماذج المدعومة لدى Google تركيب كلام لمتحدث واحد أو عدة متحدثين في 3.1، بينما تخص أدوات إنشاء أصوات مصممة واستنساخ الأصوات إدخالات 3.8. يتعامل إصدار Flash Live المنفصل مع الإدخال الصوتي التفاعلي؛ أما إصدار TTS هذا فيخدم إنتاج الصوت من نص مجهّز.</p><p>راجع التسجيل مقابل النص المكتوب بحثًا عن كلمات محذوفة أو مكررة وأسماء وتوقيت الأدوار والتغيّرات العاطفية المقصودة. إذا احتاجت جملة إلى توكيد مختلف، فنقّح التوجيه الموضعي وافحص الانتقال المتأثر. يجعل هذا المسار موجز الأداء مفيدًا: فهو يسجّل ما ينبغي أن يبقى ثابتًا في المتحدث وما ينبغي أن يتغير في ذلك المقطع، بينما يحافظ النص على المحتوى الذي يحتاج الجمهور إلى سماعه.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">متاح في Ailoot · المدخلات والطرائق</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · الكلام</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>google/gemini-3.1-flash-tts-preview</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>Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat</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>رمز إدخال</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>/ 1K من الرموز</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr><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>/ 1K من الرموز</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإخراج</span> <b>$0.04</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">أمثلة للطلبات</h3><h4>Ailoot Ultra · الكلام</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-1460-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1460-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-1460-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1460-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;google/gemini-3.1-flash-tts-preview&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;Orus&#39;, &#39;response_format&#39;: &#39;pcm&#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-1461-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1461-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-1461-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1461-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=google%2Fgemini-3.1-flash-tts-preview&amp;route=Ultra&amp;caller=google%2Fgemini-3.1-flash-tts-preview&amp;fmt=speech\"><code>google/gemini-3.1-flash-tts-preview</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-3.1-flash-tts-preview&amp;route=Ultra&amp;caller=google%2Fgemini-3.1-flash-tts-preview&amp;fmt=speech\"><code>google/gemini-3.1-flash-tts-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.1-flash-tts-preview",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|google%2Fgemini-3.1-flash-tts-preview",
      "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": [
                  "google/gemini-3.1-flash-tts-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "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": [
                    "google/gemini-3.1-flash-tts-preview"
                  ],
                  "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": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.1-flash-tts-preview",
                "response_format": "pcm",
                "voice": "Orus"
              },
              "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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "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': 'google/gemini-3.1-flash-tts-preview', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Orus', 'response_format': 'pcm'}\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": {
            "input_token": 2e-06,
            "output_token": 4e-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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-3.1-flash-tts-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e543ce0e71e2f7124481da0aeb62af6500e58112f8f38f090683ab7072179238",
    "input_html_sha256": "6b2e295f37285070fbe5c05370d8ce9474cfd9197bc7805ddb0705556d5d6b3e",
    "private_audit_sha256": "00c4e5c4fd660f5f51b6da72dbed709f06c6b48a33fb4e2d12a56a7e6783722c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/google-gemini-3-1-flash-tts-preview/",
    "description": "يحوّل Google Gemini 3.1 Flash TTS Preview النصوص المكتوبة إلى صوت كلامي معبّر. توجه تعليمات اللغة الطبيعية وAudio Profiles للمتحدثين وDirector’s Notes والوسوم الصوتية المضمَّنة الوتيرة والنبرة واللكنة. يدعم الحوار مباشرة وأكثر من 70 لغة، باستخدام صيغة المطالبات والصوت الخاصة بإصدار 3.1.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/google-gemini-3-1-flash-tts-preview/index.md",
    "title": "Google: Gemini 3.1 Flash TTS Preview — Ailoot",
    "url": "https://ailoot.ai/models/ar/google-gemini-3-1-flash-tts-preview/"
  },
  "rawModel": {
    "about": "Google Gemini 3.1 Flash TTS Preview هو إصدار تحويل النص إلى كلام من عائلة Gemini 3.1 Flash Audio. يقبل النص وينتج صوتًا منطوقًا بتعبير توجّهه الموجّهات. تصف Google هذا الجيل بأنه تحسين لطبيعية الكلام وقابلية التحكم والأداء متعدد اللغات، مع حوار أصلي متعدد المتحدثين وأكثر من 70 لغة. ومن الاستخدامات العملية درس قصير مسرود، أو تبادل حواري بين شخصيات، أو مقطع منطوق يهم أداؤه بقدر ما تهم كلماته.\n\nجهّز نصًا مكتملًا وموجز أداء. يستخدم هذا الجيل تعليمات باللغة الطبيعية ضمن الإدخال النصي لتوجيه أسلوب الصوت وإيقاعه وأدائه. يقدّم إصدار Google توجيه المشهد لتحديد الموقف، وAudio Profiles للمتحدثين لتعريف الشخصيات، وDirector’s Notes لتوجيه الإيقاع والنبرة واللكنة. اجعل هذه الأجزاء قابلة للتمييز عند إعداد الموجّه، حتى يمكن مراجعة الكلمات المقصودة وتعليمات الأداء بصورة مستقلة. يسهل تنقيح موجز مقتصد أكثر من عدة أوصاف متنافسة للصوت نفسه.\n\nفمثلًا، يمكن لموجز بروفة أصلي وصف راوٍ هادئ يشرح معروضًا في متحف، بعبارات متأنية ونبرة أدفأ في الجملة الأخيرة. ينبغي أن يحتوي النص المصاحب الأسماء الفعلية للمعروض والكلمات الدقيقة المراد نطقها. وللحوار، امنح الشخصيات أوصافًا مميزة وتسلسل أدوار واضحًا. استخدم سياق المشهد لشرح ما إذا كان أحد المتحدثين يطمئن الآخر أو يطرح سؤالًا حقيقيًا أو يرد بدهشة مكبوتة. الناتج المولّد المراد تقييمه هو الأداء المسموع لذلك النص.\n\nتضيف الوسوم الصوتية المضمّنة تحكمًا موضعيًا داخل النص، فتتيح تغيّر تعبير المتحدث ضمن الجملة بدلًا من الاعتماد الكامل على توجيه البداية. تصف Google الوسوم بأنها تتحكم في أسلوب الصوت والإيقاع والأداء. استخدمها حيث يحتاج الأداء إلى تحوّل معين، واجعل بقية الكلمات طبيعية للنطق. والتمييز المفيد في هذا الإصدار هو بين موجز الشخصية أو المشهد العام والتغيير الموضعي في الأداء. يمكن لمقطع قصير محايد تحديد الصوت الأساسي قبل أن يضيف النص توجيهًا عاطفيًا أكبر.\n\nللعمل متعدد اللغات، قدّم النص بلغته النهائية واذكر اللكنة وأسلوب الكلام المطلوبين في الموجز. يوثّق إعلان Google دعم أكثر من 70 لغة. وللإعداد التحريري العملي، امنح الأسماء المتكررة تهجئة ثابتة، ووسّع الاختصارات المبهمة عندما تكون قراءة واحدة مطلوبة، وتحقّق من الأرقام في النتيجة المنطوقة. لا تحسم تسمية اللغة وحدها طريقة نطق علامة تجارية أو مصطلح دخيل. قارن المقاطع التي تحتوي هذه المصطلحات بالقراءة المقصودة قبل قبول سرد طويل.\n\nتذكر صفحة نموذج Gemini API المحددة حد إدخال يبلغ 8,192 رمزًا وحد إخراج يبلغ 16,384 رمزًا لهذا النموذج التجريبي. وتسرد بطاقة نموذج TTS الأصلي من DeepMind، بصورة منفصلة، إدخالًا نصيًا حتى 16K رمز وإخراجًا صوتيًا بطول 32K رمز؛ وأرقام البطاقة هذه منفصلة عن حدود الخدمة عبر Gemini API. احسب توجيهات الأداء ضمن الإدخال المجهّز إلى جانب النص. تُعبَّر سعة الإخراج بالرموز الصوتية، لذلك لا تضمن مدة تسجيل معينة. نظّم الدرس أو القصة الطويلة في أقسام مترابطة، واحتفظ بموجز الشخصية نفسه، واستمع إلى نقاط الوصل. وللحوار المكتوب، تحقّق من نسبة الكلام وترتيب الأدوار إلى جانب الكلمات المنطوقة والأداء العاطفي.\n\nتحدّد وثائق الانتقال لدى Google إخراج 3.1 الافتراضي بأنه PCM خام بلا ترويسة من نوع audio/l16. تحتاج بايتات الصوت إلى معلومات التشغيل أو الحاوية المناسبة عند إعداد تسجيل قابل للتحرير؛ وإضافة اسم ملف WAV وحده لا تنشئ ترويسة WAV. تحقّق من الصيغة الفعلية المُرجعة قبل استيراد النتيجة. وتذكر Google أيضًا أن الصوت المولّد باستخدام Gemini 3.1 Flash TTS يحمل علامة SynthID مائية غير محسوسة. تتعلق العلامة بتحديد الصوت المولّد، ولا تحل محل تفريغ نصي أو تسميات المتحدثين أو المراجعة بالاستماع.\n\nيختلف أسلوب إعداد 3.1 بصورة جوهرية عن 3.8. ينقل Gemini 3.8 التوجيهات المستمرة وهوية المتحدث إلى بيانات وصفية منظّمة للكلام، ويستخدم وسوم أحداث موضعية بأقواس زاوية، ويغيّر الصيغة الافتراضية للطلبات المكتملة إلى WAV. احتفظ بموجّه 3.1 كموجّه 3.1 بدلًا من خلط بنية الطلب الأحدث فيه. يذكر جدول النماذج المدعومة لدى Google تركيب كلام لمتحدث واحد أو عدة متحدثين في 3.1، بينما تخص أدوات إنشاء أصوات مصممة واستنساخ الأصوات إدخالات 3.8. يتعامل إصدار Flash Live المنفصل مع الإدخال الصوتي التفاعلي؛ أما إصدار TTS هذا فيخدم إنتاج الصوت من نص مجهّز.\n\nراجع التسجيل مقابل النص المكتوب بحثًا عن كلمات محذوفة أو مكررة وأسماء وتوقيت الأدوار والتغيّرات العاطفية المقصودة. إذا احتاجت جملة إلى توكيد مختلف، فنقّح التوجيه الموضعي وافحص الانتقال المتأثر. يجعل هذا المسار موجز الأداء مفيدًا: فهو يسجّل ما ينبغي أن يبقى ثابتًا في المتحدث وما ينبغي أن يتغير في ذلك المقطع، بينما يحافظ النص على المحتوى الذي يحتاج الجمهور إلى سماعه.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 32768,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "google/gemini-3.1-flash-tts-preview",
    "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": [
                  "google/gemini-3.1-flash-tts-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "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": [
                    "google/gemini-3.1-flash-tts-preview"
                  ],
                  "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": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.1-flash-tts-preview",
                "response_format": "pcm",
                "voice": "Orus"
              },
              "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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "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': 'google/gemini-3.1-flash-tts-preview', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Orus', 'response_format': 'pcm'}\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": {
            "input_token": 2e-06,
            "output_token": 4e-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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000002",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.04000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.00004",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000002",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.04000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.00004",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-3.1-flash-tts-preview",
        "request_model_id": "google/gemini-3.1-flash-tts-preview",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.1 Flash TTS Preview",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.04,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.04,
      "varies": true
    },
    "short": "يحوّل Google Gemini 3.1 Flash TTS Preview النصوص المكتوبة إلى صوت كلامي معبّر. توجه تعليمات اللغة الطبيعية وAudio Profiles للمتحدثين وDirector’s Notes والوسوم الصوتية المضمَّنة الوتيرة والنبرة واللكنة. يدعم الحوار مباشرة وأكثر من 70 لغة، باستخدام صيغة المطالبات والصوت الخاصة بإصدار 3.1."
  },
  "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": "يحوّل Google Gemini 3.1 Flash TTS Preview النصوص المكتوبة إلى صوت كلامي معبّر. توجه تعليمات اللغة الطبيعية وAudio Profiles للمتحدثين وDirector’s Notes والوسوم الصوتية المضمَّنة الوتيرة والنبرة واللكنة. يدعم الحوار مباشرة وأكثر من 70 لغة، باستخدام صيغة المطالبات والصوت الخاصة بإصدار 3.1.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "768e0f13044f0d831feb3c94f825384d3529c092bdae603427c0b50ebccbffcf",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "e8768a28bc13d149a37f60f31ab4c7d9f204f8d3179581e229b82d040d0cd835"
}
