{
  "aboutHtml": "<p>S1 הוא מודל המרת הטקסט לדיבור מהדור הקודם של Fish Audio לקריינות עשירה בהבעה ולפלט קולי של דובר יחיד. הוא מקריא תסריט שסופק ומחזיר שמע, באמצעות קול שנבחר או קול המותנה בדוגמת ייחוס. מודל S1 המלא נפרד מ־S1-mini, המודל הקטן שעבר זיקוק; היצרן מציג אותם כווריאנטים של 4 מיליארד ו־0.5 מיליארד פרמטרים בהתאמה. פרופיל זה מכסה את המודל הנקוב S1.</p><p>לקריינות, הכינו את המילים שאמורות להישמע בפועל וסמנו מקומות שבהם ההגשה צריכה להשתנות. תסריט הסבר שימושי מציג את הנקודה המרכזית תחילה, מפתח רעיון אחד בכל פעם ומשתמש בפיסוק להפרדת ביטויים הזקוקים להפסקה טבעית. בהוראה קצרה, שמרו על ניסוח ברור גם כשהוא נשמע ללא מסך. שמרו על הקריאה המיועדת של שמות, קיצורים ויחידות, ובדקו מספרים בפלט המדובר במקום להניח שלמחרוזת קריאה לעין יש הגייה אחת בלבד.</p><p>S1 משתמש ברמזי רגש והגשה בסוגריים עגולים, כגון (angry), ‏(sad), ‏(in a hurry) או (chuckling). הציבו רמז לפני המשפט או הביטוי שעליו הוא אמור להשפיע, ואת הדיבור עצמו אחריו. ההגשה שייכת לטקסט שבא לאחר מכן, ולכן שינוי מצב רוח צריך להופיע במקום שבו הביצוע צריך להשתנות. זהו תחביר שונה מההוראות בסוגריים מרובעים של S2; שמרו על תסריט הכתוב לדור שנבחר במקום להניח ששתי צורות הסימון ניתנות להחלפה.</p><p>אפשר לבחור קול באמצעות מזהה קול שמור, או להתנות אותו בהקלטת ייחוס יחד עם תמלילה. לתהליך ייחוס מיידי, מדריך הדיבור הכללי ממליץ על דוגמה נקייה של 10–30 שניות. בחרו דוגמה שסגנון הדיבור ואיכות ההקלטה שלה מתאימים לתוצאה הרצויה, ודאגו שהתמליל יתאים למילים בדוגמה. לקריין חוזר, השתמשו שוב באותה דוגמת קול בין קטעים, כדי ששינוי נושא לא יהפוך בטעות לשינוי דמות.</p><p>הפצת S1 מונה אנגלית, סינית, יפנית, גרמנית, צרפתית, ספרדית, קוריאנית, ערבית, רוסית, הולנדית, איטלקית, פולנית ופורטוגזית בין השפות הנתמכות, ומתארת ערבוב שפות בתוך תסריט. ספקו ניסוח בשפת היעד במקום להתייחס לסינתזת דיבור כשלב תרגום. בקטע המכיל שם שאול או מעבר שפה, שמרו על איות ועל הקשר משפט ברור, ובדקו כיצד הקול שנבחר מטפל במעבר.</p><p>ממשק היצרן של S1 תומך בדובר אחד לכל בקשת סינתזה. אפשר להכין דיאלוג כמקטעים נפרדים עם דוגמאות הקול שלהם, ואז להרכיבם ביישום; סינתזה מקורית מרובת דוברים במשפחת S2 היא יכולת נפרדת. בהכנת שורות דמויות, שמרו על הקישור של התפקיד, הקול והטקסט לכל מקטע. תוצאת הסינתזה היא ביצוע שמע של התסריט, ואילו תזמון חילופי הדברים או שילובם עם מוזיקה ווידאו הם שלב עריכה מאוחר יותר.</p><p>אפשרויות הפלט כוללות MP3, ‏WAV, ‏PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. הפלט המתועד הוא מונו; WAV ו־PCM משתמשים בדגימות של 16 סיביות, ובחירות קצב הדגימה משתנות לפי פורמט. MP3 תומך ב־64, 128 ו־192 kbps, ואילו Opus משתמש ב־48 kHz. אפשר להתאים מהירות בין 0.5 ל־2.0, עם בקרות עוצמה. בחרו קובץ מקודד כתוצר קריינות או זרם מתאים להשמעה, ושמרו את הקול שנבחר ואת התסריט לצד התוצאה.</p><p>היצרן מעבד טקסט ארוך במקטעים, עם טווח אורך מקטע מתועד של 100–300 ותקציב טוקני שמע לכל מקטע, ולא הבטחה למשך הקלטה כולל. נרמול טקסט יכול להרחיב מספרים באנגלית ובסינית לקריאה טבעית, וקנס החזרה של S1 יכול להפחית דפוסי שמע חוזרים. נרמול עוצמת הפלט הוא הגדרה אחרת ואין לו השפעה על S1. בדקו הגייה, גבולות ביטויים, צלילים חוזרים ואת השינוי הרגשי המיועד לפני הרכבת הקטע המוגמר, ואז תקנו את השורה או את דוגמת הייחוס המסוימת שדורשות טיפול.</p>",
  "aboutText": "S1 הוא מודל המרת הטקסט לדיבור מהדור הקודם של Fish Audio לקריינות עשירה בהבעה ולפלט קולי של דובר יחיד. הוא מקריא תסריט שסופק ומחזיר שמע, באמצעות קול שנבחר או קול המותנה בדוגמת ייחוס. מודל S1 המלא נפרד מ־S1-mini, המודל הקטן שעבר זיקוק; היצרן מציג אותם כווריאנטים של 4 מיליארד ו־0.5 מיליארד פרמטרים בהתאמה. פרופיל זה מכסה את המודל הנקוב S1.\n\nלקריינות, הכינו את המילים שאמורות להישמע בפועל וסמנו מקומות שבהם ההגשה צריכה להשתנות. תסריט הסבר שימושי מציג את הנקודה המרכזית תחילה, מפתח רעיון אחד בכל פעם ומשתמש בפיסוק להפרדת ביטויים הזקוקים להפסקה טבעית. בהוראה קצרה, שמרו על ניסוח ברור גם כשהוא נשמע ללא מסך. שמרו על הקריאה המיועדת של שמות, קיצורים ויחידות, ובדקו מספרים בפלט המדובר במקום להניח שלמחרוזת קריאה לעין יש הגייה אחת בלבד.\n\nS1 משתמש ברמזי רגש והגשה בסוגריים עגולים, כגון (angry), ‏(sad), ‏(in a hurry) או (chuckling). הציבו רמז לפני המשפט או הביטוי שעליו הוא אמור להשפיע, ואת הדיבור עצמו אחריו. ההגשה שייכת לטקסט שבא לאחר מכן, ולכן שינוי מצב רוח צריך להופיע במקום שבו הביצוע צריך להשתנות. זהו תחביר שונה מההוראות בסוגריים מרובעים של S2; שמרו על תסריט הכתוב לדור שנבחר במקום להניח ששתי צורות הסימון ניתנות להחלפה.\n\nאפשר לבחור קול באמצעות מזהה קול שמור, או להתנות אותו בהקלטת ייחוס יחד עם תמלילה. לתהליך ייחוס מיידי, מדריך הדיבור הכללי ממליץ על דוגמה נקייה של 10–30 שניות. בחרו דוגמה שסגנון הדיבור ואיכות ההקלטה שלה מתאימים לתוצאה הרצויה, ודאגו שהתמליל יתאים למילים בדוגמה. לקריין חוזר, השתמשו שוב באותה דוגמת קול בין קטעים, כדי ששינוי נושא לא יהפוך בטעות לשינוי דמות.\n\nהפצת S1 מונה אנגלית, סינית, יפנית, גרמנית, צרפתית, ספרדית, קוריאנית, ערבית, רוסית, הולנדית, איטלקית, פולנית ופורטוגזית בין השפות הנתמכות, ומתארת ערבוב שפות בתוך תסריט. ספקו ניסוח בשפת היעד במקום להתייחס לסינתזת דיבור כשלב תרגום. בקטע המכיל שם שאול או מעבר שפה, שמרו על איות ועל הקשר משפט ברור, ובדקו כיצד הקול שנבחר מטפל במעבר.\n\nממשק היצרן של S1 תומך בדובר אחד לכל בקשת סינתזה. אפשר להכין דיאלוג כמקטעים נפרדים עם דוגמאות הקול שלהם, ואז להרכיבם ביישום; סינתזה מקורית מרובת דוברים במשפחת S2 היא יכולת נפרדת. בהכנת שורות דמויות, שמרו על הקישור של התפקיד, הקול והטקסט לכל מקטע. תוצאת הסינתזה היא ביצוע שמע של התסריט, ואילו תזמון חילופי הדברים או שילובם עם מוזיקה ווידאו הם שלב עריכה מאוחר יותר.\n\nאפשרויות הפלט כוללות MP3, ‏WAV, ‏PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. הפלט המתועד הוא מונו; WAV ו־PCM משתמשים בדגימות של 16 סיביות, ובחירות קצב הדגימה משתנות לפי פורמט. MP3 תומך ב־64, 128 ו־192 kbps, ואילו Opus משתמש ב־48 kHz. אפשר להתאים מהירות בין 0.5 ל־2.0, עם בקרות עוצמה. בחרו קובץ מקודד כתוצר קריינות או זרם מתאים להשמעה, ושמרו את הקול שנבחר ואת התסריט לצד התוצאה.\n\nהיצרן מעבד טקסט ארוך במקטעים, עם טווח אורך מקטע מתועד של 100–300 ותקציב טוקני שמע לכל מקטע, ולא הבטחה למשך הקלטה כולל. נרמול טקסט יכול להרחיב מספרים באנגלית ובסינית לקריאה טבעית, וקנס החזרה של S1 יכול להפחית דפוסי שמע חוזרים. נרמול עוצמת הפלט הוא הגדרה אחרת ואין לו השפעה על S1. בדקו הגייה, גבולות ביטויים, צלילים חוזרים ואת השינוי הרגשי המיועד לפני הרכבת הקטע המוגמר, ואז תקנו את השורה או את דוגמת הייחוס המסוימת שדורשות טיפול.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c4dd59dcb2c0ba942513fd59284ae29d44a6cf6fa04451d5d052ab47797b53e0",
    "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: S1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/s1</code><button type=\"button\" id=\"copy-id\">העתקת ID</button></div><nav class=\"card-jump-nav\" aria-label=\"חלקי כרטיס המודל\"><button type=\"button\" data-card-jump=\"overview\">התחלה</button><button type=\"button\" data-card-jump=\"methods\">קלט ושיטות</button><button type=\"button\" data-card-jump=\"pricing\">תעריפים</button><button type=\"button\" data-card-jump=\"examples\">דוגמאות</button><button type=\"button\" data-card-jump=\"results\">תוצאות</button><button type=\"button\" data-card-jump=\"aliases\">כינויים</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"שיטות API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|fish-audio%2Fs1\">הקראה</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">התחלה</h3><p class=\"mdesc-full\">Fish Audio S1 הופך תסריטים רב־לשוניים לשמע עשיר בהבעה של דובר יחיד, באמצעות קולות ייחוס ורמזי רגש בסוגריים עגולים. השתמשו בו לקריינות, להוראות קוליות קצרות או לשורות דמות, עם בקרות פורמט ופרוזודיה לשמע המוגמר.</p><dl class=\"card-io\" data-card-io><div><dt>סוגי קלט נתמכים</dt><dd>טקסט</dd></div><div><dt>תוצאות</dt><dd>שמע</dd></div></dl><details class=\"card-about\"><summary>על המודל</summary><p class=\"note-s\" data-model-method-boundary>התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.</p><div class=\"mabout\" id=\"m-about\"><p>S1 הוא מודל המרת הטקסט לדיבור מהדור הקודם של Fish Audio לקריינות עשירה בהבעה ולפלט קולי של דובר יחיד. הוא מקריא תסריט שסופק ומחזיר שמע, באמצעות קול שנבחר או קול המותנה בדוגמת ייחוס. מודל S1 המלא נפרד מ־S1-mini, המודל הקטן שעבר זיקוק; היצרן מציג אותם כווריאנטים של 4 מיליארד ו־0.5 מיליארד פרמטרים בהתאמה. פרופיל זה מכסה את המודל הנקוב S1.</p><p>לקריינות, הכינו את המילים שאמורות להישמע בפועל וסמנו מקומות שבהם ההגשה צריכה להשתנות. תסריט הסבר שימושי מציג את הנקודה המרכזית תחילה, מפתח רעיון אחד בכל פעם ומשתמש בפיסוק להפרדת ביטויים הזקוקים להפסקה טבעית. בהוראה קצרה, שמרו על ניסוח ברור גם כשהוא נשמע ללא מסך. שמרו על הקריאה המיועדת של שמות, קיצורים ויחידות, ובדקו מספרים בפלט המדובר במקום להניח שלמחרוזת קריאה לעין יש הגייה אחת בלבד.</p><p>S1 משתמש ברמזי רגש והגשה בסוגריים עגולים, כגון (angry), ‏(sad), ‏(in a hurry) או (chuckling). הציבו רמז לפני המשפט או הביטוי שעליו הוא אמור להשפיע, ואת הדיבור עצמו אחריו. ההגשה שייכת לטקסט שבא לאחר מכן, ולכן שינוי מצב רוח צריך להופיע במקום שבו הביצוע צריך להשתנות. זהו תחביר שונה מההוראות בסוגריים מרובעים של S2; שמרו על תסריט הכתוב לדור שנבחר במקום להניח ששתי צורות הסימון ניתנות להחלפה.</p><p>אפשר לבחור קול באמצעות מזהה קול שמור, או להתנות אותו בהקלטת ייחוס יחד עם תמלילה. לתהליך ייחוס מיידי, מדריך הדיבור הכללי ממליץ על דוגמה נקייה של 10–30 שניות. בחרו דוגמה שסגנון הדיבור ואיכות ההקלטה שלה מתאימים לתוצאה הרצויה, ודאגו שהתמליל יתאים למילים בדוגמה. לקריין חוזר, השתמשו שוב באותה דוגמת קול בין קטעים, כדי ששינוי נושא לא יהפוך בטעות לשינוי דמות.</p><p>הפצת S1 מונה אנגלית, סינית, יפנית, גרמנית, צרפתית, ספרדית, קוריאנית, ערבית, רוסית, הולנדית, איטלקית, פולנית ופורטוגזית בין השפות הנתמכות, ומתארת ערבוב שפות בתוך תסריט. ספקו ניסוח בשפת היעד במקום להתייחס לסינתזת דיבור כשלב תרגום. בקטע המכיל שם שאול או מעבר שפה, שמרו על איות ועל הקשר משפט ברור, ובדקו כיצד הקול שנבחר מטפל במעבר.</p><p>ממשק היצרן של S1 תומך בדובר אחד לכל בקשת סינתזה. אפשר להכין דיאלוג כמקטעים נפרדים עם דוגמאות הקול שלהם, ואז להרכיבם ביישום; סינתזה מקורית מרובת דוברים במשפחת S2 היא יכולת נפרדת. בהכנת שורות דמויות, שמרו על הקישור של התפקיד, הקול והטקסט לכל מקטע. תוצאת הסינתזה היא ביצוע שמע של התסריט, ואילו תזמון חילופי הדברים או שילובם עם מוזיקה ווידאו הם שלב עריכה מאוחר יותר.</p><p>אפשרויות הפלט כוללות MP3, ‏WAV, ‏PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. הפלט המתועד הוא מונו; WAV ו־PCM משתמשים בדגימות של 16 סיביות, ובחירות קצב הדגימה משתנות לפי פורמט. MP3 תומך ב־64, 128 ו־192 kbps, ואילו Opus משתמש ב־48 kHz. אפשר להתאים מהירות בין 0.5 ל־2.0, עם בקרות עוצמה. בחרו קובץ מקודד כתוצר קריינות או זרם מתאים להשמעה, ושמרו את הקול שנבחר ואת התסריט לצד התוצאה.</p><p>היצרן מעבד טקסט ארוך במקטעים, עם טווח אורך מקטע מתועד של 100–300 ותקציב טוקני שמע לכל מקטע, ולא הבטחה למשך הקלטה כולל. נרמול טקסט יכול להרחיב מספרים באנגלית ובסינית לקריאה טבעית, וקנס החזרה של S1 יכול להפחית דפוסי שמע חוזרים. נרמול עוצמת הפלט הוא הגדרה אחרת ואין לו השפעה על S1. בדקו הגייה, גבולות ביטויים, צלילים חוזרים ואת השינוי הרגשי המיועד לפני הרכבת הקטע המוגמר, ואז תקנו את השורה או את דוגמת הייחוס המסוימת שדורשות טיפול.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · הקראה</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code></dd></div><div><dt>סוגי פלט</dt><dd><code>audio</code></dd></div><div><dt>פורמט פלט</dt><dd>אודיו בינארי בפורמט המקורי שהוצהר</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>שדה</th><th>סוג</th><th>דרישה</th><th>ערכים ומגבלות</th><th>ברירת מחדל</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>fish-audio/s1</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מזערי: ⁦1⁩</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"saved_exact_supplier_example\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>דוגמאות: b347db033a6549378b48d00acb0d06cd</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>mp3, pcm</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>pcm</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>text_to_speech</b> · נדרש: actual UTF-8 script, exact supported voice</p></details><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>content_type</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>application/json</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>model, input, voice</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>voice_ids</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>b347db033a6549378b48d00acb0d06cd</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>voice_list_exhaustive</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>response_format</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>mp3, pcm</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>default_response_format</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>pcm</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>quantity</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>בתים בקידוד UTF-8 של מחרוזת קלט יחידה לאחר פענוח; ללא הסרת תווי רווח מההתחלה או מהסוף וללא נרמול</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>native_byte_quote_controls</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>הוראות שאינן ריקות וקלט של תורות דיבור מרובי דוברים נדחים בנתיב המדויק הזה להצעת מחיר לפי בתים, עד שיוצהר הטקסט הנוסף לחיוב.</td></tr></tbody></table></div><p>מחזור חיים: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · ערך task_id שהוחזר בפועל או רשומה בספריית המדיה</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p><p class=\"note-s\">יש להשתמש במודל המדויק ובשדות הקלט המתועדים.</p><p class=\"note-s\">יש לשמור את התגובה המלאה, כל פלט ממשי ואת המזהים המקוריים שהוחזרו.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב 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>Ultra</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>לכל בייט utf8 של שמע בקלט</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · בית utf8 של שמע בקלט</span> <b>$0.00003</b> <span class=\"price-unit\">לכל בייט utf8 של שמע בקלט</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. <a href=\"/docs/he/billing/reserve/\">איך פועלים שריון הסכום והסדרת החיוב →</a></p><div data-declared-reference-pricing><h4>פרטי תעריף הייחוס</h4><p class=\"note-s\">טבלאות הייחוס ברמת המודל אינן משנות את בחירת השיטה, הצעות המחיר או החיובים. החיובים בפועל משתמשים בתעריפי שיטת Ailoot שנבחרה.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Fish Audio: S1</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>Fish Audio: S1 · תצורת ברירת המחדל</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>תצורת ברירת מחדל</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · בתי UTF-8 בקלט</span> <b>⁦‏0.00003 ‏$⁩</b> <span class=\"price-unit\">לכל בייט UTF-8 בקלט</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">דוגמאות לבקשות</h3><h4>Ailoot Ultra · הקראה</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-1354-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1354-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · גוף בקשה מדויק בפורמט המקורי והתוצאה המלאה</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1354-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1354-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s1&#39;, &#39;input&#39;: &#39;Hello world&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#39;}\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · הקראה</h4><p class=\"note-s\">אודיו בינארי בפורמט המקורי שהוצהר</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.</p><p class=\"note-s\">יש לשמור את כל הבתים הבינאריים במלואם ואת כל הכותרות המקוריות; אם הוחזר JSON, יש לשמור אותו במלואו. מזהי הפעולה והנכסים הממשיים נשמרים.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">יש לשמור את operation_id/X-Client-Request-ID המקוריים ואת התגובה המקורית. יש לקרוא רשומות ממשיות של משימות ונכסים שבבעלותכם בלי לשלוח שוב; לא נבנית כתובת URL ייעודית למעקב אחר אודיו.</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">binary audio</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>bytes</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>headers</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Fs1&amp;route=Ultra&amp;caller=fish-audio%2Fs1&amp;fmt=speech\"><code>fish-audio/s1</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fs1&amp;route=Ultra&amp;caller=fish-audio%2Fs1&amp;fmt=speech\"><code>fish-audio/s1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s1",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save all complete binary bytes and all original headers; keep full JSON if returned. Actual operation/asset IDs are preserved.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "יש לשמור את operation_id/X-Client-Request-ID המקוריים ואת התגובה המקורית. יש לקרוא רשומות ממשיות של משימות ונכסים שבבעלותכם בלי לשלוח שוב; לא נבנית כתובת URL ייעודית למעקב אחר אודיו."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "actual UTF-8 script",
                  "exact supported voice"
                ]
              }
            ],
            "outputs": {
              "all_results": "יש לשמור את כל הבתים הבינאריים במלואם ואת כל הכותרות המקוריות; אם הוחזר JSON, יש לשמור אותו במלואו. מזהי הפעולה והנכסים הממשיים נשמרים.",
              "family": "audio",
              "fields": [
                {
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "אודיו בינארי בפורמט המקורי שהוצהר"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "fish-audio/s1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "min_length": 1,
                "name": "input",
                "quantity_unit": "decoded input UTF-8 bytes",
                "required": true,
                "type": "string"
              },
              {
                "availability": "saved_exact_supplier_example",
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s1"
                  ],
                  "type": "string"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "Hello world",
                "model": "fish-audio/s1",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "יש להשתמש במודל המדויק ובשדות הקלט המתועדים.",
            "יש לשמור את התגובה המלאה, כל פלט ממשי ואת המזהים המקוריים שהוחזרו."
          ],
          "input": {
            "content_type": "application/json",
            "default_response_format": "pcm",
            "material_types": [
              "text"
            ],
            "native_byte_quote_controls": "הוראות שאינן ריקות וקלט של תורות דיבור מרובי דוברים נדחים בנתיב המדויק הזה להצעת מחיר לפי בתים, עד שיוצהר הטקסט הנוסף לחיוב.",
            "quantity": "בתים בקידוד UTF-8 של מחרוזת קלט יחידה לאחר פענוח; ללא הסרת תווי רווח מההתחלה או מהסוף וללא נרמול",
            "required": [
              "model",
              "input",
              "voice"
            ],
            "response_format": [
              "mp3",
              "pcm"
            ],
            "voice_ids": [
              "b347db033a6549378b48d00acb0d06cd"
            ],
            "voice_list_exhaustive": false
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "ערך task_id שהוחזר בפועל או רשומה בספריית המדיה",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "all_results": true,
            "family": "audio",
            "format": "actual MP3 or PCM bytes and MIME",
            "response": "complete raw audio bytes plus response headers"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 byte",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s1', 'input': 'Hello world', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 byte",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_audio_input_utf8_byte",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "audio input utf8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per audio input utf8 byte",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a4af9e6115cd965fee9f7e9968be62eaaf88798d9503334af80400820e1c7766",
    "input_html_sha256": "70ec837226b825f3f46b6b15d649553410e07a1a98377223957f87569af6d79a",
    "private_audit_sha256": "674e2c1ee422a15f7cd096f5ad5a469b2cd5d4fa881a346b5d0a0f045657c309",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/fish-audio-s1/",
    "description": "Fish Audio S1 הופך תסריטים רב־לשוניים לשמע עשיר בהבעה של דובר יחיד, באמצעות קולות ייחוס ורמזי רגש בסוגריים עגולים. השתמשו בו לקריינות, להוראות קוליות קצרות או לשורות דמות, עם בקרות פורמט ופרוזודיה לשמע המוגמר.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/fish-audio-s1/index.md",
    "title": "Fish Audio: S1 — Ailoot",
    "url": "https://ailoot.ai/models/he/fish-audio-s1/"
  },
  "rawModel": {
    "about": "S1 הוא מודל המרת הטקסט לדיבור מהדור הקודם של Fish Audio לקריינות עשירה בהבעה ולפלט קולי של דובר יחיד. הוא מקריא תסריט שסופק ומחזיר שמע, באמצעות קול שנבחר או קול המותנה בדוגמת ייחוס. מודל S1 המלא נפרד מ־S1-mini, המודל הקטן שעבר זיקוק; היצרן מציג אותם כווריאנטים של 4 מיליארד ו־0.5 מיליארד פרמטרים בהתאמה. פרופיל זה מכסה את המודל הנקוב S1.\n\nלקריינות, הכינו את המילים שאמורות להישמע בפועל וסמנו מקומות שבהם ההגשה צריכה להשתנות. תסריט הסבר שימושי מציג את הנקודה המרכזית תחילה, מפתח רעיון אחד בכל פעם ומשתמש בפיסוק להפרדת ביטויים הזקוקים להפסקה טבעית. בהוראה קצרה, שמרו על ניסוח ברור גם כשהוא נשמע ללא מסך. שמרו על הקריאה המיועדת של שמות, קיצורים ויחידות, ובדקו מספרים בפלט המדובר במקום להניח שלמחרוזת קריאה לעין יש הגייה אחת בלבד.\n\nS1 משתמש ברמזי רגש והגשה בסוגריים עגולים, כגון (angry), ‏(sad), ‏(in a hurry) או (chuckling). הציבו רמז לפני המשפט או הביטוי שעליו הוא אמור להשפיע, ואת הדיבור עצמו אחריו. ההגשה שייכת לטקסט שבא לאחר מכן, ולכן שינוי מצב רוח צריך להופיע במקום שבו הביצוע צריך להשתנות. זהו תחביר שונה מההוראות בסוגריים מרובעים של S2; שמרו על תסריט הכתוב לדור שנבחר במקום להניח ששתי צורות הסימון ניתנות להחלפה.\n\nאפשר לבחור קול באמצעות מזהה קול שמור, או להתנות אותו בהקלטת ייחוס יחד עם תמלילה. לתהליך ייחוס מיידי, מדריך הדיבור הכללי ממליץ על דוגמה נקייה של 10–30 שניות. בחרו דוגמה שסגנון הדיבור ואיכות ההקלטה שלה מתאימים לתוצאה הרצויה, ודאגו שהתמליל יתאים למילים בדוגמה. לקריין חוזר, השתמשו שוב באותה דוגמת קול בין קטעים, כדי ששינוי נושא לא יהפוך בטעות לשינוי דמות.\n\nהפצת S1 מונה אנגלית, סינית, יפנית, גרמנית, צרפתית, ספרדית, קוריאנית, ערבית, רוסית, הולנדית, איטלקית, פולנית ופורטוגזית בין השפות הנתמכות, ומתארת ערבוב שפות בתוך תסריט. ספקו ניסוח בשפת היעד במקום להתייחס לסינתזת דיבור כשלב תרגום. בקטע המכיל שם שאול או מעבר שפה, שמרו על איות ועל הקשר משפט ברור, ובדקו כיצד הקול שנבחר מטפל במעבר.\n\nממשק היצרן של S1 תומך בדובר אחד לכל בקשת סינתזה. אפשר להכין דיאלוג כמקטעים נפרדים עם דוגמאות הקול שלהם, ואז להרכיבם ביישום; סינתזה מקורית מרובת דוברים במשפחת S2 היא יכולת נפרדת. בהכנת שורות דמויות, שמרו על הקישור של התפקיד, הקול והטקסט לכל מקטע. תוצאת הסינתזה היא ביצוע שמע של התסריט, ואילו תזמון חילופי הדברים או שילובם עם מוזיקה ווידאו הם שלב עריכה מאוחר יותר.\n\nאפשרויות הפלט כוללות MP3, ‏WAV, ‏PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. הפלט המתועד הוא מונו; WAV ו־PCM משתמשים בדגימות של 16 סיביות, ובחירות קצב הדגימה משתנות לפי פורמט. MP3 תומך ב־64, 128 ו־192 kbps, ואילו Opus משתמש ב־48 kHz. אפשר להתאים מהירות בין 0.5 ל־2.0, עם בקרות עוצמה. בחרו קובץ מקודד כתוצר קריינות או זרם מתאים להשמעה, ושמרו את הקול שנבחר ואת התסריט לצד התוצאה.\n\nהיצרן מעבד טקסט ארוך במקטעים, עם טווח אורך מקטע מתועד של 100–300 ותקציב טוקני שמע לכל מקטע, ולא הבטחה למשך הקלטה כולל. נרמול טקסט יכול להרחיב מספרים באנגלית ובסינית לקריאה טבעית, וקנס החזרה של S1 יכול להפחית דפוסי שמע חוזרים. נרמול עוצמת הפלט הוא הגדרה אחרת ואין לו השפעה על S1. בדקו הגייה, גבולות ביטויים, צלילים חוזרים ואת השינוי הרגשי המיועד לפני הרכבת הקטע המוגמר, ואז תקנו את השורה או את דוגמת הייחוס המסוימת שדורשות טיפול.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "available": null,
    "canonical_model": "fish-audio/s1",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_audio_input_utf8_byte",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "audio input utf8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per audio input utf8 byte",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "ca1892881aa6bc927745",
        "label": "Fish Audio: S1",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "תצורת ברירת מחדל"
            },
            "label": "Fish Audio: S1 · תצורת ברירת המחדל",
            "units": [
              {
                "amount": "0.000030",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "e7b3eb5a7636763feb8a9472",
                "label": "Input UTF-8 bytes",
                "public_unit_label": "per input UTF-8 byte",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_utf8_byte"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s1",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save all complete binary bytes and all original headers; keep full JSON if returned. Actual operation/asset IDs are preserved.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "יש לשמור את operation_id/X-Client-Request-ID המקוריים ואת התגובה המקורית. יש לקרוא רשומות ממשיות של משימות ונכסים שבבעלותכם בלי לשלוח שוב; לא נבנית כתובת URL ייעודית למעקב אחר אודיו."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "actual UTF-8 script",
                  "exact supported voice"
                ]
              }
            ],
            "outputs": {
              "all_results": "יש לשמור את כל הבתים הבינאריים במלואם ואת כל הכותרות המקוריות; אם הוחזר JSON, יש לשמור אותו במלואו. מזהי הפעולה והנכסים הממשיים נשמרים.",
              "family": "audio",
              "fields": [
                {
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "אודיו בינארי בפורמט המקורי שהוצהר"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "fish-audio/s1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "min_length": 1,
                "name": "input",
                "quantity_unit": "decoded input UTF-8 bytes",
                "required": true,
                "type": "string"
              },
              {
                "availability": "saved_exact_supplier_example",
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_exhaustive": false,
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s1"
                  ],
                  "type": "string"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "Hello world",
                "model": "fish-audio/s1",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "יש להשתמש במודל המדויק ובשדות הקלט המתועדים.",
            "יש לשמור את התגובה המלאה, כל פלט ממשי ואת המזהים המקוריים שהוחזרו."
          ],
          "input": {
            "content_type": "application/json",
            "default_response_format": "pcm",
            "material_types": [
              "text"
            ],
            "native_byte_quote_controls": "הוראות שאינן ריקות וקלט של תורות דיבור מרובי דוברים נדחים בנתיב המדויק הזה להצעת מחיר לפי בתים, עד שיוצהר הטקסט הנוסף לחיוב.",
            "quantity": "בתים בקידוד UTF-8 של מחרוזת קלט יחידה לאחר פענוח; ללא הסרת תווי רווח מההתחלה או מהסוף וללא נרמול",
            "required": [
              "model",
              "input",
              "voice"
            ],
            "response_format": [
              "mp3",
              "pcm"
            ],
            "voice_ids": [
              "b347db033a6549378b48d00acb0d06cd"
            ],
            "voice_list_exhaustive": false
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "ערך task_id שהוחזר בפועל או רשומה בספריית המדיה",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "all_results": true,
            "family": "audio",
            "format": "actual MP3 or PCM bytes and MIME",
            "response": "complete raw audio bytes plus response headers"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 byte",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s1', 'input': 'Hello world', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_utf8_byte": 3e-05
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input utf8 byte"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.00003",
                "amount_unit": "usd_per_audio_input_utf8_byte",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_utf8_byte",
                "label": "audio input utf8 byte",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per audio input utf8 byte",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_utf8_byte"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00003",
            "amount_unit": "usd_per_audio_input_utf8_byte",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_utf8_byte",
            "label": "audio input utf8 byte",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per audio input utf8 byte",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_utf8_byte"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/s1",
        "request_model_id": "fish-audio/s1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "not_character_or_token_count": true,
          "quoted_unit": "1000000_UTF8_bytes",
          "retirement_date": "2026-12-31"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000030",
            "amount_unit": "usd_per_input_utf8_byte",
            "conditions": {
              "not_character_or_token_count": true,
              "quoted_unit": "1000000_UTF8_bytes",
              "retirement_date": "2026-12-31"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_utf8_byte"
          }
        ]
      }
    ],
    "public_id": "fish-audio/s1",
    "short": "Fish Audio S1 הופך תסריטים רב־לשוניים לשמע עשיר בהבעה של דובר יחיד, באמצעות קולות ייחוס ורמזי רגש בסוגריים עגולים. השתמשו בו לקריינות, להוראות קוליות קצרות או לשורות דמות, עם בקרות פורמט ופרוזודיה לשמע המוגמר."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Fish Audio S1 הופך תסריטים רב־לשוניים לשמע עשיר בהבעה של דובר יחיד, באמצעות קולות ייחוס ורמזי רגש בסוגריים עגולים. השתמשו בו לקריינות, להוראות קוליות קצרות או לשורות דמות, עם בקרות פורמט ופרוזודיה לשמע המוגמר.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "427e90281ba5784d1568c8d20edac07428a62e196d8f7a766b10eefaecd5f65c",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "94402e65ceff85dbae0d9d93116a004a8e7d399ff235da322dfddbad1b180e55"
}
