{
  "aboutHtml": "<p>Transcribe 1 הוא מודל הדיבור־לטקסט הכללי של Fish Audio להקלטות קצרות. הוא מקבל קובץ אודיו ומחזיר את המילים שזוהו כטקסט, לצד משך ההקלטה, מקטעים מתוזמנים לפי בחירה ומידע על השפה כשהוא ידוע. מודל זה שימושי להודעה קולית קצרה, להוראה מדוברת, לקטע מתוך הקלטה או לקליפ אודיו הזקוק לייצוג טקסט קריא.</p><p>בתהליך לדוגמה של הודעה קולית שומרים את ההקלטה יחד עם התמליל המלא שלה ומזהה הקטע המקורי. שלב מאוחר יותר ביישום יכול לחפש בטקסט, לארגן את ההערה או לפתח סיכום תוך שמירה על המקור המדובר. בפקודה, התמליל מספק ליישום מילים שזוהו; כל פעולה היא שלב נפרד של פירוש וביצוע. בקטע ריאיון, תעדו את מיקום הקטע באודיו המלא כדי שאפשר יהיה לבדוק ציטוט במקום הנכון.</p><p>היצרן מקבל WAV,‏ MP3,‏ AAC כולל M4A/MP4,‏ FLAC ו־Ogg המכיל Opus או Vorbis. יש להמיר הקלטות דפדפן ב־WebM ל־Ogg/Opus,‏ MP3 או WAV עבור מודל זה; ב־Pro מתועדת תמיכה מובנית במכלים נוספים. ספקו קובץ אודיו אחד בכל בקשה. מכסת הבקשה המתועדת של מודל הבסיס היא עד 50 MiB, כאשר קובצי MP3 ו־Opus צריכים להישאר מתחת ל־25 MiB. גודל הקובץ ואורך ההקלטה הם שיקולים נפרדים: קובץ דחוס יכול להתאים למכסת ההעלאה ובכל זאת לדרוש זמן עיבוד ארוך מדי.</p><p>Transcribe 1 מיועד להקלטות קצרות. היצרן ממליץ על Pro לאודיו שאורכו יותר מכמה דקות; בקשה ארוכה במודל הבסיס עלולה להיכשל אם היא חורגת ממגבלת זמן העיבוד. בהכנת מקור ארוך יותר לתמלול בקטעים קצרים, שמרו את היסט ההתחלה של כל קטע וודאו שהתמליל שהוחזר מכסה את הקטע המלא לפני איחוד התוצאות. הוסיפו את ההיסט המקורי לזמנים המקומיים של המקטעים כדי שהניווט יישאר מקושר להקלטה המלאה. אין לפרש את ההנחיות למודל הבסיס כמכסת 60 הדקות הנפרדת של Pro.</p><p>תגובת היצרן כוללת טקסט, משך ומקטעים. המשך מבוטא בשניות, ויש לשמור את התמליל המלא הקריא כנוסח הראשי של הקטע. חותמות זמן הן אופציונליות: ignore_timestamps מוגדר כברירת מחדל ל־true ב־API של היצרן, ואילו false מבקש מקטעים ברמת המילה עם טקסט וזמני התחלה וסיום בשניות. בקשת יישור זמנים מוסיפה זמן עיבוד. מערך segments ריק יכול לשקף דילוג על תזמון, היעדר דיבור או יישור שאינו זמין זמנית, ולכן אין לפרש אותו אוטומטית כתמליל מלא ריק.</p><p>המקטעים הם בדרך כלל מילים, או תו אחד או כמה תווים בסינית וביפנית. הטקסט שלהם משמיט פיסוק ועשוי לנרמל ערך באופן שונה מהתמליל המלא; הוא אינו העתק תו־לתו של התגובה הקריאה. למקטע יכולים להיות זמן התחלה וזמן סיום זהים. השתמשו במקטעים למציאת מיקום בהקלטה או להכנת תצוגה מתוזמנת, ובטקסט המלא כאשר הניסוח והפיסוק חשובים. שמרו על הבחנה בין שני הייצוגים האלה בתוצר.</p><p>השפה מזוהה אוטומטית, בין שסופק רמז שפה אופציונלי ובין שלא. היצרן מתעד קודי ISO 639-1 באותיות קטנות לרמזים, ומחזיר קוד שפה ללוגיקת היישום יחד עם שם שפה להצגה, כשהם ידועים. התגובה מדווחת על שפה אחת, ולא על כל השפות בהקלטה שעוברת ביניהן. שמרו את נוסח המקור ואת מטא־נתוני השפה הזמינים עם התוצאה, במקום להתייחס לבקשת התמלול כאל פעולת תרגום.</p><p>בתהליך הכנת כתוביות, קבצו מקטעים מתוזמנים רצופים ליחידות כתובית קריאות במקום להציג מילה אחת בכל פעם. פלט שימושי הוא קובץ SRT או WebVTT המקושר לקטע המקורי, עם גבולות כתוביות המתאימים להפסקות וכמות טקסט סבירה על המסך. בדקו תזמון חסר וודאו שסיום כל כתובית מאוחר מהתחלתה. קיבוץ כתוביות ועיצוב הקובץ הם שלבי יישום הנבנים על יישור הזמנים שהוחזר, ובחירות התצוגה צריכות להתאים לנגן ולקהל.</p><p>הבקרות המתועדות של Transcribe 1 הן אודיו, רמז שפה ובחירת חותמות הזמן. סמני הדוברים, תורות הדיבור המובנים, בקרות אירועי הרגש ורמזי מספר הדוברים של Pro הם תכונות נפרדות; הם אינם חלק מחוזה התגובה המתועד של מודל הבסיס הזה. בחרו את התוצר הדרוש לפני העיבוד: טקסט קריא פשוט להערה, או טקסט יחד עם יישור זמנים לניווט בהשמעה ולכתוביות. שמירת מזהה הקטע, התמליל וכל תזמון זמין הופכת את התוצאה לשימושית בשלב הבא של היישום.</p>",
  "aboutText": "Transcribe 1 הוא מודל הדיבור־לטקסט הכללי של Fish Audio להקלטות קצרות. הוא מקבל קובץ אודיו ומחזיר את המילים שזוהו כטקסט, לצד משך ההקלטה, מקטעים מתוזמנים לפי בחירה ומידע על השפה כשהוא ידוע. מודל זה שימושי להודעה קולית קצרה, להוראה מדוברת, לקטע מתוך הקלטה או לקליפ אודיו הזקוק לייצוג טקסט קריא.\n\nבתהליך לדוגמה של הודעה קולית שומרים את ההקלטה יחד עם התמליל המלא שלה ומזהה הקטע המקורי. שלב מאוחר יותר ביישום יכול לחפש בטקסט, לארגן את ההערה או לפתח סיכום תוך שמירה על המקור המדובר. בפקודה, התמליל מספק ליישום מילים שזוהו; כל פעולה היא שלב נפרד של פירוש וביצוע. בקטע ריאיון, תעדו את מיקום הקטע באודיו המלא כדי שאפשר יהיה לבדוק ציטוט במקום הנכון.\n\nהיצרן מקבל WAV,‏ MP3,‏ AAC כולל M4A/MP4,‏ FLAC ו־Ogg המכיל Opus או Vorbis. יש להמיר הקלטות דפדפן ב־WebM ל־Ogg/Opus,‏ MP3 או WAV עבור מודל זה; ב־Pro מתועדת תמיכה מובנית במכלים נוספים. ספקו קובץ אודיו אחד בכל בקשה. מכסת הבקשה המתועדת של מודל הבסיס היא עד 50 MiB, כאשר קובצי MP3 ו־Opus צריכים להישאר מתחת ל־25 MiB. גודל הקובץ ואורך ההקלטה הם שיקולים נפרדים: קובץ דחוס יכול להתאים למכסת ההעלאה ובכל זאת לדרוש זמן עיבוד ארוך מדי.\n\nTranscribe 1 מיועד להקלטות קצרות. היצרן ממליץ על Pro לאודיו שאורכו יותר מכמה דקות; בקשה ארוכה במודל הבסיס עלולה להיכשל אם היא חורגת ממגבלת זמן העיבוד. בהכנת מקור ארוך יותר לתמלול בקטעים קצרים, שמרו את היסט ההתחלה של כל קטע וודאו שהתמליל שהוחזר מכסה את הקטע המלא לפני איחוד התוצאות. הוסיפו את ההיסט המקורי לזמנים המקומיים של המקטעים כדי שהניווט יישאר מקושר להקלטה המלאה. אין לפרש את ההנחיות למודל הבסיס כמכסת 60 הדקות הנפרדת של Pro.\n\nתגובת היצרן כוללת טקסט, משך ומקטעים. המשך מבוטא בשניות, ויש לשמור את התמליל המלא הקריא כנוסח הראשי של הקטע. חותמות זמן הן אופציונליות: ignore_timestamps מוגדר כברירת מחדל ל־true ב־API של היצרן, ואילו false מבקש מקטעים ברמת המילה עם טקסט וזמני התחלה וסיום בשניות. בקשת יישור זמנים מוסיפה זמן עיבוד. מערך segments ריק יכול לשקף דילוג על תזמון, היעדר דיבור או יישור שאינו זמין זמנית, ולכן אין לפרש אותו אוטומטית כתמליל מלא ריק.\n\nהמקטעים הם בדרך כלל מילים, או תו אחד או כמה תווים בסינית וביפנית. הטקסט שלהם משמיט פיסוק ועשוי לנרמל ערך באופן שונה מהתמליל המלא; הוא אינו העתק תו־לתו של התגובה הקריאה. למקטע יכולים להיות זמן התחלה וזמן סיום זהים. השתמשו במקטעים למציאת מיקום בהקלטה או להכנת תצוגה מתוזמנת, ובטקסט המלא כאשר הניסוח והפיסוק חשובים. שמרו על הבחנה בין שני הייצוגים האלה בתוצר.\n\nהשפה מזוהה אוטומטית, בין שסופק רמז שפה אופציונלי ובין שלא. היצרן מתעד קודי ISO 639-1 באותיות קטנות לרמזים, ומחזיר קוד שפה ללוגיקת היישום יחד עם שם שפה להצגה, כשהם ידועים. התגובה מדווחת על שפה אחת, ולא על כל השפות בהקלטה שעוברת ביניהן. שמרו את נוסח המקור ואת מטא־נתוני השפה הזמינים עם התוצאה, במקום להתייחס לבקשת התמלול כאל פעולת תרגום.\n\nבתהליך הכנת כתוביות, קבצו מקטעים מתוזמנים רצופים ליחידות כתובית קריאות במקום להציג מילה אחת בכל פעם. פלט שימושי הוא קובץ SRT או WebVTT המקושר לקטע המקורי, עם גבולות כתוביות המתאימים להפסקות וכמות טקסט סבירה על המסך. בדקו תזמון חסר וודאו שסיום כל כתובית מאוחר מהתחלתה. קיבוץ כתוביות ועיצוב הקובץ הם שלבי יישום הנבנים על יישור הזמנים שהוחזר, ובחירות התצוגה צריכות להתאים לנגן ולקהל.\n\nהבקרות המתועדות של Transcribe 1 הן אודיו, רמז שפה ובחירת חותמות הזמן. סמני הדוברים, תורות הדיבור המובנים, בקרות אירועי הרגש ורמזי מספר הדוברים של Pro הם תכונות נפרדות; הם אינם חלק מחוזה התגובה המתועד של מודל הבסיס הזה. בחרו את התוצר הדרוש לפני העיבוד: טקסט קריא פשוט להערה, או טקסט יחד עם יישור זמנים לניווט בהשמעה ולכתוביות. שמירת מזהה הקטע, התמליל וכל תזמון זמין הופכת את התוצאה לשימושית בשלב הבא של היישום.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "7c2303dc50c85634050c0ac2b00d89a2c858cdfc68ba6ffef110b5b23ba9d4bf",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "he",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1</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</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\">זיהוי</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 ממיר הקלטות אודיו קצרות לטקסט, עם זיהוי שפה אוטומטי וחותמות זמן אופציונליות ברמת המילה. השתמשו בתמליל להודעות קוליות, לקטעים שניתן לחפש בהם או להכנת כתוביות, תוך הפרדה בין מקטעים מתוזמנים לטקסט המלא הקריא.</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 הוא מודל הדיבור־לטקסט הכללי של Fish Audio להקלטות קצרות. הוא מקבל קובץ אודיו ומחזיר את המילים שזוהו כטקסט, לצד משך ההקלטה, מקטעים מתוזמנים לפי בחירה ומידע על השפה כשהוא ידוע. מודל זה שימושי להודעה קולית קצרה, להוראה מדוברת, לקטע מתוך הקלטה או לקליפ אודיו הזקוק לייצוג טקסט קריא.</p><p>בתהליך לדוגמה של הודעה קולית שומרים את ההקלטה יחד עם התמליל המלא שלה ומזהה הקטע המקורי. שלב מאוחר יותר ביישום יכול לחפש בטקסט, לארגן את ההערה או לפתח סיכום תוך שמירה על המקור המדובר. בפקודה, התמליל מספק ליישום מילים שזוהו; כל פעולה היא שלב נפרד של פירוש וביצוע. בקטע ריאיון, תעדו את מיקום הקטע באודיו המלא כדי שאפשר יהיה לבדוק ציטוט במקום הנכון.</p><p>היצרן מקבל WAV,‏ MP3,‏ AAC כולל M4A/MP4,‏ FLAC ו־Ogg המכיל Opus או Vorbis. יש להמיר הקלטות דפדפן ב־WebM ל־Ogg/Opus,‏ MP3 או WAV עבור מודל זה; ב־Pro מתועדת תמיכה מובנית במכלים נוספים. ספקו קובץ אודיו אחד בכל בקשה. מכסת הבקשה המתועדת של מודל הבסיס היא עד 50 MiB, כאשר קובצי MP3 ו־Opus צריכים להישאר מתחת ל־25 MiB. גודל הקובץ ואורך ההקלטה הם שיקולים נפרדים: קובץ דחוס יכול להתאים למכסת ההעלאה ובכל זאת לדרוש זמן עיבוד ארוך מדי.</p><p>Transcribe 1 מיועד להקלטות קצרות. היצרן ממליץ על Pro לאודיו שאורכו יותר מכמה דקות; בקשה ארוכה במודל הבסיס עלולה להיכשל אם היא חורגת ממגבלת זמן העיבוד. בהכנת מקור ארוך יותר לתמלול בקטעים קצרים, שמרו את היסט ההתחלה של כל קטע וודאו שהתמליל שהוחזר מכסה את הקטע המלא לפני איחוד התוצאות. הוסיפו את ההיסט המקורי לזמנים המקומיים של המקטעים כדי שהניווט יישאר מקושר להקלטה המלאה. אין לפרש את ההנחיות למודל הבסיס כמכסת 60 הדקות הנפרדת של Pro.</p><p>תגובת היצרן כוללת טקסט, משך ומקטעים. המשך מבוטא בשניות, ויש לשמור את התמליל המלא הקריא כנוסח הראשי של הקטע. חותמות זמן הן אופציונליות: ignore_timestamps מוגדר כברירת מחדל ל־true ב־API של היצרן, ואילו false מבקש מקטעים ברמת המילה עם טקסט וזמני התחלה וסיום בשניות. בקשת יישור זמנים מוסיפה זמן עיבוד. מערך segments ריק יכול לשקף דילוג על תזמון, היעדר דיבור או יישור שאינו זמין זמנית, ולכן אין לפרש אותו אוטומטית כתמליל מלא ריק.</p><p>המקטעים הם בדרך כלל מילים, או תו אחד או כמה תווים בסינית וביפנית. הטקסט שלהם משמיט פיסוק ועשוי לנרמל ערך באופן שונה מהתמליל המלא; הוא אינו העתק תו־לתו של התגובה הקריאה. למקטע יכולים להיות זמן התחלה וזמן סיום זהים. השתמשו במקטעים למציאת מיקום בהקלטה או להכנת תצוגה מתוזמנת, ובטקסט המלא כאשר הניסוח והפיסוק חשובים. שמרו על הבחנה בין שני הייצוגים האלה בתוצר.</p><p>השפה מזוהה אוטומטית, בין שסופק רמז שפה אופציונלי ובין שלא. היצרן מתעד קודי ISO 639-1 באותיות קטנות לרמזים, ומחזיר קוד שפה ללוגיקת היישום יחד עם שם שפה להצגה, כשהם ידועים. התגובה מדווחת על שפה אחת, ולא על כל השפות בהקלטה שעוברת ביניהן. שמרו את נוסח המקור ואת מטא־נתוני השפה הזמינים עם התוצאה, במקום להתייחס לבקשת התמלול כאל פעולת תרגום.</p><p>בתהליך הכנת כתוביות, קבצו מקטעים מתוזמנים רצופים ליחידות כתובית קריאות במקום להציג מילה אחת בכל פעם. פלט שימושי הוא קובץ SRT או WebVTT המקושר לקטע המקורי, עם גבולות כתוביות המתאימים להפסקות וכמות טקסט סבירה על המסך. בדקו תזמון חסר וודאו שסיום כל כתובית מאוחר מהתחלתה. קיבוץ כתוביות ועיצוב הקובץ הם שלבי יישום הנבנים על יישור הזמנים שהוחזר, ובחירות התצוגה צריכות להתאים לנגן ולקהל.</p><p>הבקרות המתועדות של Transcribe 1 הן אודיו, רמז שפה ובחירת חותמות הזמן. סמני הדוברים, תורות הדיבור המובנים, בקרות אירועי הרגש ורמזי מספר הדוברים של Pro הם תכונות נפרדות; הם אינם חלק מחוזה התגובה המתועד של מודל הבסיס הזה. בחרו את התוצר הדרוש לפני העיבוד: טקסט קריא פשוט להערה, או טקסט יחד עם יישור זמנים לניווט בהשמעה ולכתוביות. שמירת מזהה הקטע, התמליל וכל תזמון זמין הופכת את התוצאה לשימושית בשלב הבא של היישום.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · תמלול</b> <code>POST /v1/audio/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>fish-audio/transcribe-1</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">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>מצב Flex</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/he/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-1361-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1361-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-1361-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1361-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;fish-audio/transcribe-1&#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 הממשי ואת התגובה המלאה. יש לקרוא את הנכסים המקוריים שבבעלותכם ואת כתובות התוכן החתומות המדויקות שלהם; אין לשלוח שוב בקשת יצירה שתוצאתה אינה ודאית.</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=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</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&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1",
      "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 הממשי ואת התגובה המלאה. יש לקרוא את הנכסים המקוריים שבבעלותכם ואת כתובות התוכן החתומות המדויקות שלהם; אין לשלוח שוב בקשת יצירה שתוצאתה אינה ודאית."
            },
            "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": [
                  "fish-audio/transcribe-1"
                ],
                "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": [
                    "fish-audio/transcribe-1"
                  ],
                  "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": "fish-audio/transcribe-1"
              },
              "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.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 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': 'fish-audio/transcribe-1', '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.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",
        "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.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",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0dc09f20d08aff1254210e431dc3cfa680bf1a6bc23f1c2e79f35f4d533f0d28",
    "input_html_sha256": "df806158b60dbcd8fc771e0aa7011679e1f8a67055cbaf5bcfe77146290f710b",
    "private_audit_sha256": "14fa9dbe024dc6f0041779d555501a6104d1d8bde8865cb995983fb8a326437b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/fish-audio-transcribe-1/",
    "description": "Transcribe 1 ממיר הקלטות אודיו קצרות לטקסט, עם זיהוי שפה אוטומטי וחותמות זמן אופציונליות ברמת המילה. השתמשו בתמליל להודעות קוליות, לקטעים שניתן לחפש בהם או להכנת כתוביות, תוך הפרדה בין מקטעים מתוזמנים לטקסט המלא הקריא.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/fish-audio-transcribe-1/index.md",
    "title": "Fish Audio: Transcribe 1 — Ailoot",
    "url": "https://ailoot.ai/models/he/fish-audio-transcribe-1/"
  },
  "rawModel": {
    "about": "Transcribe 1 הוא מודל הדיבור־לטקסט הכללי של Fish Audio להקלטות קצרות. הוא מקבל קובץ אודיו ומחזיר את המילים שזוהו כטקסט, לצד משך ההקלטה, מקטעים מתוזמנים לפי בחירה ומידע על השפה כשהוא ידוע. מודל זה שימושי להודעה קולית קצרה, להוראה מדוברת, לקטע מתוך הקלטה או לקליפ אודיו הזקוק לייצוג טקסט קריא.\n\nבתהליך לדוגמה של הודעה קולית שומרים את ההקלטה יחד עם התמליל המלא שלה ומזהה הקטע המקורי. שלב מאוחר יותר ביישום יכול לחפש בטקסט, לארגן את ההערה או לפתח סיכום תוך שמירה על המקור המדובר. בפקודה, התמליל מספק ליישום מילים שזוהו; כל פעולה היא שלב נפרד של פירוש וביצוע. בקטע ריאיון, תעדו את מיקום הקטע באודיו המלא כדי שאפשר יהיה לבדוק ציטוט במקום הנכון.\n\nהיצרן מקבל WAV,‏ MP3,‏ AAC כולל M4A/MP4,‏ FLAC ו־Ogg המכיל Opus או Vorbis. יש להמיר הקלטות דפדפן ב־WebM ל־Ogg/Opus,‏ MP3 או WAV עבור מודל זה; ב־Pro מתועדת תמיכה מובנית במכלים נוספים. ספקו קובץ אודיו אחד בכל בקשה. מכסת הבקשה המתועדת של מודל הבסיס היא עד 50 MiB, כאשר קובצי MP3 ו־Opus צריכים להישאר מתחת ל־25 MiB. גודל הקובץ ואורך ההקלטה הם שיקולים נפרדים: קובץ דחוס יכול להתאים למכסת ההעלאה ובכל זאת לדרוש זמן עיבוד ארוך מדי.\n\nTranscribe 1 מיועד להקלטות קצרות. היצרן ממליץ על Pro לאודיו שאורכו יותר מכמה דקות; בקשה ארוכה במודל הבסיס עלולה להיכשל אם היא חורגת ממגבלת זמן העיבוד. בהכנת מקור ארוך יותר לתמלול בקטעים קצרים, שמרו את היסט ההתחלה של כל קטע וודאו שהתמליל שהוחזר מכסה את הקטע המלא לפני איחוד התוצאות. הוסיפו את ההיסט המקורי לזמנים המקומיים של המקטעים כדי שהניווט יישאר מקושר להקלטה המלאה. אין לפרש את ההנחיות למודל הבסיס כמכסת 60 הדקות הנפרדת של Pro.\n\nתגובת היצרן כוללת טקסט, משך ומקטעים. המשך מבוטא בשניות, ויש לשמור את התמליל המלא הקריא כנוסח הראשי של הקטע. חותמות זמן הן אופציונליות: ignore_timestamps מוגדר כברירת מחדל ל־true ב־API של היצרן, ואילו false מבקש מקטעים ברמת המילה עם טקסט וזמני התחלה וסיום בשניות. בקשת יישור זמנים מוסיפה זמן עיבוד. מערך segments ריק יכול לשקף דילוג על תזמון, היעדר דיבור או יישור שאינו זמין זמנית, ולכן אין לפרש אותו אוטומטית כתמליל מלא ריק.\n\nהמקטעים הם בדרך כלל מילים, או תו אחד או כמה תווים בסינית וביפנית. הטקסט שלהם משמיט פיסוק ועשוי לנרמל ערך באופן שונה מהתמליל המלא; הוא אינו העתק תו־לתו של התגובה הקריאה. למקטע יכולים להיות זמן התחלה וזמן סיום זהים. השתמשו במקטעים למציאת מיקום בהקלטה או להכנת תצוגה מתוזמנת, ובטקסט המלא כאשר הניסוח והפיסוק חשובים. שמרו על הבחנה בין שני הייצוגים האלה בתוצר.\n\nהשפה מזוהה אוטומטית, בין שסופק רמז שפה אופציונלי ובין שלא. היצרן מתעד קודי ISO 639-1 באותיות קטנות לרמזים, ומחזיר קוד שפה ללוגיקת היישום יחד עם שם שפה להצגה, כשהם ידועים. התגובה מדווחת על שפה אחת, ולא על כל השפות בהקלטה שעוברת ביניהן. שמרו את נוסח המקור ואת מטא־נתוני השפה הזמינים עם התוצאה, במקום להתייחס לבקשת התמלול כאל פעולת תרגום.\n\nבתהליך הכנת כתוביות, קבצו מקטעים מתוזמנים רצופים ליחידות כתובית קריאות במקום להציג מילה אחת בכל פעם. פלט שימושי הוא קובץ SRT או WebVTT המקושר לקטע המקורי, עם גבולות כתוביות המתאימים להפסקות וכמות טקסט סבירה על המסך. בדקו תזמון חסר וודאו שסיום כל כתובית מאוחר מהתחלתה. קיבוץ כתוביות ועיצוב הקובץ הם שלבי יישום הנבנים על יישור הזמנים שהוחזר, ובחירות התצוגה צריכות להתאים לנגן ולקהל.\n\nהבקרות המתועדות של Transcribe 1 הן אודיו, רמז שפה ובחירת חותמות הזמן. סמני הדוברים, תורות הדיבור המובנים, בקרות אירועי הרגש ורמזי מספר הדוברים של Pro הם תכונות נפרדות; הם אינם חלק מחוזה התגובה המתועד של מודל הבסיס הזה. בחרו את התוצר הדרוש לפני העיבוד: טקסט קריא פשוט להערה, או טקסט יחד עם יישור זמנים לניווט בהשמעה ולכתוביות. שמירת מזהה הקטע, התמליל וכל תזמון זמין הופכת את התוצאה לשימושית בשלב הבא של היישום.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "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,
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1",
    "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 הממשי ואת התגובה המלאה. יש לקרוא את הנכסים המקוריים שבבעלותכם ואת כתובות התוכן החתומות המדויקות שלהם; אין לשלוח שוב בקשת יצירה שתוצאתה אינה ודאית."
            },
            "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": [
                  "fish-audio/transcribe-1"
                ],
                "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": [
                    "fish-audio/transcribe-1"
                  ],
                  "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": "fish-audio/transcribe-1"
              },
              "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.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 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': 'fish-audio/transcribe-1', '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.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",
        "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.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",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Transcribe 1 ממיר הקלטות אודיו קצרות לטקסט, עם זיהוי שפה אוטומטי וחותמות זמן אופציונליות ברמת המילה. השתמשו בתמליל להודעות קוליות, לקטעים שניתן לחפש בהם או להכנת כתוביות, תוך הפרדה בין מקטעים מתוזמנים לטקסט המלא הקריא."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Transcribe 1 ממיר הקלטות אודיו קצרות לטקסט, עם זיהוי שפה אוטומטי וחותמות זמן אופציונליות ברמת המילה. השתמשו בתמליל להודעות קוליות, לקטעים שניתן לחפש בהם או להכנת כתוביות, תוך הפרדה בין מקטעים מתוזמנים לטקסט המלא הקריא.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "8220e196dc8bbbdef2753f52a7001bd31648297c39bf3295e95a102e2e9af7b8",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "a08d74cbd3346295d2d55d34316e5b5cd1a360e642ea6d36b2e129fb9c3dac56"
}
