{
  "aboutHtml": "<p>Transcribe 1 Pro هو نموذج تحويل الكلام إلى نص من Fish Audio للمقاطع القصيرة والمحادثات المتعددة المتحدثين والتسجيلات الطويلة. يستقبل صوتًا مسجّلًا ويعيد نصًا مفرّغًا، مع توقيت اختياري وأدوار كلام منظَّمة للمتحدثين. وتتمثّل خصائصه المميزة في تحديد تغيّر المتحدث داخل النص، وإشارات المشاعر أو الأحداث الصوتية، ما يحافظ على قدر أكبر من البنية الحوارية للتسجيل مقارنةً بتسلسل كلمات مجرد.</p><p>في المقابلة أو الاجتماع أو البودكاست، احتفظ بالمحادثة كاملةً في ملف واحد، حتى يحتفظ المتحدثون العائدون بتسميات متسقة ضمن الاستجابة. وناتج المراجعة المفيد نص مفرّغ مرتبط بالتسجيل الأصلي، مع عرض أدوار الكلام منفصلةً وإتاحة طابع زمني للتحقق من اقتباس. أما الملخّص أو قائمة الإجراءات فخطوة لاحقة في التطبيق: أبقهما منفصلين عن النص المفرّغ، حتى يظل المصدر المنطوق متاحًا للمقارنة.</p><p>يقبل المُنتج تسجيلات تصل إلى 60 دقيقة، ويصف معالجة الملفات الطويلة باستخدام صوت مضغوط مثل MP3 أو Opus أو AAC. وتشمل التنسيقات المدعومة WAV وMP3 وAAC داخل M4A أو MP4 وFLAC وOgg مع Opus أو Vorbis وWebM/Matroska وMOV. وفي ملف الفيديو، يستخدم المسار الصوتي الأول. ولا تُدعم AIFF وCAF وWMA وAMR وAC-3 وPCM الخام من دون ترويسة. ويُقدَّم ملف صوتي واحد لكل طلب؛ وتصل النتيجة بعد تفريغ التسجيل كاملًا، وقد يستغرق التسجيل الطويل عدة دقائق. وتُرفض المقاطع الأقصر من نحو 0.08 ثانية.</p><p>تتضمن استجابة المُنتج النص الكامل ومدة التسجيل بالثواني ومصفوفة segments. ويحدّد Pro تغيّر المتحدث داخل النص بتسميات مثل &lt;|speaker:0|&gt; و&lt;|speaker:1|&gt;؛ وتسري التسمية على النص التالي حتى العلامة اللاحقة. وهذه معرّفات داخل استجابة واحدة، وليست أسماء أو هويات متحقَّقًا منها يمكن مطابقتها عبر الطلبات. وإذا لم يتضمن النص المفرّغ علامة متحدث، يعامله الدليل بوصفه نتيجة لمتحدث واحد. واحتفظ بأي نص قبل العلامة الأولى مع دور الكلام الأول، بدلًا من حذفه.</p><p>الطوابع الزمنية على مستوى الكلمات اختيارية. وفي طلب المُنتج، تكون القيمة الافتراضية لـ ignore_timestamps هي true؛ وضبطها على false يطلب مقاطع تتضمن النص ووقتَي البداية والنهاية بالثواني. ويكون المقطع عمومًا كلمة واحدة، أو حرفًا واحدًا أو بضعة أحرف في الصينية واليابانية. ولا يتضمن نص المقطع علامات الترقيم أو علامات المتحدثين أو إشارات الأحداث، وقد يطبّع قيمة منطوقة بصورة تختلف عن النص المفرّغ الكامل. ويمكن أن يكون لمقطع الكلمة وقت بداية ونهاية متطابقان. وقد تعني مصفوفة segments الفارغة أن الطوابع الزمنية لم تُطلب، أو أنه لم يُعثر على كلام، أو أن التوقيت كان غير متاح مؤقتًا. واستخدم النص المفرّغ الكامل للصياغة المقروءة، والمقاطع للمحاذاة، بدلًا من افتراض تطابق السلسلتين حرفًا بحرف.</p><p>القيمة الافتراضية لإعداد diarize هي auto. وعند طلب الطوابع الزمنية، وعدم كون diarize مضبوطًا على false، يعيد Pro أيضًا speaker_turns. ويتضمن كل دور كلام تسمية متحدثه ونصه ووقتَي بدايته ونهايته، مع الحفاظ على الترقيم والإشارات المحتفَظ بها من دون علامة المتحدث داخل النص. وإذا لم يتوفر توقيت الكلمات، فقد تكون أوقات الأدوار تقريبية وتغطي التسجيل كاملًا؛ وليس بالضرورة أن تكون الأدوار المتجاورة متصلة أو غير متداخلة. ويزيل تعطيل diarize قائمة الأدوار المنظمة، لكنه يُبقي علامات المتحدثين في النص الكامل. ويمكن لعدد متحدثين معلوم، أو حدَّين أدنى وأقصى للعدد، توجيه فصل المتحدثين في التسجيلات الأطول على أساس بذل أفضل جهد. ولا يمكن الجمع بين العدد الدقيق وحدود العدد، كما لا يمكن استخدام تلميحات العدد مع تعطيل diarize.</p><p>تظهر إشارات المشاعر والأحداث الصوتية كنص بين أقواس مربعة، مثل [laughter]، بجانب الكلام المتعرَّف عليه. وهي استنتاجات من الصوت، وليست كلمات يحتاج المستخدم إلى إضافتها قبل التفريغ. والقيمة الافتراضية لإعداد tag_audio_events في Pro هي true؛ ويزيل تعطيله هذه الإشارات من النص المفرّغ ونص الأدوار من دون تغيير التوقيت. ولا يوجد حقل مشاعر منفصل أو تعداد ثابت للمشاعر. احتفظ بالنص المفرّغ المشروح عندما تكون نبرة العبارة مهمة، واستخدم نسخة خالية من الإشارات عندما يحتاج الناتج اللاحق إلى الكلمات المنطوقة فقط.</p><p>تُكتشف اللغة تلقائيًا. ولا يفرض تلميح ISO 639-1 اختياري بحروف صغيرة ترجمةً، ولا يغيّر النص المفرّغ في Pro. وإذا تعذّر تحديد اللغة، فقد يعكس رمز اللغة المُعاد التلميح من دون التحقق منه في ضوء الصوت. ويُبلغ المُنتج عن لغة واحدة، لا جردٍ لكل لغة في تسجيل مختلط اللغات. واحتفظ بالصياغة الأصلية وبيانات اللغة الوصفية معًا عند تجهيز أرشيف قابل للبحث، خصوصًا عندما تنتقل أجزاء مختلفة من المحادثة بين اللغات.</p><p>للتعليقات النصية، اجمع الكلمات المتتالية الموقّتة في مقاطع SRT أو WebVTT مقروءة، بدلًا من إنتاج مقطع تعليق لكل كلمة. وافصل المقاطع عند الوقفات، واختر طولها ومدة عرضها بما يناسب المشغّل والجمهور. ويمكن لحدود أدوار الكلام إبقاء المتحدثين المختلفين في مقاطع منفصلة. وتحقّق من نتيجة توقيت فارغة، ومن المقاطع التي يجب أن تكون نهايتها لاحقة لبدايتها. وتنسيق التعليقات النصية وأسماء تسميات المتحدثين المجهولة وأي ملخّص لاحق هي نواتج تطبيق تُبنى من نتيجة التفريغ.</p><p>في سير عمل عملي للتسجيلات، حدّد قبل التفريغ ما إذا كنت تحتاج إلى نص بسيط مقروء، أو أدوار حوار مشروحة، أو تعليقات نصية موقّتة. واحتفظ بمعرّف الصوت مع النتيجة، واحفظ النص الكامل المُعاد عندما يكون الترقيم والإشارات مهمين، واستخدم حقول التوقيت المنظمة للتنقل. وتختلف قدرات Pro للتسجيلات الطويلة وتعدد المتحدثين عن نموذج Transcribe 1 العام للتسجيلات القصيرة؛ فلا ينبغي اعتبار حدودهما وأدوات التحكم فيهما قابلة للتبادل.</p>",
  "aboutText": "Transcribe 1 Pro هو نموذج تحويل الكلام إلى نص من Fish Audio للمقاطع القصيرة والمحادثات المتعددة المتحدثين والتسجيلات الطويلة. يستقبل صوتًا مسجّلًا ويعيد نصًا مفرّغًا، مع توقيت اختياري وأدوار كلام منظَّمة للمتحدثين. وتتمثّل خصائصه المميزة في تحديد تغيّر المتحدث داخل النص، وإشارات المشاعر أو الأحداث الصوتية، ما يحافظ على قدر أكبر من البنية الحوارية للتسجيل مقارنةً بتسلسل كلمات مجرد.\n\nفي المقابلة أو الاجتماع أو البودكاست، احتفظ بالمحادثة كاملةً في ملف واحد، حتى يحتفظ المتحدثون العائدون بتسميات متسقة ضمن الاستجابة. وناتج المراجعة المفيد نص مفرّغ مرتبط بالتسجيل الأصلي، مع عرض أدوار الكلام منفصلةً وإتاحة طابع زمني للتحقق من اقتباس. أما الملخّص أو قائمة الإجراءات فخطوة لاحقة في التطبيق: أبقهما منفصلين عن النص المفرّغ، حتى يظل المصدر المنطوق متاحًا للمقارنة.\n\nيقبل المُنتج تسجيلات تصل إلى 60 دقيقة، ويصف معالجة الملفات الطويلة باستخدام صوت مضغوط مثل MP3 أو Opus أو AAC. وتشمل التنسيقات المدعومة WAV وMP3 وAAC داخل M4A أو MP4 وFLAC وOgg مع Opus أو Vorbis وWebM/Matroska وMOV. وفي ملف الفيديو، يستخدم المسار الصوتي الأول. ولا تُدعم AIFF وCAF وWMA وAMR وAC-3 وPCM الخام من دون ترويسة. ويُقدَّم ملف صوتي واحد لكل طلب؛ وتصل النتيجة بعد تفريغ التسجيل كاملًا، وقد يستغرق التسجيل الطويل عدة دقائق. وتُرفض المقاطع الأقصر من نحو 0.08 ثانية.\n\nتتضمن استجابة المُنتج النص الكامل ومدة التسجيل بالثواني ومصفوفة segments. ويحدّد Pro تغيّر المتحدث داخل النص بتسميات مثل <|speaker:0|> و<|speaker:1|>؛ وتسري التسمية على النص التالي حتى العلامة اللاحقة. وهذه معرّفات داخل استجابة واحدة، وليست أسماء أو هويات متحقَّقًا منها يمكن مطابقتها عبر الطلبات. وإذا لم يتضمن النص المفرّغ علامة متحدث، يعامله الدليل بوصفه نتيجة لمتحدث واحد. واحتفظ بأي نص قبل العلامة الأولى مع دور الكلام الأول، بدلًا من حذفه.\n\nالطوابع الزمنية على مستوى الكلمات اختيارية. وفي طلب المُنتج، تكون القيمة الافتراضية لـ ignore_timestamps هي true؛ وضبطها على false يطلب مقاطع تتضمن النص ووقتَي البداية والنهاية بالثواني. ويكون المقطع عمومًا كلمة واحدة، أو حرفًا واحدًا أو بضعة أحرف في الصينية واليابانية. ولا يتضمن نص المقطع علامات الترقيم أو علامات المتحدثين أو إشارات الأحداث، وقد يطبّع قيمة منطوقة بصورة تختلف عن النص المفرّغ الكامل. ويمكن أن يكون لمقطع الكلمة وقت بداية ونهاية متطابقان. وقد تعني مصفوفة segments الفارغة أن الطوابع الزمنية لم تُطلب، أو أنه لم يُعثر على كلام، أو أن التوقيت كان غير متاح مؤقتًا. واستخدم النص المفرّغ الكامل للصياغة المقروءة، والمقاطع للمحاذاة، بدلًا من افتراض تطابق السلسلتين حرفًا بحرف.\n\nالقيمة الافتراضية لإعداد diarize هي auto. وعند طلب الطوابع الزمنية، وعدم كون diarize مضبوطًا على false، يعيد Pro أيضًا speaker_turns. ويتضمن كل دور كلام تسمية متحدثه ونصه ووقتَي بدايته ونهايته، مع الحفاظ على الترقيم والإشارات المحتفَظ بها من دون علامة المتحدث داخل النص. وإذا لم يتوفر توقيت الكلمات، فقد تكون أوقات الأدوار تقريبية وتغطي التسجيل كاملًا؛ وليس بالضرورة أن تكون الأدوار المتجاورة متصلة أو غير متداخلة. ويزيل تعطيل diarize قائمة الأدوار المنظمة، لكنه يُبقي علامات المتحدثين في النص الكامل. ويمكن لعدد متحدثين معلوم، أو حدَّين أدنى وأقصى للعدد، توجيه فصل المتحدثين في التسجيلات الأطول على أساس بذل أفضل جهد. ولا يمكن الجمع بين العدد الدقيق وحدود العدد، كما لا يمكن استخدام تلميحات العدد مع تعطيل diarize.\n\nتظهر إشارات المشاعر والأحداث الصوتية كنص بين أقواس مربعة، مثل [laughter]، بجانب الكلام المتعرَّف عليه. وهي استنتاجات من الصوت، وليست كلمات يحتاج المستخدم إلى إضافتها قبل التفريغ. والقيمة الافتراضية لإعداد tag_audio_events في Pro هي true؛ ويزيل تعطيله هذه الإشارات من النص المفرّغ ونص الأدوار من دون تغيير التوقيت. ولا يوجد حقل مشاعر منفصل أو تعداد ثابت للمشاعر. احتفظ بالنص المفرّغ المشروح عندما تكون نبرة العبارة مهمة، واستخدم نسخة خالية من الإشارات عندما يحتاج الناتج اللاحق إلى الكلمات المنطوقة فقط.\n\nتُكتشف اللغة تلقائيًا. ولا يفرض تلميح ISO 639-1 اختياري بحروف صغيرة ترجمةً، ولا يغيّر النص المفرّغ في Pro. وإذا تعذّر تحديد اللغة، فقد يعكس رمز اللغة المُعاد التلميح من دون التحقق منه في ضوء الصوت. ويُبلغ المُنتج عن لغة واحدة، لا جردٍ لكل لغة في تسجيل مختلط اللغات. واحتفظ بالصياغة الأصلية وبيانات اللغة الوصفية معًا عند تجهيز أرشيف قابل للبحث، خصوصًا عندما تنتقل أجزاء مختلفة من المحادثة بين اللغات.\n\nللتعليقات النصية، اجمع الكلمات المتتالية الموقّتة في مقاطع SRT أو WebVTT مقروءة، بدلًا من إنتاج مقطع تعليق لكل كلمة. وافصل المقاطع عند الوقفات، واختر طولها ومدة عرضها بما يناسب المشغّل والجمهور. ويمكن لحدود أدوار الكلام إبقاء المتحدثين المختلفين في مقاطع منفصلة. وتحقّق من نتيجة توقيت فارغة، ومن المقاطع التي يجب أن تكون نهايتها لاحقة لبدايتها. وتنسيق التعليقات النصية وأسماء تسميات المتحدثين المجهولة وأي ملخّص لاحق هي نواتج تطبيق تُبنى من نتيجة التفريغ.\n\nفي سير عمل عملي للتسجيلات، حدّد قبل التفريغ ما إذا كنت تحتاج إلى نص بسيط مقروء، أو أدوار حوار مشروحة، أو تعليقات نصية موقّتة. واحتفظ بمعرّف الصوت مع النتيجة، واحفظ النص الكامل المُعاد عندما يكون الترقيم والإشارات مهمين، واستخدم حقول التوقيت المنظمة للتنقل. وتختلف قدرات Pro للتسجيلات الطويلة وتعدد المتحدثين عن نموذج Transcribe 1 العام للتسجيلات القصيرة؛ فلا ينبغي اعتبار حدودهما وأدوات التحكم فيهما قابلة للتبادل.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "bffab31709844e89f7be09ede33f3c4488d23ea9d1b6b68e248786a7f20bc7a8",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ar",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1-pro</code><button type=\"button\" id=\"copy-id\">نسخ ID</button></div><nav class=\"card-jump-nav\" aria-label=\"أقسام بطاقة النموذج\"><button type=\"button\" data-card-jump=\"overview\">البداية</button><button type=\"button\" data-card-jump=\"methods\">المدخلات والطرائق</button><button type=\"button\" data-card-jump=\"pricing\">الباقات</button><button type=\"button\" data-card-jump=\"examples\">أمثلة</button><button type=\"button\" data-card-jump=\"results\">النتائج</button><button type=\"button\" data-card-jump=\"aliases\">الأسماء البديلة</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"طرائق API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro\">التعرّف</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">البداية</h3><p class=\"mdesc-full\">يحوّل Transcribe 1 Pro تسجيلات تصل إلى 60 دقيقة إلى نص مع علامات للمتحدثين وتوقيت اختياري على مستوى الكلمات. ويحتفظ بإشارات المشاعر والأحداث الصوتية المستنتجة، ما يسهّل مراجعة المقابلات والاجتماعات والبودكاست والبحث فيها أو تجهيزها للتعليقات النصية.</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>Transcribe 1 Pro هو نموذج تحويل الكلام إلى نص من Fish Audio للمقاطع القصيرة والمحادثات المتعددة المتحدثين والتسجيلات الطويلة. يستقبل صوتًا مسجّلًا ويعيد نصًا مفرّغًا، مع توقيت اختياري وأدوار كلام منظَّمة للمتحدثين. وتتمثّل خصائصه المميزة في تحديد تغيّر المتحدث داخل النص، وإشارات المشاعر أو الأحداث الصوتية، ما يحافظ على قدر أكبر من البنية الحوارية للتسجيل مقارنةً بتسلسل كلمات مجرد.</p><p>في المقابلة أو الاجتماع أو البودكاست، احتفظ بالمحادثة كاملةً في ملف واحد، حتى يحتفظ المتحدثون العائدون بتسميات متسقة ضمن الاستجابة. وناتج المراجعة المفيد نص مفرّغ مرتبط بالتسجيل الأصلي، مع عرض أدوار الكلام منفصلةً وإتاحة طابع زمني للتحقق من اقتباس. أما الملخّص أو قائمة الإجراءات فخطوة لاحقة في التطبيق: أبقهما منفصلين عن النص المفرّغ، حتى يظل المصدر المنطوق متاحًا للمقارنة.</p><p>يقبل المُنتج تسجيلات تصل إلى 60 دقيقة، ويصف معالجة الملفات الطويلة باستخدام صوت مضغوط مثل MP3 أو Opus أو AAC. وتشمل التنسيقات المدعومة WAV وMP3 وAAC داخل M4A أو MP4 وFLAC وOgg مع Opus أو Vorbis وWebM/Matroska وMOV. وفي ملف الفيديو، يستخدم المسار الصوتي الأول. ولا تُدعم AIFF وCAF وWMA وAMR وAC-3 وPCM الخام من دون ترويسة. ويُقدَّم ملف صوتي واحد لكل طلب؛ وتصل النتيجة بعد تفريغ التسجيل كاملًا، وقد يستغرق التسجيل الطويل عدة دقائق. وتُرفض المقاطع الأقصر من نحو 0.08 ثانية.</p><p>تتضمن استجابة المُنتج النص الكامل ومدة التسجيل بالثواني ومصفوفة segments. ويحدّد Pro تغيّر المتحدث داخل النص بتسميات مثل &lt;|speaker:0|&gt; و&lt;|speaker:1|&gt;؛ وتسري التسمية على النص التالي حتى العلامة اللاحقة. وهذه معرّفات داخل استجابة واحدة، وليست أسماء أو هويات متحقَّقًا منها يمكن مطابقتها عبر الطلبات. وإذا لم يتضمن النص المفرّغ علامة متحدث، يعامله الدليل بوصفه نتيجة لمتحدث واحد. واحتفظ بأي نص قبل العلامة الأولى مع دور الكلام الأول، بدلًا من حذفه.</p><p>الطوابع الزمنية على مستوى الكلمات اختيارية. وفي طلب المُنتج، تكون القيمة الافتراضية لـ ignore_timestamps هي true؛ وضبطها على false يطلب مقاطع تتضمن النص ووقتَي البداية والنهاية بالثواني. ويكون المقطع عمومًا كلمة واحدة، أو حرفًا واحدًا أو بضعة أحرف في الصينية واليابانية. ولا يتضمن نص المقطع علامات الترقيم أو علامات المتحدثين أو إشارات الأحداث، وقد يطبّع قيمة منطوقة بصورة تختلف عن النص المفرّغ الكامل. ويمكن أن يكون لمقطع الكلمة وقت بداية ونهاية متطابقان. وقد تعني مصفوفة segments الفارغة أن الطوابع الزمنية لم تُطلب، أو أنه لم يُعثر على كلام، أو أن التوقيت كان غير متاح مؤقتًا. واستخدم النص المفرّغ الكامل للصياغة المقروءة، والمقاطع للمحاذاة، بدلًا من افتراض تطابق السلسلتين حرفًا بحرف.</p><p>القيمة الافتراضية لإعداد diarize هي auto. وعند طلب الطوابع الزمنية، وعدم كون diarize مضبوطًا على false، يعيد Pro أيضًا speaker_turns. ويتضمن كل دور كلام تسمية متحدثه ونصه ووقتَي بدايته ونهايته، مع الحفاظ على الترقيم والإشارات المحتفَظ بها من دون علامة المتحدث داخل النص. وإذا لم يتوفر توقيت الكلمات، فقد تكون أوقات الأدوار تقريبية وتغطي التسجيل كاملًا؛ وليس بالضرورة أن تكون الأدوار المتجاورة متصلة أو غير متداخلة. ويزيل تعطيل diarize قائمة الأدوار المنظمة، لكنه يُبقي علامات المتحدثين في النص الكامل. ويمكن لعدد متحدثين معلوم، أو حدَّين أدنى وأقصى للعدد، توجيه فصل المتحدثين في التسجيلات الأطول على أساس بذل أفضل جهد. ولا يمكن الجمع بين العدد الدقيق وحدود العدد، كما لا يمكن استخدام تلميحات العدد مع تعطيل diarize.</p><p>تظهر إشارات المشاعر والأحداث الصوتية كنص بين أقواس مربعة، مثل [laughter]، بجانب الكلام المتعرَّف عليه. وهي استنتاجات من الصوت، وليست كلمات يحتاج المستخدم إلى إضافتها قبل التفريغ. والقيمة الافتراضية لإعداد tag_audio_events في Pro هي true؛ ويزيل تعطيله هذه الإشارات من النص المفرّغ ونص الأدوار من دون تغيير التوقيت. ولا يوجد حقل مشاعر منفصل أو تعداد ثابت للمشاعر. احتفظ بالنص المفرّغ المشروح عندما تكون نبرة العبارة مهمة، واستخدم نسخة خالية من الإشارات عندما يحتاج الناتج اللاحق إلى الكلمات المنطوقة فقط.</p><p>تُكتشف اللغة تلقائيًا. ولا يفرض تلميح ISO 639-1 اختياري بحروف صغيرة ترجمةً، ولا يغيّر النص المفرّغ في Pro. وإذا تعذّر تحديد اللغة، فقد يعكس رمز اللغة المُعاد التلميح من دون التحقق منه في ضوء الصوت. ويُبلغ المُنتج عن لغة واحدة، لا جردٍ لكل لغة في تسجيل مختلط اللغات. واحتفظ بالصياغة الأصلية وبيانات اللغة الوصفية معًا عند تجهيز أرشيف قابل للبحث، خصوصًا عندما تنتقل أجزاء مختلفة من المحادثة بين اللغات.</p><p>للتعليقات النصية، اجمع الكلمات المتتالية الموقّتة في مقاطع SRT أو WebVTT مقروءة، بدلًا من إنتاج مقطع تعليق لكل كلمة. وافصل المقاطع عند الوقفات، واختر طولها ومدة عرضها بما يناسب المشغّل والجمهور. ويمكن لحدود أدوار الكلام إبقاء المتحدثين المختلفين في مقاطع منفصلة. وتحقّق من نتيجة توقيت فارغة، ومن المقاطع التي يجب أن تكون نهايتها لاحقة لبدايتها. وتنسيق التعليقات النصية وأسماء تسميات المتحدثين المجهولة وأي ملخّص لاحق هي نواتج تطبيق تُبنى من نتيجة التفريغ.</p><p>في سير عمل عملي للتسجيلات، حدّد قبل التفريغ ما إذا كنت تحتاج إلى نص بسيط مقروء، أو أدوار حوار مشروحة، أو تعليقات نصية موقّتة. واحتفظ بمعرّف الصوت مع النتيجة، واحفظ النص الكامل المُعاد عندما يكون الترقيم والإشارات مهمين، واستخدم حقول التوقيت المنظمة للتنقل. وتختلف قدرات Pro للتسجيلات الطويلة وتعدد المتحدثين عن نموذج Transcribe 1 العام للتسجيلات القصيرة؛ فلا ينبغي اعتبار حدودهما وأدوات التحكم فيهما قابلة للتبادل.</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/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>الإدخال</dt><dd><code>audio</code></dd></div><div><dt>الإخراج</dt><dd><code>text</code></dd></div><div><dt>صيغة الإخراج</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>الحقل</th><th>النوع</th><th>المتطلب</th><th>القيم والحدود</th><th>القيمة الافتراضية</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>fish-audio/transcribe-1-pro</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">input_audio</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><div>المفاتيح الدقيقة: data, format</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">input_audio.data</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>base64_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>الحد الأقصى للبايتات بعد فك الترميز: ⁦26,214,400⁩</div><div>Base64 صارم: نعم</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">input_audio.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>الشروط: يجب أن يطابق التنسيق الفعلي الذي يكشفه فحص الملف</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>json</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>تركيبات مواد الإدخال</summary><p class=\"note-s\"><b>speech_to_text</b> · مطلوب: input_audio.data, input_audio.format</p></details><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>content_type</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>application/json</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>model, input_audio</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>additional_properties</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>false</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>parameters</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;fish-audio/transcribe-1-pro&quot;]}, {&quot;name&quot;:&quot;input_audio&quot;,&quot;type&quot;:&quot;object&quot;,&quot;required&quot;:true,&quot;exact_keys&quot;:[&quot;data&quot;,&quot;format&quot;],&quot;data&quot;:&quot;ترميز base64 صارم لبايتات صوت فعلية مدعومة&quot;,&quot;format&quot;:&quot;التنسيق الدقيق الذي يكشفه فحص الملف؛ ويجب أن يطابق البايتات الفعلية&quot;}, {&quot;name&quot;:&quot;response_format&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:false,&quot;enum&quot;:[&quot;json&quot;]}</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>max_audio_bytes</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>26214400</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>multipart_for_this_profile</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>false</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>material_types</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>audio</td></tr></tbody></table></div><p>دورة الحياة: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">احتفظ بالاستجابة كاملة وبالمعرّفات الأصلية المُعادة.</p><p class=\"note-s\">لا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">الباقات</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.</p><dl data-price-conditions><dt>الوضع السريع</dt><dd>غير محدد <span class=\"note-s\">عند اختيار الوضع السريع</span></dd><dt>الوضع المرن</dt><dd>غير محدد <span class=\"note-s\">عند اختيار وضع flex</span></dd><dt>أقصى جهد للاستدلال</dt><dd>غير محدد <span class=\"note-s\">عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال</span></dd></dl></div><div data-declared-tariff-pricing><h4>تعرفات Ailoot</h4><h4>الأسعار حسب الإعدادات</h4><p class=\"note-s\">طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>جدول التعرفة</th><th>وحدة الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>التعرفات الأساسية للرموز</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>التعرفة الأساسية</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>—</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · رموز الإدخال</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>ثانية صوت مُدخل</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>$0.0002</b> <span class=\"price-unit\">لكل ثانية صوت مُدخل</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p><div data-declared-reference-pricing><h4>تفاصيل التعرفة المرجعية</h4><p class=\"note-s\">لا تغيّر جداول التعرفة المرجعية على مستوى النموذج اختيار الطريقة أو عروض الأسعار أو الرسوم. وتستخدم الرسوم الفعلية تعرفات طريقة Ailoot المحددة.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Fish Audio: Transcribe 1 Pro</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>Fish Audio: Transcribe 1 Pro · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · ثواني الصوت المُدخل</span> <b>⁦‏0.0002 US$⁩</b> <span class=\"price-unit\">لكل ثانية صوت مُدخل</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">أمثلة للطلبات</h3><h4>Ailoot Ultra · التعرّف على الكلام</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-1362-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1362-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · بايتات الصوت الفعلية والصيغة المحددة بالفحص</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1362-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1362-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set your actual audio file}&quot;\n: &quot;${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}&quot;\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;fish-audio/transcribe-1-pro&quot;, &quot;response_format&quot;: &quot;json&quot;}&#39;)\nimport base64\nf=Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;])\nraw=f.read_bytes()\nif not raw or len(raw)&gt;26214400:raise SystemExit(&#39;Use actual audio bytes within 25 MiB&#39;)\nfmt=os.environ[&#39;AILOOT_AUDIO_FORMAT&#39;].strip()\nif not fmt:raise SystemExit(&#39;Use the actual probed format; the server checks it against the bytes&#39;)\np[&#39;input_audio&#39;]={&#39;data&#39;:base64.b64encode(raw).decode(),&#39;format&#39;:fmt}\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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\">json</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احتفظ بكل استجابة كاملة وكل ملف وجزء محتوى تم إرجاعه.</p><p class=\"note-s\">احتفظ بـJSON كاملاً، وترويسات الاستجابة، والنص، وكل حقل استخدام فعلي مُعاد. استخدم الهويات الفعلية للمهام والأصول من الاستجابة أو المكتبة المملوكة لك؛ فالحقل operation_id ليس task_id.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">احتفظ بقيمة operation_id/X-Client-Request-ID الأصلية للمطابقة دون إعادة الإرسال؛ لا يوجد مسار مخصص للاستعلام الدوري عن الصوت.</p></div><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>الحقل</th><th>النوع</th><th>المعنى</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td><td data-cell-label=\"المعنى\"><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\">usage</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object</td><td data-cell-label=\"المعنى\"><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\">usage.seconds</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>number</td><td data-cell-label=\"المعنى\"><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\">duration</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>number</td><td data-cell-label=\"المعنى\"><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\">task_id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td><td data-cell-label=\"المعنى\"><span class=\"card-cell-label\">المعنى</span>معرّف مهمة التفريغ الصوتي؛ يُعاد مع asset_url عندما يُخزَّن نص تفريغ غير فارغ ويُنشر ويُخصَّص له عنوان URL موقّع للمحتوى.</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">asset_url</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td><td data-cell-label=\"المعنى\"><span class=\"card-cell-label\">المعنى</span>عنوان URL موقّع لمحتوى التفريغ الصوتي؛ يُعاد مع task_id عندما يُخزَّن نص تفريغ غير فارغ ويُنشر ويُخصَّص له عنوان URL موقّع للمحتوى.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>الأخطاء والخطوات التالية</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>الاستجابة</th><th>الشرط</th><th>الخطوة التالية</th></tr></thead><tbody><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>صحّح الحقول المحددة قبل طلب إنشاء جديد.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span><code>server_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">الأسماء البديلة</h3><h4>الأسماء البديلة للنموذج</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Ftranscribe-1-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "احتفظ بقيمة operation_id/X-Client-Request-ID الأصلية للمطابقة دون إعادة الإرسال؛ لا يوجد مسار مخصص للاستعلام الدوري عن الصوت."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "احتفظ بـJSON كاملاً، وترويسات الاستجابة، والنص، وكل حقل استخدام فعلي مُعاد. استخدم الهويات الفعلية للمهام والأصول من الاستجابة أو المكتبة المملوكة لك؛ فالحقل operation_id ليس task_id.",
              "family": "transcription",
              "fields": [
                {
                  "description": "النص المُفرَّغ صوتياً.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "استخدام الصوت.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "مدة الصوت بالثواني.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "مدة الصوت بالثواني.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "معرّف مهمة التفريغ الصوتي؛ يُعاد مع asset_url عندما يُخزَّن نص تفريغ غير فارغ ويُنشر ويُخصَّص له عنوان URL موقّع للمحتوى.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "عنوان URL موقّع لمحتوى التفريغ الصوتي؛ يُعاد مع task_id عندما يُخزَّن نص تفريغ غير فارغ ويُنشر ويُخصَّص له عنوان URL موقّع للمحتوى.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "يجب أن يطابق التنسيق الفعلي الذي يكشفه فحص الملف",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "احتفظ بالاستجابة كاملة وبالمعرّفات الأصلية المُعادة.",
            "لا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "ترميز base64 صارم لبايتات صوت فعلية مدعومة",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "التنسيق الدقيق الذي يكشفه فحص الملف؛ ويجب أن يطابق البايتات الفعلية",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/transcribe-1-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "937668b0047cf7d725822201b670d5807fd40698e9f1f53a9912e3cd6289c99a",
    "input_html_sha256": "3583a2834618647d964cea171d3cb88e685c11fced27221d6119aad50bbe40eb",
    "private_audit_sha256": "e742fde2b621634421bf4be26aa1990e0cff4c77e46aeb363c982718727d25bb",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/fish-audio-transcribe-1-pro/",
    "description": "يحوّل Transcribe 1 Pro تسجيلات تصل إلى 60 دقيقة إلى نص مع علامات للمتحدثين وتوقيت اختياري على مستوى الكلمات. ويحتفظ بإشارات المشاعر والأحداث الصوتية المستنتجة، ما يسهّل مراجعة المقابلات والاجتماعات والبودكاست والبحث فيها أو تجهيزها للتعليقات النصية.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/fish-audio-transcribe-1-pro/index.md",
    "title": "Fish Audio: Transcribe 1 Pro — Ailoot",
    "url": "https://ailoot.ai/models/ar/fish-audio-transcribe-1-pro/"
  },
  "rawModel": {
    "about": "Transcribe 1 Pro هو نموذج تحويل الكلام إلى نص من Fish Audio للمقاطع القصيرة والمحادثات المتعددة المتحدثين والتسجيلات الطويلة. يستقبل صوتًا مسجّلًا ويعيد نصًا مفرّغًا، مع توقيت اختياري وأدوار كلام منظَّمة للمتحدثين. وتتمثّل خصائصه المميزة في تحديد تغيّر المتحدث داخل النص، وإشارات المشاعر أو الأحداث الصوتية، ما يحافظ على قدر أكبر من البنية الحوارية للتسجيل مقارنةً بتسلسل كلمات مجرد.\n\nفي المقابلة أو الاجتماع أو البودكاست، احتفظ بالمحادثة كاملةً في ملف واحد، حتى يحتفظ المتحدثون العائدون بتسميات متسقة ضمن الاستجابة. وناتج المراجعة المفيد نص مفرّغ مرتبط بالتسجيل الأصلي، مع عرض أدوار الكلام منفصلةً وإتاحة طابع زمني للتحقق من اقتباس. أما الملخّص أو قائمة الإجراءات فخطوة لاحقة في التطبيق: أبقهما منفصلين عن النص المفرّغ، حتى يظل المصدر المنطوق متاحًا للمقارنة.\n\nيقبل المُنتج تسجيلات تصل إلى 60 دقيقة، ويصف معالجة الملفات الطويلة باستخدام صوت مضغوط مثل MP3 أو Opus أو AAC. وتشمل التنسيقات المدعومة WAV وMP3 وAAC داخل M4A أو MP4 وFLAC وOgg مع Opus أو Vorbis وWebM/Matroska وMOV. وفي ملف الفيديو، يستخدم المسار الصوتي الأول. ولا تُدعم AIFF وCAF وWMA وAMR وAC-3 وPCM الخام من دون ترويسة. ويُقدَّم ملف صوتي واحد لكل طلب؛ وتصل النتيجة بعد تفريغ التسجيل كاملًا، وقد يستغرق التسجيل الطويل عدة دقائق. وتُرفض المقاطع الأقصر من نحو 0.08 ثانية.\n\nتتضمن استجابة المُنتج النص الكامل ومدة التسجيل بالثواني ومصفوفة segments. ويحدّد Pro تغيّر المتحدث داخل النص بتسميات مثل <|speaker:0|> و<|speaker:1|>؛ وتسري التسمية على النص التالي حتى العلامة اللاحقة. وهذه معرّفات داخل استجابة واحدة، وليست أسماء أو هويات متحقَّقًا منها يمكن مطابقتها عبر الطلبات. وإذا لم يتضمن النص المفرّغ علامة متحدث، يعامله الدليل بوصفه نتيجة لمتحدث واحد. واحتفظ بأي نص قبل العلامة الأولى مع دور الكلام الأول، بدلًا من حذفه.\n\nالطوابع الزمنية على مستوى الكلمات اختيارية. وفي طلب المُنتج، تكون القيمة الافتراضية لـ ignore_timestamps هي true؛ وضبطها على false يطلب مقاطع تتضمن النص ووقتَي البداية والنهاية بالثواني. ويكون المقطع عمومًا كلمة واحدة، أو حرفًا واحدًا أو بضعة أحرف في الصينية واليابانية. ولا يتضمن نص المقطع علامات الترقيم أو علامات المتحدثين أو إشارات الأحداث، وقد يطبّع قيمة منطوقة بصورة تختلف عن النص المفرّغ الكامل. ويمكن أن يكون لمقطع الكلمة وقت بداية ونهاية متطابقان. وقد تعني مصفوفة segments الفارغة أن الطوابع الزمنية لم تُطلب، أو أنه لم يُعثر على كلام، أو أن التوقيت كان غير متاح مؤقتًا. واستخدم النص المفرّغ الكامل للصياغة المقروءة، والمقاطع للمحاذاة، بدلًا من افتراض تطابق السلسلتين حرفًا بحرف.\n\nالقيمة الافتراضية لإعداد diarize هي auto. وعند طلب الطوابع الزمنية، وعدم كون diarize مضبوطًا على false، يعيد Pro أيضًا speaker_turns. ويتضمن كل دور كلام تسمية متحدثه ونصه ووقتَي بدايته ونهايته، مع الحفاظ على الترقيم والإشارات المحتفَظ بها من دون علامة المتحدث داخل النص. وإذا لم يتوفر توقيت الكلمات، فقد تكون أوقات الأدوار تقريبية وتغطي التسجيل كاملًا؛ وليس بالضرورة أن تكون الأدوار المتجاورة متصلة أو غير متداخلة. ويزيل تعطيل diarize قائمة الأدوار المنظمة، لكنه يُبقي علامات المتحدثين في النص الكامل. ويمكن لعدد متحدثين معلوم، أو حدَّين أدنى وأقصى للعدد، توجيه فصل المتحدثين في التسجيلات الأطول على أساس بذل أفضل جهد. ولا يمكن الجمع بين العدد الدقيق وحدود العدد، كما لا يمكن استخدام تلميحات العدد مع تعطيل diarize.\n\nتظهر إشارات المشاعر والأحداث الصوتية كنص بين أقواس مربعة، مثل [laughter]، بجانب الكلام المتعرَّف عليه. وهي استنتاجات من الصوت، وليست كلمات يحتاج المستخدم إلى إضافتها قبل التفريغ. والقيمة الافتراضية لإعداد tag_audio_events في Pro هي true؛ ويزيل تعطيله هذه الإشارات من النص المفرّغ ونص الأدوار من دون تغيير التوقيت. ولا يوجد حقل مشاعر منفصل أو تعداد ثابت للمشاعر. احتفظ بالنص المفرّغ المشروح عندما تكون نبرة العبارة مهمة، واستخدم نسخة خالية من الإشارات عندما يحتاج الناتج اللاحق إلى الكلمات المنطوقة فقط.\n\nتُكتشف اللغة تلقائيًا. ولا يفرض تلميح ISO 639-1 اختياري بحروف صغيرة ترجمةً، ولا يغيّر النص المفرّغ في Pro. وإذا تعذّر تحديد اللغة، فقد يعكس رمز اللغة المُعاد التلميح من دون التحقق منه في ضوء الصوت. ويُبلغ المُنتج عن لغة واحدة، لا جردٍ لكل لغة في تسجيل مختلط اللغات. واحتفظ بالصياغة الأصلية وبيانات اللغة الوصفية معًا عند تجهيز أرشيف قابل للبحث، خصوصًا عندما تنتقل أجزاء مختلفة من المحادثة بين اللغات.\n\nللتعليقات النصية، اجمع الكلمات المتتالية الموقّتة في مقاطع SRT أو WebVTT مقروءة، بدلًا من إنتاج مقطع تعليق لكل كلمة. وافصل المقاطع عند الوقفات، واختر طولها ومدة عرضها بما يناسب المشغّل والجمهور. ويمكن لحدود أدوار الكلام إبقاء المتحدثين المختلفين في مقاطع منفصلة. وتحقّق من نتيجة توقيت فارغة، ومن المقاطع التي يجب أن تكون نهايتها لاحقة لبدايتها. وتنسيق التعليقات النصية وأسماء تسميات المتحدثين المجهولة وأي ملخّص لاحق هي نواتج تطبيق تُبنى من نتيجة التفريغ.\n\nفي سير عمل عملي للتسجيلات، حدّد قبل التفريغ ما إذا كنت تحتاج إلى نص بسيط مقروء، أو أدوار حوار مشروحة، أو تعليقات نصية موقّتة. واحتفظ بمعرّف الصوت مع النتيجة، واحفظ النص الكامل المُعاد عندما يكون الترقيم والإشارات مهمين، واستخدم حقول التوقيت المنظمة للتنقل. وتختلف قدرات Pro للتسجيلات الطويلة وتعدد المتحدثين عن نموذج Transcribe 1 العام للتسجيلات القصيرة؛ فلا ينبغي اعتبار حدودهما وأدوات التحكم فيهما قابلة للتبادل.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "available": null,
    "canonical_model": "fish-audio/transcribe-1-pro",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "aeebfac63d7ddd8619fb",
        "label": "Fish Audio: Transcribe 1 Pro",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "الإعداد الافتراضي"
            },
            "label": "Fish Audio: Transcribe 1 Pro · الإعداد الافتراضي",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "0949942d98ce2e4c35b418d6",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1-pro",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "احتفظ بقيمة operation_id/X-Client-Request-ID الأصلية للمطابقة دون إعادة الإرسال؛ لا يوجد مسار مخصص للاستعلام الدوري عن الصوت."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "احتفظ بـJSON كاملاً، وترويسات الاستجابة، والنص، وكل حقل استخدام فعلي مُعاد. استخدم الهويات الفعلية للمهام والأصول من الاستجابة أو المكتبة المملوكة لك؛ فالحقل operation_id ليس task_id.",
              "family": "transcription",
              "fields": [
                {
                  "description": "النص المُفرَّغ صوتياً.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "استخدام الصوت.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "مدة الصوت بالثواني.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "مدة الصوت بالثواني.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "معرّف مهمة التفريغ الصوتي؛ يُعاد مع asset_url عندما يُخزَّن نص تفريغ غير فارغ ويُنشر ويُخصَّص له عنوان URL موقّع للمحتوى.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "عنوان URL موقّع لمحتوى التفريغ الصوتي؛ يُعاد مع task_id عندما يُخزَّن نص تفريغ غير فارغ ويُنشر ويُخصَّص له عنوان URL موقّع للمحتوى.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "يجب أن يطابق التنسيق الفعلي الذي يكشفه فحص الملف",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "احتفظ بالاستجابة كاملة وبالمعرّفات الأصلية المُعادة.",
            "لا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "ترميز base64 صارم لبايتات صوت فعلية مدعومة",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "التنسيق الدقيق الذي يكشفه فحص الملف؛ ويجب أن يطابق البايتات الفعلية",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "قيمة task_id الفعلية المُعادة أو سجل مكتبة الوسائط",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/transcribe-1-pro",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "prompt",
            "label": "prompt",
            "quantity": "1",
            "rate_role": "typed_active_maker_rate",
            "side": "in",
            "unit": "input_audio_second"
          }
        ]
      }
    ],
    "public_id": "fish-audio/transcribe-1-pro",
    "short": "يحوّل Transcribe 1 Pro تسجيلات تصل إلى 60 دقيقة إلى نص مع علامات للمتحدثين وتوقيت اختياري على مستوى الكلمات. ويحتفظ بإشارات المشاعر والأحداث الصوتية المستنتجة، ما يسهّل مراجعة المقابلات والاجتماعات والبودكاست والبحث فيها أو تجهيزها للتعليقات النصية."
  },
  "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": "يحوّل Transcribe 1 Pro تسجيلات تصل إلى 60 دقيقة إلى نص مع علامات للمتحدثين وتوقيت اختياري على مستوى الكلمات. ويحتفظ بإشارات المشاعر والأحداث الصوتية المستنتجة، ما يسهّل مراجعة المقابلات والاجتماعات والبودكاست والبحث فيها أو تجهيزها للتعليقات النصية.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "97bc328a3053bed7e91ea4e46420f5fb1dba6ede0d72be24c1c77f4153cb972b",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "8ad94df0d04e9571e023523f1ff0e330ef92eaa9f04404c4314854dcf445f89a"
}
