{
  "aboutHtml": "<p>Universal-3.5 Pro هو نموذج التعرّف على الكلام من AssemblyAI لتحويل الكلام المسجّل إلى نص. في ملف Sync، ينتج مقطع صوتي قصير تفريغًا مكتملًا في استجابة واحدة. يناسب ذلك الرسائل الصوتية ومدخلات الضغط للتحدث والجولات الحوارية المنفصلة التي يعرف التطبيق فيها بالفعل متى ينبغي أن ينتهي التسجيل.</p><p>جهّز الصوت في مقطع محدود. تقبل متطلبات Sync لدى AssemblyAI مددًا من 80 مللي ثانية إلى 120 ثانية، بحجم ملف أقصى 40 MB. الصيغ المدعومة WAV أو PCM خام موقّع بدقة 16 بت وترتيب بايتات little-endian. يمكن أن يكون الصوت أحادي القناة أو ستيريو، ويُحوَّل الستيريو داخليًا إلى قناة واحدة. معدلات أخذ العينات المدعومة 8 و16 و22.05 و24 و32 و44.1 و48 kHz. تقدّم ترويسة WAV معدل العينات وعدد القنوات؛ ويحتاج PCM الخام إلى تقديم هاتين القيمتين منفصلتين ضمن إعداد التفريغ.</p><p>سجّل العبارة كاملةً وحافظ على بداية الكلام ونهايته سليمتين. من المهام الأصلية المفيدة رسالة صوتية قصيرة لدعم منتج تضم اسم منتج ومعرّف طلب وطلبًا من المتحدث. احتفظ بالمقطع المصدري كي يمكن فحص التفريغ مقارنةً بتلك التفاصيل المهمة. ولتسجيل أطول، جهّز سير عمل مناسبًا للتفريغ الطويل بدلًا من اعتبار حد مدة المقطع القصير ادعاءً بشأن سعة الصوت في النموذج كله.</p><p>تتضمن النتيجة التفريغ الكامل وقائمة كلمات مع درجة ثقة لكل كلمة ودرجة ثقة إجمالية بين صفر وواحد. وتوفّر أيضًا مدة الصوت المقدَّم ومعرّف طلب، مما يتيح إبقاء النص مرتبطًا بمقطعه الأصلي. استخدم ثقة الكلمات لتحديد المواضع التي تستحق مراجعة بالاستماع، خصوصًا الأسماء والأرقام ومفردات المجال المهمة للتطبيق.</p><p>الطوابع الزمنية للكلمات اختيارية ومعطّلة افتراضيًا. وعند طلبها، يمكن لكل كلمة تمت محاذاتها أن تحمل بدايتها ونهايتها بالمللي ثانية بالنسبة إلى بداية المقطع. يترك ملف الشركة المصنّعة هذه القيم غائبة عندما لا يمكن محاذاة كلمة بدلًا من اختراع توقيت تقريبي. تكون دقة الطوابع الزمنية أفضل للصوت الإنجليزي. احتفظ بالتوقيتات الغائبة صراحةً عند إعداد تمييز الكلمات أو موجة صوتية قابلة للبحث أو محاذاة النصوص المصاحبة، وقارن النص بالتسجيل قبل استخدامه مسارًا مكتملًا للنصوص المصاحبة.</p><p>تصف تعليمة سياقية موضوع التسجيل. يمكن أن تسمّي مجالًا أو سيناريو أو تفاصيل معينة يعرفها التطبيق بالفعل، ويبلغ طولها الأقصى 6000 محرف. ابدأ بوصف قصير يلائم الصوت، مثل محادثة دعم تقني بشأن جهاز معين. توفّر التعليمة سياقًا للتعرّف؛ وليست طلبًا لإعادة كتابة رسالة المتحدث في مستند مختلف.</p><p>ترجّح قائمة مصطلحات رئيسية منفصلة التعرّف نحو مفردات محددة. يقبل ملف Sync ما يصل إلى 100 مصطلح و8000 محرف عبر تلك القائمة. استخدم تهجئات دقيقة للأسماء غير المعتادة أو الاختصارات أو مصطلحات المنتجات، واترك الكلمات العادية التي يُتعرّف إليها جيدًا خارج القائمة. يمكن لقوائم مصطلحات كبيرة أو غير لازمة أن تسبب تصحيحات مفرطة، لذا ركّز القائمة على الكلمات المهمة في التسجيل. يمكن استخدام وصف السياق وقائمة المفردات معًا.</p><p>يمكن للمحادثة السابقة أيضًا المساعدة في تفسير رد قصير. قدّم العبارات السابقة بالترتيب الزمني من الأقدم إلى الأحدث، بينما يبقى الصوت الحالي الجولة الجاري تفريغها. ميزانية السياق الموثّقة 500 جولة أو 16,000 محرف إجمالًا. وإذا تجاوزت هذه الحدود أو سياق النموذج المتاح، تُزال المدخلات الأقدم أولًا. يفيد ذلك عندما تحتوي إجابة وجيزة على معرّف أو إحالة يأتي معناها من السؤال السابق.</p><p>يوجّه اختيار اللغة التعرّف نحو لغة متوقعة واحدة أو أكثر. تقبل واجهة Sync الحالية 32 رمز لغة، وتستخدم الإنجليزية افتراضيًا عند عدم تقديم اختيار. ولصوت يتناوب بين اللغات، اسرد اللغات المتوقعة. تستبدل تعليمة سياقية مخصصة الإعداد الافتراضي المُدار وتتجاوز التوجيه المنفصل برموز اللغات، لذا سمِّ اللغات المتوقعة داخل تلك التعليمة عندما تحتاج إلى سياق اللغة والسيناريو معًا. أبقِ التفريغ باللغات المنطوقة فعليًا بدلًا من التعامل مع التفريغ بوصفه تعليمة ترجمة.</p><p>يظهر النموذج أيضًا في مسارات تفريغ أخرى لدى AssemblyAI، بينما تخص متطلبات المقاطع القصيرة وحقول النتائج في ملف Sync هذه الواجهة تحديدًا. يضيف سير Dictation لدى الشركة المصنّعة مرحلة منفصلة لتنقيح النص؛ فالتفريغ والرسالة المعاد كتابتها مادتان مختلفتان. احفظ الكلام المتعرّف إليه إذا أنتجت خطوة تحرير أو تلخيص لاحقة نسخة منقّحة، كي تظل الصياغة الأصلية متاحة للمقارنة.</p><p>تشمل المواد المفيدة رسالة صوتية مفرّغة وجولة مكتملة لمساعد ونصًا صوتيًا قصيرًا قابلًا للبحث أو قائمة كلمات موقّتة لواجهة مراجعة. افحص الكلمات الحاسمة مقارنةً بالتسجيل، واحتفظ بأي محاذاة غائبة، وأبقِ المقطع مرتبطًا بالنص المُرجَع. تمنح نتيجة التعرّف الخطوة التالية في التطبيق تفريغًا مدعومًا بمصدر؛ أما الإجابة عن الطلب أو تحرير الرسالة فيخصان سير العمل المحيط.</p>",
  "aboutText": "Universal-3.5 Pro هو نموذج التعرّف على الكلام من AssemblyAI لتحويل الكلام المسجّل إلى نص. في ملف Sync، ينتج مقطع صوتي قصير تفريغًا مكتملًا في استجابة واحدة. يناسب ذلك الرسائل الصوتية ومدخلات الضغط للتحدث والجولات الحوارية المنفصلة التي يعرف التطبيق فيها بالفعل متى ينبغي أن ينتهي التسجيل.\n\nجهّز الصوت في مقطع محدود. تقبل متطلبات Sync لدى AssemblyAI مددًا من 80 مللي ثانية إلى 120 ثانية، بحجم ملف أقصى 40 MB. الصيغ المدعومة WAV أو PCM خام موقّع بدقة 16 بت وترتيب بايتات little-endian. يمكن أن يكون الصوت أحادي القناة أو ستيريو، ويُحوَّل الستيريو داخليًا إلى قناة واحدة. معدلات أخذ العينات المدعومة 8 و16 و22.05 و24 و32 و44.1 و48 kHz. تقدّم ترويسة WAV معدل العينات وعدد القنوات؛ ويحتاج PCM الخام إلى تقديم هاتين القيمتين منفصلتين ضمن إعداد التفريغ.\n\nسجّل العبارة كاملةً وحافظ على بداية الكلام ونهايته سليمتين. من المهام الأصلية المفيدة رسالة صوتية قصيرة لدعم منتج تضم اسم منتج ومعرّف طلب وطلبًا من المتحدث. احتفظ بالمقطع المصدري كي يمكن فحص التفريغ مقارنةً بتلك التفاصيل المهمة. ولتسجيل أطول، جهّز سير عمل مناسبًا للتفريغ الطويل بدلًا من اعتبار حد مدة المقطع القصير ادعاءً بشأن سعة الصوت في النموذج كله.\n\nتتضمن النتيجة التفريغ الكامل وقائمة كلمات مع درجة ثقة لكل كلمة ودرجة ثقة إجمالية بين صفر وواحد. وتوفّر أيضًا مدة الصوت المقدَّم ومعرّف طلب، مما يتيح إبقاء النص مرتبطًا بمقطعه الأصلي. استخدم ثقة الكلمات لتحديد المواضع التي تستحق مراجعة بالاستماع، خصوصًا الأسماء والأرقام ومفردات المجال المهمة للتطبيق.\n\nالطوابع الزمنية للكلمات اختيارية ومعطّلة افتراضيًا. وعند طلبها، يمكن لكل كلمة تمت محاذاتها أن تحمل بدايتها ونهايتها بالمللي ثانية بالنسبة إلى بداية المقطع. يترك ملف الشركة المصنّعة هذه القيم غائبة عندما لا يمكن محاذاة كلمة بدلًا من اختراع توقيت تقريبي. تكون دقة الطوابع الزمنية أفضل للصوت الإنجليزي. احتفظ بالتوقيتات الغائبة صراحةً عند إعداد تمييز الكلمات أو موجة صوتية قابلة للبحث أو محاذاة النصوص المصاحبة، وقارن النص بالتسجيل قبل استخدامه مسارًا مكتملًا للنصوص المصاحبة.\n\nتصف تعليمة سياقية موضوع التسجيل. يمكن أن تسمّي مجالًا أو سيناريو أو تفاصيل معينة يعرفها التطبيق بالفعل، ويبلغ طولها الأقصى 6000 محرف. ابدأ بوصف قصير يلائم الصوت، مثل محادثة دعم تقني بشأن جهاز معين. توفّر التعليمة سياقًا للتعرّف؛ وليست طلبًا لإعادة كتابة رسالة المتحدث في مستند مختلف.\n\nترجّح قائمة مصطلحات رئيسية منفصلة التعرّف نحو مفردات محددة. يقبل ملف Sync ما يصل إلى 100 مصطلح و8000 محرف عبر تلك القائمة. استخدم تهجئات دقيقة للأسماء غير المعتادة أو الاختصارات أو مصطلحات المنتجات، واترك الكلمات العادية التي يُتعرّف إليها جيدًا خارج القائمة. يمكن لقوائم مصطلحات كبيرة أو غير لازمة أن تسبب تصحيحات مفرطة، لذا ركّز القائمة على الكلمات المهمة في التسجيل. يمكن استخدام وصف السياق وقائمة المفردات معًا.\n\nيمكن للمحادثة السابقة أيضًا المساعدة في تفسير رد قصير. قدّم العبارات السابقة بالترتيب الزمني من الأقدم إلى الأحدث، بينما يبقى الصوت الحالي الجولة الجاري تفريغها. ميزانية السياق الموثّقة 500 جولة أو 16,000 محرف إجمالًا. وإذا تجاوزت هذه الحدود أو سياق النموذج المتاح، تُزال المدخلات الأقدم أولًا. يفيد ذلك عندما تحتوي إجابة وجيزة على معرّف أو إحالة يأتي معناها من السؤال السابق.\n\nيوجّه اختيار اللغة التعرّف نحو لغة متوقعة واحدة أو أكثر. تقبل واجهة Sync الحالية 32 رمز لغة، وتستخدم الإنجليزية افتراضيًا عند عدم تقديم اختيار. ولصوت يتناوب بين اللغات، اسرد اللغات المتوقعة. تستبدل تعليمة سياقية مخصصة الإعداد الافتراضي المُدار وتتجاوز التوجيه المنفصل برموز اللغات، لذا سمِّ اللغات المتوقعة داخل تلك التعليمة عندما تحتاج إلى سياق اللغة والسيناريو معًا. أبقِ التفريغ باللغات المنطوقة فعليًا بدلًا من التعامل مع التفريغ بوصفه تعليمة ترجمة.\n\nيظهر النموذج أيضًا في مسارات تفريغ أخرى لدى AssemblyAI، بينما تخص متطلبات المقاطع القصيرة وحقول النتائج في ملف Sync هذه الواجهة تحديدًا. يضيف سير Dictation لدى الشركة المصنّعة مرحلة منفصلة لتنقيح النص؛ فالتفريغ والرسالة المعاد كتابتها مادتان مختلفتان. احفظ الكلام المتعرّف إليه إذا أنتجت خطوة تحرير أو تلخيص لاحقة نسخة منقّحة، كي تظل الصياغة الأصلية متاحة للمقارنة.\n\nتشمل المواد المفيدة رسالة صوتية مفرّغة وجولة مكتملة لمساعد ونصًا صوتيًا قصيرًا قابلًا للبحث أو قائمة كلمات موقّتة لواجهة مراجعة. افحص الكلمات الحاسمة مقارنةً بالتسجيل، واحتفظ بأي محاذاة غائبة، وأبقِ المقطع مرتبطًا بالنص المُرجَع. تمنح نتيجة التعرّف الخطوة التالية في التطبيق تفريغًا مدعومًا بمصدر؛ أما الإجابة عن الطلب أو تحرير الرسالة فيخصان سير العمل المحيط.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0b23d099b4912c0888b52df6c3068b6e60d22206a98927362dfa7b050fa09e29",
    "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\">AssemblyAI: Universal-3.5 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>AssemblyAI /</span><code>assemblyai/universal-3-5-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|assemblyai%2Funiversal-3-5-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\">Universal-3.5 Pro هو نموذج تحويل الكلام إلى نص من AssemblyAI لتحويل مقطع صوتي قصير إلى تفريغ مكتمل في استجابة واحدة. يضيف ملف Sync درجات ثقة للكلمات وطوابع زمنية اختيارية للكلمات وتلميحات مفردات وسياق محادثة سابقة لمدخلات الصوت ومسارات الضغط للتحدث.</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>Universal-3.5 Pro هو نموذج التعرّف على الكلام من AssemblyAI لتحويل الكلام المسجّل إلى نص. في ملف Sync، ينتج مقطع صوتي قصير تفريغًا مكتملًا في استجابة واحدة. يناسب ذلك الرسائل الصوتية ومدخلات الضغط للتحدث والجولات الحوارية المنفصلة التي يعرف التطبيق فيها بالفعل متى ينبغي أن ينتهي التسجيل.</p><p>جهّز الصوت في مقطع محدود. تقبل متطلبات Sync لدى AssemblyAI مددًا من 80 مللي ثانية إلى 120 ثانية، بحجم ملف أقصى 40 MB. الصيغ المدعومة WAV أو PCM خام موقّع بدقة 16 بت وترتيب بايتات little-endian. يمكن أن يكون الصوت أحادي القناة أو ستيريو، ويُحوَّل الستيريو داخليًا إلى قناة واحدة. معدلات أخذ العينات المدعومة 8 و16 و22.05 و24 و32 و44.1 و48 kHz. تقدّم ترويسة WAV معدل العينات وعدد القنوات؛ ويحتاج PCM الخام إلى تقديم هاتين القيمتين منفصلتين ضمن إعداد التفريغ.</p><p>سجّل العبارة كاملةً وحافظ على بداية الكلام ونهايته سليمتين. من المهام الأصلية المفيدة رسالة صوتية قصيرة لدعم منتج تضم اسم منتج ومعرّف طلب وطلبًا من المتحدث. احتفظ بالمقطع المصدري كي يمكن فحص التفريغ مقارنةً بتلك التفاصيل المهمة. ولتسجيل أطول، جهّز سير عمل مناسبًا للتفريغ الطويل بدلًا من اعتبار حد مدة المقطع القصير ادعاءً بشأن سعة الصوت في النموذج كله.</p><p>تتضمن النتيجة التفريغ الكامل وقائمة كلمات مع درجة ثقة لكل كلمة ودرجة ثقة إجمالية بين صفر وواحد. وتوفّر أيضًا مدة الصوت المقدَّم ومعرّف طلب، مما يتيح إبقاء النص مرتبطًا بمقطعه الأصلي. استخدم ثقة الكلمات لتحديد المواضع التي تستحق مراجعة بالاستماع، خصوصًا الأسماء والأرقام ومفردات المجال المهمة للتطبيق.</p><p>الطوابع الزمنية للكلمات اختيارية ومعطّلة افتراضيًا. وعند طلبها، يمكن لكل كلمة تمت محاذاتها أن تحمل بدايتها ونهايتها بالمللي ثانية بالنسبة إلى بداية المقطع. يترك ملف الشركة المصنّعة هذه القيم غائبة عندما لا يمكن محاذاة كلمة بدلًا من اختراع توقيت تقريبي. تكون دقة الطوابع الزمنية أفضل للصوت الإنجليزي. احتفظ بالتوقيتات الغائبة صراحةً عند إعداد تمييز الكلمات أو موجة صوتية قابلة للبحث أو محاذاة النصوص المصاحبة، وقارن النص بالتسجيل قبل استخدامه مسارًا مكتملًا للنصوص المصاحبة.</p><p>تصف تعليمة سياقية موضوع التسجيل. يمكن أن تسمّي مجالًا أو سيناريو أو تفاصيل معينة يعرفها التطبيق بالفعل، ويبلغ طولها الأقصى 6000 محرف. ابدأ بوصف قصير يلائم الصوت، مثل محادثة دعم تقني بشأن جهاز معين. توفّر التعليمة سياقًا للتعرّف؛ وليست طلبًا لإعادة كتابة رسالة المتحدث في مستند مختلف.</p><p>ترجّح قائمة مصطلحات رئيسية منفصلة التعرّف نحو مفردات محددة. يقبل ملف Sync ما يصل إلى 100 مصطلح و8000 محرف عبر تلك القائمة. استخدم تهجئات دقيقة للأسماء غير المعتادة أو الاختصارات أو مصطلحات المنتجات، واترك الكلمات العادية التي يُتعرّف إليها جيدًا خارج القائمة. يمكن لقوائم مصطلحات كبيرة أو غير لازمة أن تسبب تصحيحات مفرطة، لذا ركّز القائمة على الكلمات المهمة في التسجيل. يمكن استخدام وصف السياق وقائمة المفردات معًا.</p><p>يمكن للمحادثة السابقة أيضًا المساعدة في تفسير رد قصير. قدّم العبارات السابقة بالترتيب الزمني من الأقدم إلى الأحدث، بينما يبقى الصوت الحالي الجولة الجاري تفريغها. ميزانية السياق الموثّقة 500 جولة أو 16,000 محرف إجمالًا. وإذا تجاوزت هذه الحدود أو سياق النموذج المتاح، تُزال المدخلات الأقدم أولًا. يفيد ذلك عندما تحتوي إجابة وجيزة على معرّف أو إحالة يأتي معناها من السؤال السابق.</p><p>يوجّه اختيار اللغة التعرّف نحو لغة متوقعة واحدة أو أكثر. تقبل واجهة Sync الحالية 32 رمز لغة، وتستخدم الإنجليزية افتراضيًا عند عدم تقديم اختيار. ولصوت يتناوب بين اللغات، اسرد اللغات المتوقعة. تستبدل تعليمة سياقية مخصصة الإعداد الافتراضي المُدار وتتجاوز التوجيه المنفصل برموز اللغات، لذا سمِّ اللغات المتوقعة داخل تلك التعليمة عندما تحتاج إلى سياق اللغة والسيناريو معًا. أبقِ التفريغ باللغات المنطوقة فعليًا بدلًا من التعامل مع التفريغ بوصفه تعليمة ترجمة.</p><p>يظهر النموذج أيضًا في مسارات تفريغ أخرى لدى AssemblyAI، بينما تخص متطلبات المقاطع القصيرة وحقول النتائج في ملف Sync هذه الواجهة تحديدًا. يضيف سير Dictation لدى الشركة المصنّعة مرحلة منفصلة لتنقيح النص؛ فالتفريغ والرسالة المعاد كتابتها مادتان مختلفتان. احفظ الكلام المتعرّف إليه إذا أنتجت خطوة تحرير أو تلخيص لاحقة نسخة منقّحة، كي تظل الصياغة الأصلية متاحة للمقارنة.</p><p>تشمل المواد المفيدة رسالة صوتية مفرّغة وجولة مكتملة لمساعد ونصًا صوتيًا قصيرًا قابلًا للبحث أو قائمة كلمات موقّتة لواجهة مراجعة. افحص الكلمات الحاسمة مقارنةً بالتسجيل، واحتفظ بأي محاذاة غائبة، وأبقِ المقطع مرتبطًا بالنص المُرجَع. تمنح نتيجة التعرّف الخطوة التالية في التطبيق تفريغًا مدعومًا بمصدر؛ أما الإجابة عن الطلب أو تحرير الرسالة فيخصان سير العمل المحيط.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">متاح في Ailoot · المدخلات والطرائق</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · تفريغ صوتي</b> <code>POST /v1/audio/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></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>الحقل</th><th>النوع</th><th>المتطلب</th><th>القيم والحدود</th><th>القيمة الافتراضية</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>assemblyai/universal-3-5-pro</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">input_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></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>content_type</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>application/json</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>model, input_audio</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><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>material_conditions</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>يقرأ المثال ملف PCM WAV الفعلي غير الفارغ لديك، ويُرمّز جميع بايتات الملف بترميز base64، ويرسل input_audio.format بالقيمة wav.</td></tr></tbody></table></div><p>دورة الحياة: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · قيمة task_id الدقيقة من سجل وسائط موجود مملوك لك</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">الباقات</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.</p><dl data-price-conditions><dt>الوضع السريع</dt><dd>غير محدد <span class=\"note-s\">عند اختيار الوضع السريع</span></dd><dt>الوضع المرن</dt><dd>غير محدد <span class=\"note-s\">عند اختيار وضع flex</span></dd><dt>أقصى جهد للاستدلال</dt><dd>غير محدد <span class=\"note-s\">عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال</span></dd></dl></div><div data-declared-tariff-pricing><h4>تعرفات Ailoot</h4><h4>الأسعار حسب الإعدادات</h4><p class=\"note-s\">طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>جدول التعرفة</th><th>وحدة الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>التعرفات الأساسية للرموز</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>التعرفة الأساسية</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>—</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · رموز الإدخال</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>ثانية صوت مُدخل</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>لكل ثانية صوت مُدخل</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · ثانية صوت مُدخل</span> <b>$0.00025</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></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-1073-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1073-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · ملف WAV الفعلي والنتيجة الأصلية كاملة</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-1073-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1073-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 the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;assemblyai/universal-3-5-pro&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/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 response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\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\">احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">احتفظ بقيمة X-Client-Request-ID الفعلية وبالاستجابة كاملة. اقرأ الأصول الأصلية المملوكة لك وعناوين URL الدقيقة الموقّعة لمحتواها؛ ولا تعِد إرسال طلب إنشاء غير مؤكد النتيجة مطلقاً.</p></div><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>الحقل</th><th>النوع</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"النوع\" data-field-type><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 (when present)</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span></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>متن JSON أو معرّف النموذج المعتمد الصريح غير صالح.</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>⁦401⁩ · <code>authentication_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>مفتاح API الخاص بـAiloot غير صالح.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>استخدم مفتاح API المخوَّل لك في Ailoot.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦403⁩ · <code>permission_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>⁦404⁩ · <code>not_found_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>⁦422⁩ · <code>price_unavailable</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>⁦503⁩ · <code></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>⁦502⁩ · <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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\">استخدم مسارات الطرائق المعروضة أعلاه.</p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "assemblyai/universal-3-5-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|assemblyai%2Funiversal-3-5-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "متن JSON أو معرّف النموذج المعتمد الصريح غير صالح.",
                "http_status": 400,
                "recovery": "احتفظ بالاستجابة وصحّح حقل الطلب المشار إليه.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "مفتاح API الخاص بـAiloot غير صالح.",
                "http_status": 401,
                "recovery": "استخدم مفتاح API المخوَّل لك في Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "مجموعة المفتاح غير مخوّلة لاستخدام هذه الطريقة.",
                "http_status": 403,
                "recovery": "احتفظ بتفاصيل الخطأ المُعادة.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "لا يوجد مسار مسموح به للطريقة المختارة.",
                "http_status": 404,
                "recovery": "احتفظ بتفاصيل الخطأ المُعادة.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "يتعذر على التعرفة المقبولة الحصول على كمية الإدخال المطلوبة أو حدّها.",
                "http_status": 422,
                "recovery": "احتفظ بالاستجابة؛ واستخدم صيغة تمثيل الإدخال التي تتطلبها التعرفة المقبولة.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "التخزين المطلوب أو المسار أو سعر الطريقة أو حجز الرصيد غير متاح.",
                "http_status": 503,
                "recovery": "احتفظ بالاستجابة الأصلية كاملة. حجز الرصيد غير المؤكد لا يمنح الإذن بإعادة الإرسال.",
                "type": null
              },
              {
                "code": null,
                "condition": "تتطلب النتيجة الأصلية أو الاستخدام أو التسوية التحقق.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "احتفظ بمعرّف الطلب الفعلي وبالاستجابة الأصلية. اقرأ السجل الموجود المملوك لك؛ ولا تعِد إرسال طلب الإنشاء.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "احتفظ بقيمة X-Client-Request-ID الفعلية وبالاستجابة كاملة. اقرأ الأصول الأصلية المملوكة لك وعناوين URL الدقيقة الموقّعة لمحتواها؛ ولا تعِد إرسال طلب إنشاء غير مؤكد النتيجة مطلقاً."
            },
            "outputs": {
              "all_results": "احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "متن الاستجابة الأصلي كاملاً، والحالة والترويسات المُمرَّرة. لا يضيف هذا المعالج بنية JSON عامة أو حقل نص أو حاوية مهمة."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "assemblyai/universal-3-5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "assemblyai/universal-3-5-pro"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "يقرأ المثال ملف PCM WAV الفعلي غير الفارغ لديك، ويُرمّز جميع بايتات الملف بترميز base64، ويرسل input_audio.format بالقيمة wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "قيمة task_id الدقيقة من سجل وسائط موجود مملوك لك",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "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.00025",
                "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.00025",
                "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 the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'assemblyai/universal-3-5-pro', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "تفريغ صوتي",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "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.00025
          }
        },
        "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.00025",
                "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.00025",
                "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": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "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.00025",
            "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": "assemblyai/universal-3-5-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "9b377348587d6758e4078110773357f4c1fa2d9e2aa89b4a68db0579cf73cd8b",
    "input_html_sha256": "dba33ff22d544ad778401f7c812718e78b2a6f6ab151ce5984250a66d6af9861",
    "private_audit_sha256": "01c2a217f396a0f440bd04823e0e621081b363ee99ebc4fc7b253ef758850fd8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/assemblyai-universal-3-5-pro/",
    "description": "Universal-3.5 Pro هو نموذج تحويل الكلام إلى نص من AssemblyAI لتحويل مقطع صوتي قصير إلى تفريغ مكتمل في استجابة واحدة. يضيف ملف Sync درجات ثقة للكلمات وطوابع زمنية اختيارية للكلمات وتلميحات مفردات وسياق محادثة سابقة لمدخلات الصوت ومسارات الضغط للتحدث.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/assemblyai-universal-3-5-pro/index.md",
    "title": "AssemblyAI: Universal-3.5 Pro — Ailoot",
    "url": "https://ailoot.ai/models/ar/assemblyai-universal-3-5-pro/"
  },
  "rawModel": {
    "about": "Universal-3.5 Pro هو نموذج التعرّف على الكلام من AssemblyAI لتحويل الكلام المسجّل إلى نص. في ملف Sync، ينتج مقطع صوتي قصير تفريغًا مكتملًا في استجابة واحدة. يناسب ذلك الرسائل الصوتية ومدخلات الضغط للتحدث والجولات الحوارية المنفصلة التي يعرف التطبيق فيها بالفعل متى ينبغي أن ينتهي التسجيل.\n\nجهّز الصوت في مقطع محدود. تقبل متطلبات Sync لدى AssemblyAI مددًا من 80 مللي ثانية إلى 120 ثانية، بحجم ملف أقصى 40 MB. الصيغ المدعومة WAV أو PCM خام موقّع بدقة 16 بت وترتيب بايتات little-endian. يمكن أن يكون الصوت أحادي القناة أو ستيريو، ويُحوَّل الستيريو داخليًا إلى قناة واحدة. معدلات أخذ العينات المدعومة 8 و16 و22.05 و24 و32 و44.1 و48 kHz. تقدّم ترويسة WAV معدل العينات وعدد القنوات؛ ويحتاج PCM الخام إلى تقديم هاتين القيمتين منفصلتين ضمن إعداد التفريغ.\n\nسجّل العبارة كاملةً وحافظ على بداية الكلام ونهايته سليمتين. من المهام الأصلية المفيدة رسالة صوتية قصيرة لدعم منتج تضم اسم منتج ومعرّف طلب وطلبًا من المتحدث. احتفظ بالمقطع المصدري كي يمكن فحص التفريغ مقارنةً بتلك التفاصيل المهمة. ولتسجيل أطول، جهّز سير عمل مناسبًا للتفريغ الطويل بدلًا من اعتبار حد مدة المقطع القصير ادعاءً بشأن سعة الصوت في النموذج كله.\n\nتتضمن النتيجة التفريغ الكامل وقائمة كلمات مع درجة ثقة لكل كلمة ودرجة ثقة إجمالية بين صفر وواحد. وتوفّر أيضًا مدة الصوت المقدَّم ومعرّف طلب، مما يتيح إبقاء النص مرتبطًا بمقطعه الأصلي. استخدم ثقة الكلمات لتحديد المواضع التي تستحق مراجعة بالاستماع، خصوصًا الأسماء والأرقام ومفردات المجال المهمة للتطبيق.\n\nالطوابع الزمنية للكلمات اختيارية ومعطّلة افتراضيًا. وعند طلبها، يمكن لكل كلمة تمت محاذاتها أن تحمل بدايتها ونهايتها بالمللي ثانية بالنسبة إلى بداية المقطع. يترك ملف الشركة المصنّعة هذه القيم غائبة عندما لا يمكن محاذاة كلمة بدلًا من اختراع توقيت تقريبي. تكون دقة الطوابع الزمنية أفضل للصوت الإنجليزي. احتفظ بالتوقيتات الغائبة صراحةً عند إعداد تمييز الكلمات أو موجة صوتية قابلة للبحث أو محاذاة النصوص المصاحبة، وقارن النص بالتسجيل قبل استخدامه مسارًا مكتملًا للنصوص المصاحبة.\n\nتصف تعليمة سياقية موضوع التسجيل. يمكن أن تسمّي مجالًا أو سيناريو أو تفاصيل معينة يعرفها التطبيق بالفعل، ويبلغ طولها الأقصى 6000 محرف. ابدأ بوصف قصير يلائم الصوت، مثل محادثة دعم تقني بشأن جهاز معين. توفّر التعليمة سياقًا للتعرّف؛ وليست طلبًا لإعادة كتابة رسالة المتحدث في مستند مختلف.\n\nترجّح قائمة مصطلحات رئيسية منفصلة التعرّف نحو مفردات محددة. يقبل ملف Sync ما يصل إلى 100 مصطلح و8000 محرف عبر تلك القائمة. استخدم تهجئات دقيقة للأسماء غير المعتادة أو الاختصارات أو مصطلحات المنتجات، واترك الكلمات العادية التي يُتعرّف إليها جيدًا خارج القائمة. يمكن لقوائم مصطلحات كبيرة أو غير لازمة أن تسبب تصحيحات مفرطة، لذا ركّز القائمة على الكلمات المهمة في التسجيل. يمكن استخدام وصف السياق وقائمة المفردات معًا.\n\nيمكن للمحادثة السابقة أيضًا المساعدة في تفسير رد قصير. قدّم العبارات السابقة بالترتيب الزمني من الأقدم إلى الأحدث، بينما يبقى الصوت الحالي الجولة الجاري تفريغها. ميزانية السياق الموثّقة 500 جولة أو 16,000 محرف إجمالًا. وإذا تجاوزت هذه الحدود أو سياق النموذج المتاح، تُزال المدخلات الأقدم أولًا. يفيد ذلك عندما تحتوي إجابة وجيزة على معرّف أو إحالة يأتي معناها من السؤال السابق.\n\nيوجّه اختيار اللغة التعرّف نحو لغة متوقعة واحدة أو أكثر. تقبل واجهة Sync الحالية 32 رمز لغة، وتستخدم الإنجليزية افتراضيًا عند عدم تقديم اختيار. ولصوت يتناوب بين اللغات، اسرد اللغات المتوقعة. تستبدل تعليمة سياقية مخصصة الإعداد الافتراضي المُدار وتتجاوز التوجيه المنفصل برموز اللغات، لذا سمِّ اللغات المتوقعة داخل تلك التعليمة عندما تحتاج إلى سياق اللغة والسيناريو معًا. أبقِ التفريغ باللغات المنطوقة فعليًا بدلًا من التعامل مع التفريغ بوصفه تعليمة ترجمة.\n\nيظهر النموذج أيضًا في مسارات تفريغ أخرى لدى AssemblyAI، بينما تخص متطلبات المقاطع القصيرة وحقول النتائج في ملف Sync هذه الواجهة تحديدًا. يضيف سير Dictation لدى الشركة المصنّعة مرحلة منفصلة لتنقيح النص؛ فالتفريغ والرسالة المعاد كتابتها مادتان مختلفتان. احفظ الكلام المتعرّف إليه إذا أنتجت خطوة تحرير أو تلخيص لاحقة نسخة منقّحة، كي تظل الصياغة الأصلية متاحة للمقارنة.\n\nتشمل المواد المفيدة رسالة صوتية مفرّغة وجولة مكتملة لمساعد ونصًا صوتيًا قصيرًا قابلًا للبحث أو قائمة كلمات موقّتة لواجهة مراجعة. افحص الكلمات الحاسمة مقارنةً بالتسجيل، واحتفظ بأي محاذاة غائبة، وأبقِ المقطع مرتبطًا بالنص المُرجَع. تمنح نتيجة التعرّف الخطوة التالية في التطبيق تفريغًا مدعومًا بمصدر؛ أما الإجابة عن الطلب أو تحرير الرسالة فيخصان سير العمل المحيط.",
    "alias_of": null,
    "aliases": [],
    "author": "AssemblyAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00025",
            "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.00025",
            "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,
    "formats": [
      "transcriptions"
    ],
    "id": "assemblyai/universal-3-5-pro",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "متن JSON أو معرّف النموذج المعتمد الصريح غير صالح.",
                "http_status": 400,
                "recovery": "احتفظ بالاستجابة وصحّح حقل الطلب المشار إليه.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "مفتاح API الخاص بـAiloot غير صالح.",
                "http_status": 401,
                "recovery": "استخدم مفتاح API المخوَّل لك في Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "مجموعة المفتاح غير مخوّلة لاستخدام هذه الطريقة.",
                "http_status": 403,
                "recovery": "احتفظ بتفاصيل الخطأ المُعادة.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "لا يوجد مسار مسموح به للطريقة المختارة.",
                "http_status": 404,
                "recovery": "احتفظ بتفاصيل الخطأ المُعادة.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "يتعذر على التعرفة المقبولة الحصول على كمية الإدخال المطلوبة أو حدّها.",
                "http_status": 422,
                "recovery": "احتفظ بالاستجابة؛ واستخدم صيغة تمثيل الإدخال التي تتطلبها التعرفة المقبولة.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "التخزين المطلوب أو المسار أو سعر الطريقة أو حجز الرصيد غير متاح.",
                "http_status": 503,
                "recovery": "احتفظ بالاستجابة الأصلية كاملة. حجز الرصيد غير المؤكد لا يمنح الإذن بإعادة الإرسال.",
                "type": null
              },
              {
                "code": null,
                "condition": "تتطلب النتيجة الأصلية أو الاستخدام أو التسوية التحقق.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "احتفظ بمعرّف الطلب الفعلي وبالاستجابة الأصلية. اقرأ السجل الموجود المملوك لك؛ ولا تعِد إرسال طلب الإنشاء.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "احتفظ بقيمة X-Client-Request-ID الفعلية وبالاستجابة كاملة. اقرأ الأصول الأصلية المملوكة لك وعناوين URL الدقيقة الموقّعة لمحتواها؛ ولا تعِد إرسال طلب إنشاء غير مؤكد النتيجة مطلقاً."
            },
            "outputs": {
              "all_results": "احتفظ بالاستجابة كاملة وبجميع الترويسات، وبكل مخرج فعلي، وبالمعرّفات الأصلية المُعادة، وبجميع حقول الاستخدام. استعد العملية الأصلية دون إرسال طلب الإنشاء مجددًا.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "متن الاستجابة الأصلي كاملاً، والحالة والترويسات المُمرَّرة. لا يضيف هذا المعالج بنية JSON عامة أو حقل نص أو حاوية مهمة."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "assemblyai/universal-3-5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "assemblyai/universal-3-5-pro"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "يقرأ المثال ملف PCM WAV الفعلي غير الفارغ لديك، ويُرمّز جميع بايتات الملف بترميز base64، ويرسل input_audio.format بالقيمة wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "قيمة task_id الدقيقة من سجل وسائط موجود مملوك لك",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "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.00025",
                "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.00025",
                "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 the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'assemblyai/universal-3-5-pro', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "تفريغ صوتي",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "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.00025
          }
        },
        "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.00025",
                "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.00025",
                "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": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "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.00025",
            "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": "assemblyai/universal-3-5-pro",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "AssemblyAI: Universal-3.5 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Universal-3.5 Pro هو نموذج تحويل الكلام إلى نص من AssemblyAI لتحويل مقطع صوتي قصير إلى تفريغ مكتمل في استجابة واحدة. يضيف ملف Sync درجات ثقة للكلمات وطوابع زمنية اختيارية للكلمات وتلميحات مفردات وسياق محادثة سابقة لمدخلات الصوت ومسارات الضغط للتحدث."
  },
  "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": "Universal-3.5 Pro هو نموذج تحويل الكلام إلى نص من AssemblyAI لتحويل مقطع صوتي قصير إلى تفريغ مكتمل في استجابة واحدة. يضيف ملف Sync درجات ثقة للكلمات وطوابع زمنية اختيارية للكلمات وتلميحات مفردات وسياق محادثة سابقة لمدخلات الصوت ومسارات الضغط للتحدث.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9186f1a7b09472bc628ba425d9728aa24ea88747b76fb46437f90f48e1948a5a",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "38d825cbe606e49d35ae73221d17c9ffa87f491b29eaa8b75d3dbde8cf556cb3"
}
