{
  "aboutHtml": "<p>S2.1 Pro Free היא המהדורה המיועדת למפתחים של מודל הטקסט־לדיבור S2.1 מבית Fish Audio. היא חולקת עם S2.1 Pro את המודל הבסיסי ואת יכולות הסינתזה המרכזיות: דיבור רב־לשוני מלא הבעה, הוראות ביצוע בשפה טבעית ודיאלוג מובנה בין כמה דוברים. תפקידה הוא בדיקה, יצירת אבות־טיפוס, פיתוח ותהליכי עבודה קטנים יותר ביישומים.</p><p>לאב־טיפוס של עוזר קולי, התחילו בתשובה מלאה לדוגמה והעריכו כיצד היא נשמעת לפני בדיקת טקסט המגיע בהדרגה. למוצר לימודי, הכינו הסבר קצר עם המונחים המדויקים ועם אופן הקראת המספרים שהמאזין צריך. לאב־טיפוס של דיאלוג, הגדירו את הדוברים ואת הקלטות הייחוס לקולותיהם לפני הוספת הוראות ביצוע. צעדים אלה מפתחים תוצר אודיו ואת תהליך היישום שסביבו, במקום להטיל על בקשת הסינתזה אחריות לשיחה כולה.</p><p>כתבו את המילים שאמורות להיאמר בפועל, ולאחר מכן הציבו הוראה מיד לפני הקטע שאופן הגשתו צריך להשתנות. הוראות בסוגריים מרובעים יכולות לבטא לחישה, הפסקה, תגובה, הדגשה או סגנון דיבור המתואר באופן חופשי. הציבו שינוי באמצע משפט במקום שבו הביצוע דורש זאת, והוסיפו דיבור ממשי לאחר הוראות תיאוריות. בריף שימושי לסרטון הסבר מפריד בין הניסוח העובדתי לבין החמימות, הקצב או ההדגשה הרצויים למאזין.</p><p>לדובר יחיד, בחרו מזהה קול שמור או ספקו הקלטת ייחוס עם התמליל שלה. מדריך הדיבור של היצרן ממליץ על דגימה נקייה באורך 10–30 שניות לצורך התאמה מיידית של הקול. בחרו הקלטת ייחוס שהטון ואיכות ההקלטה שלה מתאימים לתסריט, ושמרו על אותה הקלטה בקטעים הקשורים זה לזה. הקלטת הייחוס מספקת את הצליל של הדובר; הטקסט וההוראות המשולבות בו מספקים את התוכן ואת אופן ביצועו.</p><p>סינתזה מובנית של כמה דוברים משתמשת בסמנים כגון &lt;|speaker:0|&gt; ו־&lt;|speaker:1|&gt;, בצירוף מערך מסודר של מזהי קול או קבוצות ייחוס נפרדות. הקפידו שתוויות הדוברים המספריות יתאימו לסדר הזה. בדיאלוג הדרכתי, כתבו את השורה של כל דובר והציבו את הוראת הביצוע אחרי סמן הדובר, במקומה המתאים. כך נוצר דיאלוג בבקשה אחת; זהו תהליך שונה מהקטעים הנפרדים לדובר יחיד של S1 ומהרכבתם בהמשך.</p><p>תהליך העבודה של היצרן מציע פלט MP3,‏ WAV,‏ PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. MP3 תומך בקצבי סיביות של 64,‏ 128 ו־192 קילוביט לשנייה; WAV ו־PCM משתמשים בפורמטי דגימה מתועדים של מונו ב־16 סיביות, ואילו Opus משתמש ב־48 קילוהרץ. בחרו פורמט לפי היעד: קובץ קריינות לשמירה, השמעה בהזרמה או שרשרת עיבוד אודיו בהמשך. שמרו את התסריט המלא ואת בחירת הקול לצד האודיו, כדי שעריכה מאוחרת תוכל לטפל בשורה אחת בלי לאבד את אופי הביצוע הרצוי.</p><p>אפשר להתאים את המהירות בין 0.5 ל־2.0, לצד בקרות עוצמת קול. נרמול הטקסט מרחיב מספרים באנגלית ובסינית לצורך הקראה טבעית. נרמול עוצמת הפלט מוגדר כברירת מחדל ל־true ומוחל על משפחת S2; אותו שדה לא השפיע על S1. הפרמטר repetition_penalty של S1 אינו משנה את האודיו של S2.1 Pro, ולכן אין להתייחס להגדרה ישנה כאל בקרה יעילה למודל זה. בדקו ישירות צלילים ומילים שחוזרים, במקום להסתמך על פרמטר שהועבר מגרסה קודמת כדי לקבוע שהתוצאה תקינה.</p><p>תסריטים ארוכים יותר מעובדים במקטעים. טווח אורך המקטע המתועד הוא 100–300, ו־max_new_tokens הוא תקציב אסימוני אודיו לכל מקטע, ולא התחייבות למשך כולל. התניה על המקטע הקודם יכולה להעביר את הקשר הקול למקטע הבא. תהליך המסירה של היצרן מתאר אודיו מלא, מקטעי אודיו הנמסרים בהדרגה והזרמת טקסט בזמן אמת כאשר התסריט מגיע בהדרגה. בחרו את אופן צריכת הפלט המתאים ליישום, ושמרו מספיק הקשר מהתסריט עבור ההגייה והטון של הקטע הבא.</p><p>כדי לקבל תוצר סופי שימושי, האזינו למילים שהושמטו או חזרו, להגיית מספרים, למעברי דוברים, להפסקות ולעוצמת הוראות הביצוע. הקלטות ייחוס שונות עשויות לפרש אותה הנחיה בעוצמה שונה, ולכן התחילו בשורה פשוטה עם הוראת ביצוע לפני הוספת תגיות מתחרות. בעבודה רב־לשונית, ספקו את התסריט בשפת היעד במקום לבקש ממודל הדיבור להמציא או לתרגם את תוכנו. תיקון ממוקד משנה את השורה, ההנחיה או הקלטת הייחוס שאחראיות לחוסר ההתאמה, תוך שמירה על חלקי הביצוע שכבר מתאימים לבריף.</p>",
  "aboutText": "S2.1 Pro Free היא המהדורה המיועדת למפתחים של מודל הטקסט־לדיבור S2.1 מבית Fish Audio. היא חולקת עם S2.1 Pro את המודל הבסיסי ואת יכולות הסינתזה המרכזיות: דיבור רב־לשוני מלא הבעה, הוראות ביצוע בשפה טבעית ודיאלוג מובנה בין כמה דוברים. תפקידה הוא בדיקה, יצירת אבות־טיפוס, פיתוח ותהליכי עבודה קטנים יותר ביישומים.\n\nלאב־טיפוס של עוזר קולי, התחילו בתשובה מלאה לדוגמה והעריכו כיצד היא נשמעת לפני בדיקת טקסט המגיע בהדרגה. למוצר לימודי, הכינו הסבר קצר עם המונחים המדויקים ועם אופן הקראת המספרים שהמאזין צריך. לאב־טיפוס של דיאלוג, הגדירו את הדוברים ואת הקלטות הייחוס לקולותיהם לפני הוספת הוראות ביצוע. צעדים אלה מפתחים תוצר אודיו ואת תהליך היישום שסביבו, במקום להטיל על בקשת הסינתזה אחריות לשיחה כולה.\n\nכתבו את המילים שאמורות להיאמר בפועל, ולאחר מכן הציבו הוראה מיד לפני הקטע שאופן הגשתו צריך להשתנות. הוראות בסוגריים מרובעים יכולות לבטא לחישה, הפסקה, תגובה, הדגשה או סגנון דיבור המתואר באופן חופשי. הציבו שינוי באמצע משפט במקום שבו הביצוע דורש זאת, והוסיפו דיבור ממשי לאחר הוראות תיאוריות. בריף שימושי לסרטון הסבר מפריד בין הניסוח העובדתי לבין החמימות, הקצב או ההדגשה הרצויים למאזין.\n\nלדובר יחיד, בחרו מזהה קול שמור או ספקו הקלטת ייחוס עם התמליל שלה. מדריך הדיבור של היצרן ממליץ על דגימה נקייה באורך 10–30 שניות לצורך התאמה מיידית של הקול. בחרו הקלטת ייחוס שהטון ואיכות ההקלטה שלה מתאימים לתסריט, ושמרו על אותה הקלטה בקטעים הקשורים זה לזה. הקלטת הייחוס מספקת את הצליל של הדובר; הטקסט וההוראות המשולבות בו מספקים את התוכן ואת אופן ביצועו.\n\nסינתזה מובנית של כמה דוברים משתמשת בסמנים כגון <|speaker:0|> ו־<|speaker:1|>, בצירוף מערך מסודר של מזהי קול או קבוצות ייחוס נפרדות. הקפידו שתוויות הדוברים המספריות יתאימו לסדר הזה. בדיאלוג הדרכתי, כתבו את השורה של כל דובר והציבו את הוראת הביצוע אחרי סמן הדובר, במקומה המתאים. כך נוצר דיאלוג בבקשה אחת; זהו תהליך שונה מהקטעים הנפרדים לדובר יחיד של S1 ומהרכבתם בהמשך.\n\nתהליך העבודה של היצרן מציע פלט MP3,‏ WAV,‏ PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. MP3 תומך בקצבי סיביות של 64,‏ 128 ו־192 קילוביט לשנייה; WAV ו־PCM משתמשים בפורמטי דגימה מתועדים של מונו ב־16 סיביות, ואילו Opus משתמש ב־48 קילוהרץ. בחרו פורמט לפי היעד: קובץ קריינות לשמירה, השמעה בהזרמה או שרשרת עיבוד אודיו בהמשך. שמרו את התסריט המלא ואת בחירת הקול לצד האודיו, כדי שעריכה מאוחרת תוכל לטפל בשורה אחת בלי לאבד את אופי הביצוע הרצוי.\n\nאפשר להתאים את המהירות בין 0.5 ל־2.0, לצד בקרות עוצמת קול. נרמול הטקסט מרחיב מספרים באנגלית ובסינית לצורך הקראה טבעית. נרמול עוצמת הפלט מוגדר כברירת מחדל ל־true ומוחל על משפחת S2; אותו שדה לא השפיע על S1. הפרמטר repetition_penalty של S1 אינו משנה את האודיו של S2.1 Pro, ולכן אין להתייחס להגדרה ישנה כאל בקרה יעילה למודל זה. בדקו ישירות צלילים ומילים שחוזרים, במקום להסתמך על פרמטר שהועבר מגרסה קודמת כדי לקבוע שהתוצאה תקינה.\n\nתסריטים ארוכים יותר מעובדים במקטעים. טווח אורך המקטע המתועד הוא 100–300, ו־max_new_tokens הוא תקציב אסימוני אודיו לכל מקטע, ולא התחייבות למשך כולל. התניה על המקטע הקודם יכולה להעביר את הקשר הקול למקטע הבא. תהליך המסירה של היצרן מתאר אודיו מלא, מקטעי אודיו הנמסרים בהדרגה והזרמת טקסט בזמן אמת כאשר התסריט מגיע בהדרגה. בחרו את אופן צריכת הפלט המתאים ליישום, ושמרו מספיק הקשר מהתסריט עבור ההגייה והטון של הקטע הבא.\n\nכדי לקבל תוצר סופי שימושי, האזינו למילים שהושמטו או חזרו, להגיית מספרים, למעברי דוברים, להפסקות ולעוצמת הוראות הביצוע. הקלטות ייחוס שונות עשויות לפרש אותה הנחיה בעוצמה שונה, ולכן התחילו בשורה פשוטה עם הוראת ביצוע לפני הוספת תגיות מתחרות. בעבודה רב־לשונית, ספקו את התסריט בשפת היעד במקום לבקש ממודל הדיבור להמציא או לתרגם את תוכנו. תיקון ממוקד משנה את השורה, ההנחיה או הקלטת הייחוס שאחראיות לחוסר ההתאמה, תוך שמירה על חלקי הביצוע שכבר מתאימים לבריף.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "81fde7e67220c6e5efa9a7142890bacfee4e1054df0c5d94b457ab1d2ea5199f",
    "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: S2.1 Pro Free (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/s2.1-pro-free:free</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%2Fs2.1-pro-free%3Afree\">הקראה</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\">S2.1 Pro Free היא מהדורת הפיתוח של מודל הדיבור S2.1 מבית Fish Audio לקריינות, לפלט קולי עם הוראות ביצוע ולדיאלוג בין כמה דוברים. היא חולקת את יכולות סינתזת הדיבור של המודל לצורכי בדיקה ויצירת אבות־טיפוס.</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>S2.1 Pro Free היא המהדורה המיועדת למפתחים של מודל הטקסט־לדיבור S2.1 מבית Fish Audio. היא חולקת עם S2.1 Pro את המודל הבסיסי ואת יכולות הסינתזה המרכזיות: דיבור רב־לשוני מלא הבעה, הוראות ביצוע בשפה טבעית ודיאלוג מובנה בין כמה דוברים. תפקידה הוא בדיקה, יצירת אבות־טיפוס, פיתוח ותהליכי עבודה קטנים יותר ביישומים.</p><p>לאב־טיפוס של עוזר קולי, התחילו בתשובה מלאה לדוגמה והעריכו כיצד היא נשמעת לפני בדיקת טקסט המגיע בהדרגה. למוצר לימודי, הכינו הסבר קצר עם המונחים המדויקים ועם אופן הקראת המספרים שהמאזין צריך. לאב־טיפוס של דיאלוג, הגדירו את הדוברים ואת הקלטות הייחוס לקולותיהם לפני הוספת הוראות ביצוע. צעדים אלה מפתחים תוצר אודיו ואת תהליך היישום שסביבו, במקום להטיל על בקשת הסינתזה אחריות לשיחה כולה.</p><p>כתבו את המילים שאמורות להיאמר בפועל, ולאחר מכן הציבו הוראה מיד לפני הקטע שאופן הגשתו צריך להשתנות. הוראות בסוגריים מרובעים יכולות לבטא לחישה, הפסקה, תגובה, הדגשה או סגנון דיבור המתואר באופן חופשי. הציבו שינוי באמצע משפט במקום שבו הביצוע דורש זאת, והוסיפו דיבור ממשי לאחר הוראות תיאוריות. בריף שימושי לסרטון הסבר מפריד בין הניסוח העובדתי לבין החמימות, הקצב או ההדגשה הרצויים למאזין.</p><p>לדובר יחיד, בחרו מזהה קול שמור או ספקו הקלטת ייחוס עם התמליל שלה. מדריך הדיבור של היצרן ממליץ על דגימה נקייה באורך 10–30 שניות לצורך התאמה מיידית של הקול. בחרו הקלטת ייחוס שהטון ואיכות ההקלטה שלה מתאימים לתסריט, ושמרו על אותה הקלטה בקטעים הקשורים זה לזה. הקלטת הייחוס מספקת את הצליל של הדובר; הטקסט וההוראות המשולבות בו מספקים את התוכן ואת אופן ביצועו.</p><p>סינתזה מובנית של כמה דוברים משתמשת בסמנים כגון &lt;|speaker:0|&gt; ו־&lt;|speaker:1|&gt;, בצירוף מערך מסודר של מזהי קול או קבוצות ייחוס נפרדות. הקפידו שתוויות הדוברים המספריות יתאימו לסדר הזה. בדיאלוג הדרכתי, כתבו את השורה של כל דובר והציבו את הוראת הביצוע אחרי סמן הדובר, במקומה המתאים. כך נוצר דיאלוג בבקשה אחת; זהו תהליך שונה מהקטעים הנפרדים לדובר יחיד של S1 ומהרכבתם בהמשך.</p><p>תהליך העבודה של היצרן מציע פלט MP3,‏ WAV,‏ PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. MP3 תומך בקצבי סיביות של 64,‏ 128 ו־192 קילוביט לשנייה; WAV ו־PCM משתמשים בפורמטי דגימה מתועדים של מונו ב־16 סיביות, ואילו Opus משתמש ב־48 קילוהרץ. בחרו פורמט לפי היעד: קובץ קריינות לשמירה, השמעה בהזרמה או שרשרת עיבוד אודיו בהמשך. שמרו את התסריט המלא ואת בחירת הקול לצד האודיו, כדי שעריכה מאוחרת תוכל לטפל בשורה אחת בלי לאבד את אופי הביצוע הרצוי.</p><p>אפשר להתאים את המהירות בין 0.5 ל־2.0, לצד בקרות עוצמת קול. נרמול הטקסט מרחיב מספרים באנגלית ובסינית לצורך הקראה טבעית. נרמול עוצמת הפלט מוגדר כברירת מחדל ל־true ומוחל על משפחת S2; אותו שדה לא השפיע על S1. הפרמטר repetition_penalty של S1 אינו משנה את האודיו של S2.1 Pro, ולכן אין להתייחס להגדרה ישנה כאל בקרה יעילה למודל זה. בדקו ישירות צלילים ומילים שחוזרים, במקום להסתמך על פרמטר שהועבר מגרסה קודמת כדי לקבוע שהתוצאה תקינה.</p><p>תסריטים ארוכים יותר מעובדים במקטעים. טווח אורך המקטע המתועד הוא 100–300, ו־max_new_tokens הוא תקציב אסימוני אודיו לכל מקטע, ולא התחייבות למשך כולל. התניה על המקטע הקודם יכולה להעביר את הקשר הקול למקטע הבא. תהליך המסירה של היצרן מתאר אודיו מלא, מקטעי אודיו הנמסרים בהדרגה והזרמת טקסט בזמן אמת כאשר התסריט מגיע בהדרגה. בחרו את אופן צריכת הפלט המתאים ליישום, ושמרו מספיק הקשר מהתסריט עבור ההגייה והטון של הקטע הבא.</p><p>כדי לקבל תוצר סופי שימושי, האזינו למילים שהושמטו או חזרו, להגיית מספרים, למעברי דוברים, להפסקות ולעוצמת הוראות הביצוע. הקלטות ייחוס שונות עשויות לפרש אותה הנחיה בעוצמה שונה, ולכן התחילו בשורה פשוטה עם הוראת ביצוע לפני הוספת תגיות מתחרות. בעבודה רב־לשונית, ספקו את התסריט בשפת היעד במקום לבקש ממודל הדיבור להמציא או לתרגם את תוכנו. תיקון ממוקד משנה את השורה, ההנחיה או הקלטת הייחוס שאחראיות לחוסר ההתאמה, תוך שמירה על חלקי הביצוע שכבר מתאימים לבריף.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · דיבור</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code></dd></div><div><dt>סוגי פלט</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>שדה</th><th>סוג</th><th>דרישה</th><th>ערכים ומגבלות</th><th>ברירת מחדל</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>fish-audio/s2.1-pro-free:free</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מזערי: ⁦1⁩</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>b347db033a6549378b48d00acb0d06cd</div><div>אורך מזערי: ⁦1⁩</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>mp3, pcm</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>pcm</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>object</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>content_type</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>application/json</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>model, input, voice</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text</td></tr></tbody></table></div><p>מחזור חיים: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · ערך task_id שהוחזר בפועל או רשומה בספריית המדיה</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב 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</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-1359-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1359-panel-0\" aria-selected=\"true\" tabindex=\"0\">השתמשו בקלט אמיתי ושמרו את התוצאה המלאה</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1359-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1359-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s2.1-pro-free:free&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · דיבור</h4><p class=\"note-s\">אודיו בינארי מלא או תגובת audio_url מקורית, כותרות וכל נכס שבבעלותכם.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>קריאות תוכן נוספות</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-1360-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1360-panel-0\" aria-selected=\"true\" tabindex=\"0\">קריאת נכסים קיימים שבבעלותכם</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1360-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1360-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.</p><p class=\"note-s\">שמרו את התשובה המלאה ואת הכותרות, כל פלט שהתקבל בפועל, את המזהים המקוריים שהוחזרו ואת כל שדות השימוש. שחזרו את הפעולה המקורית בלי לשלוח שוב בקשת יצירה.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">שמרו את X-Client-Request-ID שהוחזר לצורך התאמת רישומים. קראו רק ערכי task_id/asset_id שהוחזרו בפועל או את ספריית המדיה שבבעלותכם; לעולם אל תבנו URL של משימה ממזהה הפעולה ואל תשלחו שוב בקשת יצירה.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Fs2.1-pro-free%3Afree&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro-free%3Afree&amp;fmt=speech\"><code>fish-audio/s2.1-pro-free:free</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fs2.1-pro-free%3Afree&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro-free%3Afree&amp;fmt=speech\"><code>fish-audio/s2.1-pro-free:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s2.1-pro-free:free",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro-free%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "שמרו את X-Client-Request-ID שהוחזר לצורך התאמת רישומים. קראו רק ערכי task_id/asset_id שהוחזרו בפועל או את ספריית המדיה שבבעלותכם; לעולם אל תבנו URL של משימה ממזהה הפעולה ואל תשלחו שוב בקשת יצירה."
            },
            "outputs": {
              "all_results": "שמרו את התשובה המלאה ואת הכותרות, כל פלט שהתקבל בפועל, את המזהים המקוריים שהוחזרו ואת כל שדות השימוש. שחזרו את הפעולה המקורית בלי לשלוח שוב בקשת יצירה.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "אודיו בינארי מלא או תגובת audio_url מקורית, כותרות וכל נכס שבבעלותכם."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro-free:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro-free:free"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro-free:free",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "ערך task_id שהוחזר בפועל או רשומה בספריית המדיה",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "דיבור",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": 0
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "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",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s2.1-pro-free:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a036490bba0f5c14dc0d44d3297d59ae8b62e64d8c82f7e4c60f3ad685a07073",
    "input_html_sha256": "7b5f9eb7c20920daca4bf1854edc68b764a618a73e6c6f3bf0c08ea9d5a2db51",
    "private_audit_sha256": "379f1ad4404f60484fdc046bea32c0cf172363168f2aa0063941cb26a48ac5b8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/fish-audio-s2-1-pro-free-u003a-free/",
    "description": "S2.1 Pro Free היא מהדורת הפיתוח של מודל הדיבור S2.1 מבית Fish Audio לקריינות, לפלט קולי עם הוראות ביצוע ולדיאלוג בין כמה דוברים. היא חולקת את יכולות סינתזת הדיבור של המודל לצורכי בדיקה ויצירת אבות־טיפוס.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/fish-audio-s2-1-pro-free-u003a-free/index.md",
    "title": "Fish Audio: S2.1 Pro Free (free) — Ailoot",
    "url": "https://ailoot.ai/models/he/fish-audio-s2-1-pro-free-u003a-free/"
  },
  "rawModel": {
    "about": "S2.1 Pro Free היא המהדורה המיועדת למפתחים של מודל הטקסט־לדיבור S2.1 מבית Fish Audio. היא חולקת עם S2.1 Pro את המודל הבסיסי ואת יכולות הסינתזה המרכזיות: דיבור רב־לשוני מלא הבעה, הוראות ביצוע בשפה טבעית ודיאלוג מובנה בין כמה דוברים. תפקידה הוא בדיקה, יצירת אבות־טיפוס, פיתוח ותהליכי עבודה קטנים יותר ביישומים.\n\nלאב־טיפוס של עוזר קולי, התחילו בתשובה מלאה לדוגמה והעריכו כיצד היא נשמעת לפני בדיקת טקסט המגיע בהדרגה. למוצר לימודי, הכינו הסבר קצר עם המונחים המדויקים ועם אופן הקראת המספרים שהמאזין צריך. לאב־טיפוס של דיאלוג, הגדירו את הדוברים ואת הקלטות הייחוס לקולותיהם לפני הוספת הוראות ביצוע. צעדים אלה מפתחים תוצר אודיו ואת תהליך היישום שסביבו, במקום להטיל על בקשת הסינתזה אחריות לשיחה כולה.\n\nכתבו את המילים שאמורות להיאמר בפועל, ולאחר מכן הציבו הוראה מיד לפני הקטע שאופן הגשתו צריך להשתנות. הוראות בסוגריים מרובעים יכולות לבטא לחישה, הפסקה, תגובה, הדגשה או סגנון דיבור המתואר באופן חופשי. הציבו שינוי באמצע משפט במקום שבו הביצוע דורש זאת, והוסיפו דיבור ממשי לאחר הוראות תיאוריות. בריף שימושי לסרטון הסבר מפריד בין הניסוח העובדתי לבין החמימות, הקצב או ההדגשה הרצויים למאזין.\n\nלדובר יחיד, בחרו מזהה קול שמור או ספקו הקלטת ייחוס עם התמליל שלה. מדריך הדיבור של היצרן ממליץ על דגימה נקייה באורך 10–30 שניות לצורך התאמה מיידית של הקול. בחרו הקלטת ייחוס שהטון ואיכות ההקלטה שלה מתאימים לתסריט, ושמרו על אותה הקלטה בקטעים הקשורים זה לזה. הקלטת הייחוס מספקת את הצליל של הדובר; הטקסט וההוראות המשולבות בו מספקים את התוכן ואת אופן ביצועו.\n\nסינתזה מובנית של כמה דוברים משתמשת בסמנים כגון <|speaker:0|> ו־<|speaker:1|>, בצירוף מערך מסודר של מזהי קול או קבוצות ייחוס נפרדות. הקפידו שתוויות הדוברים המספריות יתאימו לסדר הזה. בדיאלוג הדרכתי, כתבו את השורה של כל דובר והציבו את הוראת הביצוע אחרי סמן הדובר, במקומה המתאים. כך נוצר דיאלוג בבקשה אחת; זהו תהליך שונה מהקטעים הנפרדים לדובר יחיד של S1 ומהרכבתם בהמשך.\n\nתהליך העבודה של היצרן מציע פלט MP3,‏ WAV,‏ PCM גולמי ו־Opus, כאשר MP3 הוא ברירת המחדל. MP3 תומך בקצבי סיביות של 64,‏ 128 ו־192 קילוביט לשנייה; WAV ו־PCM משתמשים בפורמטי דגימה מתועדים של מונו ב־16 סיביות, ואילו Opus משתמש ב־48 קילוהרץ. בחרו פורמט לפי היעד: קובץ קריינות לשמירה, השמעה בהזרמה או שרשרת עיבוד אודיו בהמשך. שמרו את התסריט המלא ואת בחירת הקול לצד האודיו, כדי שעריכה מאוחרת תוכל לטפל בשורה אחת בלי לאבד את אופי הביצוע הרצוי.\n\nאפשר להתאים את המהירות בין 0.5 ל־2.0, לצד בקרות עוצמת קול. נרמול הטקסט מרחיב מספרים באנגלית ובסינית לצורך הקראה טבעית. נרמול עוצמת הפלט מוגדר כברירת מחדל ל־true ומוחל על משפחת S2; אותו שדה לא השפיע על S1. הפרמטר repetition_penalty של S1 אינו משנה את האודיו של S2.1 Pro, ולכן אין להתייחס להגדרה ישנה כאל בקרה יעילה למודל זה. בדקו ישירות צלילים ומילים שחוזרים, במקום להסתמך על פרמטר שהועבר מגרסה קודמת כדי לקבוע שהתוצאה תקינה.\n\nתסריטים ארוכים יותר מעובדים במקטעים. טווח אורך המקטע המתועד הוא 100–300, ו־max_new_tokens הוא תקציב אסימוני אודיו לכל מקטע, ולא התחייבות למשך כולל. התניה על המקטע הקודם יכולה להעביר את הקשר הקול למקטע הבא. תהליך המסירה של היצרן מתאר אודיו מלא, מקטעי אודיו הנמסרים בהדרגה והזרמת טקסט בזמן אמת כאשר התסריט מגיע בהדרגה. בחרו את אופן צריכת הפלט המתאים ליישום, ושמרו מספיק הקשר מהתסריט עבור ההגייה והטון של הקטע הבא.\n\nכדי לקבל תוצר סופי שימושי, האזינו למילים שהושמטו או חזרו, להגיית מספרים, למעברי דוברים, להפסקות ולעוצמת הוראות הביצוע. הקלטות ייחוס שונות עשויות לפרש אותה הנחיה בעוצמה שונה, ולכן התחילו בשורה פשוטה עם הוראת ביצוע לפני הוספת תגיות מתחרות. בעבודה רב־לשונית, ספקו את התסריט בשפת היעד במקום לבקש ממודל הדיבור להמציא או לתרגם את תוכנו. תיקון ממוקד משנה את השורה, ההנחיה או הקלטת הייחוס שאחראיות לחוסר ההתאמה, תוך שמירה על חלקי הביצוע שכבר מתאימים לבריף.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s2.1-pro-free:free",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "שמרו את X-Client-Request-ID שהוחזר לצורך התאמת רישומים. קראו רק ערכי task_id/asset_id שהוחזרו בפועל או את ספריית המדיה שבבעלותכם; לעולם אל תבנו URL של משימה ממזהה הפעולה ואל תשלחו שוב בקשת יצירה."
            },
            "outputs": {
              "all_results": "שמרו את התשובה המלאה ואת הכותרות, כל פלט שהתקבל בפועל, את המזהים המקוריים שהוחזרו ואת כל שדות השימוש. שחזרו את הפעולה המקורית בלי לשלוח שוב בקשת יצירה.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "אודיו בינארי מלא או תגובת audio_url מקורית, כותרות וכל נכס שבבעלותכם."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro-free:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro-free:free"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro-free:free",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "ערך task_id שהוחזר בפועל או רשומה בספריית המדיה",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "דיבור",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": 0
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "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",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/s2.1-pro-free:free",
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S2.1 Pro Free (free)",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "S2.1 Pro Free היא מהדורת הפיתוח של מודל הדיבור S2.1 מבית Fish Audio לקריינות, לפלט קולי עם הוראות ביצוע ולדיאלוג בין כמה דוברים. היא חולקת את יכולות סינתזת הדיבור של המודל לצורכי בדיקה ויצירת אבות־טיפוס."
  },
  "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": "S2.1 Pro Free היא מהדורת הפיתוח של מודל הדיבור S2.1 מבית Fish Audio לקריינות, לפלט קולי עם הוראות ביצוע ולדיאלוג בין כמה דוברים. היא חולקת את יכולות סינתזת הדיבור של המודל לצורכי בדיקה ויצירת אבות־טיפוס.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1cda0a9ec3ba3e49830a4fb1f73c28aa32b4cd323e5eea8eaa226af4ea718dfb",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "5579ac3948623c20d073d931fb40fc4338c003601574971d90a6444541501e99"
}
