{
  "aboutHtml": "<p>Grok Text to Speech הוא יכולת הטקסט־לשמע של משפחת הקול Grok. היצרן מתעד דוברים מובנים עשירים בהבעה, רמזים קוליים בתוך הטקסט ופורמטי פלט המתאימים לנגינת מדיה או לשמע טלפוני. הקלט הוא התמליל להקראה, יחד עם בחירות קול ושפה. ההקלטה המתקבלת היא דיבור מתוך אותו תמליל; לזיהוי דיבור ולמודלי דיבור־לדיבור שיחתיים יש משימות נפרדות.</p><h4>קול, שפה וטקסט להקראה</h4><p>קטלוג היצרן מעניק לכל קול פרופיל הגשה. Ara חמה וידידותית, Eve עליזה ובעלת מבטא בריטי, ו־Rex מתואר כברור ובטוח בעצמו. במשפחה המתועדת, קול ושפה בלתי תלויים: דוברים מובנים יכולים להשתמש בכל בחירת שפה נתמכת. המדריך מפרט עשרים אפשרויות של קודי שפה, כולל וריאציות אזוריות, ותומך גם בזיהוי שפה אוטומטי. לצד דוברים מובנים, היצרן מתעד קולות מותאמים לשימוש חוזר, הנוצרים מהקלטת ייחוס ונבחרים באמצעות voice_id לסינתזה מלאה או בהזרמה. שמע הייחוס יכול להיות באורך של עד 120 שניות; מומלצות 90–120 שניות של דיבור נקי של דובר יחיד כדי ללכוד הגשה ואינטונציה. שמרו את דוגמת הייחוס, פרופיל הקול שנוצר וההקלטה שנוצרה כתוצרים נפרדים, והתאימו את ביצוע הייחוס לתסריט המיועד.</p><p>הכינו את הנוסח הסופי להקראה ושמרו על השפה המיועדת של שמות וקטעים מצוטטים. במדריך מוקרא, שורה שימושית היא: ״בחרו נושא, האזינו לפתיחה הקצרה ופתחו את המקטע שברצונכם לחקור.״ אם שם מותג או מונח מקצועי דורשים קריאה מסוימת, בקרות ההחלפה של היצרן יכולות לספק איות מחדש או הגיית IPA בלי לשנות את טקסט המקור המוצג. אפשרות נרמול טקסט נפרדת ממירה מספרים, קיצורים וסמלים כתובים לכיוון צורתם המדוברת.</p><h4>רמזי ביצוע</h4><p>תגים בתוך הטקסט מציבים אירוע בנקודה מסוימת, כגון הפסקה, צחוק, אנחה או נשימה. תגים עוטפים מחילים הגשה על ביטוי שלם, למשל לחישה, הדגשה או קטע איטי יותר. הציבו את הרמז במקום שהמשמעות דורשת ושמרו על מילים קריאות. המדריך ממליץ על טווחי סגנון לביטויים שלמים ועל פיסוק, במקום ערמה של תגים בלתי קשורים.</p><p>לשורת דמות עשירה בהבעה, הכינו יחד את המשפט המדובר ואת שינוי הביצוע. להסבר, שמרו על קצב ברור המסייע למאזין לעקוב אחר השלבים. טווח קצב הדיבור המתועד הוא 0.7 עד 1.5, כאשר 1.0 הוא הגשה רגילה. בחירת מהירות משנה את קצב הדיבור; היא אינה משנה את המילים שהיישום צריך להעביר.</p><h4>שמע ותזמונים</h4><p>היצרן מתעד פלט MP3, ‏WAV, ‏PCM גולמי, mu-law ו־A-law. אפשרויות קצב הדגימה הנתמכות נעות מ־8 kHz עד 48 kHz, עם קצבים מסוימים המפורטים בין הערכים הללו. תצורת ה־MP3 שלו כברירת מחדל היא 24 kHz ב־128 kbit/s. השתמשו בייצוג שמע שהנגן, שלב העריכה או נתיב הטלפוניה המיועדים יכולים לפענח.</p><p>תזמוני תווים אופציונליים מקשרים את רצף התווים המוחזר לזמני התחלה וסיום. ללא החלפות הגייה, הרצף משקף את הקלט; החלפות יכולות לשנותו לטקסט המדובר. התזמונים יכולים לתמוך בתצוגת קריאה מלווה, בהדגשה או ביישור לביצוע חזותי. בתהליך התגובה המלאה, בקשת תזמונים משנה את הפלט למעטפת המכילה שמע מקודד ונתוני תזמון. התייחסו לתזמונים ולשמע כאל תוצאה מזווגת, במיוחד כאשר נרמול טקסט מרחיב סמל כתוב לכמה מילים מדוברות.</p><h4>יצירה מלאה או בהזרמה</h4><p>היצרן מציע נתיב לבקשה מלאה והזרמה דו־כיוונית, שבה שברי טקסט מגיעים ומקטעי שמע חוזרים תוך יצירת האמירה. הוא מתעד מגבלה של 60,000 תווים לבקשה מלאה ולכל שבר טקסט מוזרם בודד. להשלמת אמירה או לניקויה יש תפקיד מפורש בתהליך ההזרמה.</p><p>לקריינות ארוכה יותר בחרו גבולות קטעים מגובשים ושמרו את התסריט לצד כל תוצאה. בהשמעה אינטראקטיבית הבחינו בין טקסט שנשלח לסינתזה לבין שמע שכבר נשמע למאזין. התוצר השימושי הוא תסריט מוקרא עם רמזי ביצוע מכוונים, פורמט שמע מתאים ונתוני תזמון כאשר היישום זקוק להם. שמרו לצד השמע את התסריט, הקול שנבחר, רמזי הביצוע והגדרות הפלט, כדי ששינויים מאוחרים ישמרו על ההגשה המיועדת.</p>",
  "aboutText": "Grok Text to Speech הוא יכולת הטקסט־לשמע של משפחת הקול Grok. היצרן מתעד דוברים מובנים עשירים בהבעה, רמזים קוליים בתוך הטקסט ופורמטי פלט המתאימים לנגינת מדיה או לשמע טלפוני. הקלט הוא התמליל להקראה, יחד עם בחירות קול ושפה. ההקלטה המתקבלת היא דיבור מתוך אותו תמליל; לזיהוי דיבור ולמודלי דיבור־לדיבור שיחתיים יש משימות נפרדות.\n\n### קול, שפה וטקסט להקראה\n\nקטלוג היצרן מעניק לכל קול פרופיל הגשה. Ara חמה וידידותית, Eve עליזה ובעלת מבטא בריטי, ו־Rex מתואר כברור ובטוח בעצמו. במשפחה המתועדת, קול ושפה בלתי תלויים: דוברים מובנים יכולים להשתמש בכל בחירת שפה נתמכת. המדריך מפרט עשרים אפשרויות של קודי שפה, כולל וריאציות אזוריות, ותומך גם בזיהוי שפה אוטומטי. לצד דוברים מובנים, היצרן מתעד קולות מותאמים לשימוש חוזר, הנוצרים מהקלטת ייחוס ונבחרים באמצעות voice_id לסינתזה מלאה או בהזרמה. שמע הייחוס יכול להיות באורך של עד 120 שניות; מומלצות 90–120 שניות של דיבור נקי של דובר יחיד כדי ללכוד הגשה ואינטונציה. שמרו את דוגמת הייחוס, פרופיל הקול שנוצר וההקלטה שנוצרה כתוצרים נפרדים, והתאימו את ביצוע הייחוס לתסריט המיועד.\n\nהכינו את הנוסח הסופי להקראה ושמרו על השפה המיועדת של שמות וקטעים מצוטטים. במדריך מוקרא, שורה שימושית היא: ״בחרו נושא, האזינו לפתיחה הקצרה ופתחו את המקטע שברצונכם לחקור.״ אם שם מותג או מונח מקצועי דורשים קריאה מסוימת, בקרות ההחלפה של היצרן יכולות לספק איות מחדש או הגיית IPA בלי לשנות את טקסט המקור המוצג. אפשרות נרמול טקסט נפרדת ממירה מספרים, קיצורים וסמלים כתובים לכיוון צורתם המדוברת.\n\n### רמזי ביצוע\n\nתגים בתוך הטקסט מציבים אירוע בנקודה מסוימת, כגון הפסקה, צחוק, אנחה או נשימה. תגים עוטפים מחילים הגשה על ביטוי שלם, למשל לחישה, הדגשה או קטע איטי יותר. הציבו את הרמז במקום שהמשמעות דורשת ושמרו על מילים קריאות. המדריך ממליץ על טווחי סגנון לביטויים שלמים ועל פיסוק, במקום ערמה של תגים בלתי קשורים.\n\nלשורת דמות עשירה בהבעה, הכינו יחד את המשפט המדובר ואת שינוי הביצוע. להסבר, שמרו על קצב ברור המסייע למאזין לעקוב אחר השלבים. טווח קצב הדיבור המתועד הוא 0.7 עד 1.5, כאשר 1.0 הוא הגשה רגילה. בחירת מהירות משנה את קצב הדיבור; היא אינה משנה את המילים שהיישום צריך להעביר.\n\n### שמע ותזמונים\n\nהיצרן מתעד פלט MP3, ‏WAV, ‏PCM גולמי, mu-law ו־A-law. אפשרויות קצב הדגימה הנתמכות נעות מ־8 kHz עד 48 kHz, עם קצבים מסוימים המפורטים בין הערכים הללו. תצורת ה־MP3 שלו כברירת מחדל היא 24 kHz ב־128 kbit/s. השתמשו בייצוג שמע שהנגן, שלב העריכה או נתיב הטלפוניה המיועדים יכולים לפענח.\n\nתזמוני תווים אופציונליים מקשרים את רצף התווים המוחזר לזמני התחלה וסיום. ללא החלפות הגייה, הרצף משקף את הקלט; החלפות יכולות לשנותו לטקסט המדובר. התזמונים יכולים לתמוך בתצוגת קריאה מלווה, בהדגשה או ביישור לביצוע חזותי. בתהליך התגובה המלאה, בקשת תזמונים משנה את הפלט למעטפת המכילה שמע מקודד ונתוני תזמון. התייחסו לתזמונים ולשמע כאל תוצאה מזווגת, במיוחד כאשר נרמול טקסט מרחיב סמל כתוב לכמה מילים מדוברות.\n\n### יצירה מלאה או בהזרמה\n\nהיצרן מציע נתיב לבקשה מלאה והזרמה דו־כיוונית, שבה שברי טקסט מגיעים ומקטעי שמע חוזרים תוך יצירת האמירה. הוא מתעד מגבלה של 60,000 תווים לבקשה מלאה ולכל שבר טקסט מוזרם בודד. להשלמת אמירה או לניקויה יש תפקיד מפורש בתהליך ההזרמה.\n\nלקריינות ארוכה יותר בחרו גבולות קטעים מגובשים ושמרו את התסריט לצד כל תוצאה. בהשמעה אינטראקטיבית הבחינו בין טקסט שנשלח לסינתזה לבין שמע שכבר נשמע למאזין. התוצר השימושי הוא תסריט מוקרא עם רמזי ביצוע מכוונים, פורמט שמע מתאים ונתוני תזמון כאשר היישום זקוק להם. שמרו לצד השמע את התסריט, הקול שנבחר, רמזי הביצוע והגדרות הפלט, כדי ששינויים מאוחרים ישמרו על ההגשה המיועדת.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e2e3b64715ce156d3358804686e876e7f18f876a982618c35b8a4e90a0b13189",
    "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\">SpaceXAI: Grok Voice TTS 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>SpaceXAI /</span><code>x-ai/grok-voice-tts-1.0</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|x-ai%2Fgrok-voice-tts-1.0\">הקראה</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\">Grok Text to Speech הופך טקסט כתוב לשמע עשיר בהבעה, עם קולות לבחירה, רמזי ביצוע בתוך הטקסט ומספר קודקי פלט. משפחת היצרן המתועדת תומכת בדיבור מלא ובהזרמה, וכן בתזמון אופציונלי ברמת התו.</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>Grok Text to Speech הוא יכולת הטקסט־לשמע של משפחת הקול Grok. היצרן מתעד דוברים מובנים עשירים בהבעה, רמזים קוליים בתוך הטקסט ופורמטי פלט המתאימים לנגינת מדיה או לשמע טלפוני. הקלט הוא התמליל להקראה, יחד עם בחירות קול ושפה. ההקלטה המתקבלת היא דיבור מתוך אותו תמליל; לזיהוי דיבור ולמודלי דיבור־לדיבור שיחתיים יש משימות נפרדות.</p><h4>קול, שפה וטקסט להקראה</h4><p>קטלוג היצרן מעניק לכל קול פרופיל הגשה. Ara חמה וידידותית, Eve עליזה ובעלת מבטא בריטי, ו־Rex מתואר כברור ובטוח בעצמו. במשפחה המתועדת, קול ושפה בלתי תלויים: דוברים מובנים יכולים להשתמש בכל בחירת שפה נתמכת. המדריך מפרט עשרים אפשרויות של קודי שפה, כולל וריאציות אזוריות, ותומך גם בזיהוי שפה אוטומטי. לצד דוברים מובנים, היצרן מתעד קולות מותאמים לשימוש חוזר, הנוצרים מהקלטת ייחוס ונבחרים באמצעות voice_id לסינתזה מלאה או בהזרמה. שמע הייחוס יכול להיות באורך של עד 120 שניות; מומלצות 90–120 שניות של דיבור נקי של דובר יחיד כדי ללכוד הגשה ואינטונציה. שמרו את דוגמת הייחוס, פרופיל הקול שנוצר וההקלטה שנוצרה כתוצרים נפרדים, והתאימו את ביצוע הייחוס לתסריט המיועד.</p><p>הכינו את הנוסח הסופי להקראה ושמרו על השפה המיועדת של שמות וקטעים מצוטטים. במדריך מוקרא, שורה שימושית היא: ״בחרו נושא, האזינו לפתיחה הקצרה ופתחו את המקטע שברצונכם לחקור.״ אם שם מותג או מונח מקצועי דורשים קריאה מסוימת, בקרות ההחלפה של היצרן יכולות לספק איות מחדש או הגיית IPA בלי לשנות את טקסט המקור המוצג. אפשרות נרמול טקסט נפרדת ממירה מספרים, קיצורים וסמלים כתובים לכיוון צורתם המדוברת.</p><h4>רמזי ביצוע</h4><p>תגים בתוך הטקסט מציבים אירוע בנקודה מסוימת, כגון הפסקה, צחוק, אנחה או נשימה. תגים עוטפים מחילים הגשה על ביטוי שלם, למשל לחישה, הדגשה או קטע איטי יותר. הציבו את הרמז במקום שהמשמעות דורשת ושמרו על מילים קריאות. המדריך ממליץ על טווחי סגנון לביטויים שלמים ועל פיסוק, במקום ערמה של תגים בלתי קשורים.</p><p>לשורת דמות עשירה בהבעה, הכינו יחד את המשפט המדובר ואת שינוי הביצוע. להסבר, שמרו על קצב ברור המסייע למאזין לעקוב אחר השלבים. טווח קצב הדיבור המתועד הוא 0.7 עד 1.5, כאשר 1.0 הוא הגשה רגילה. בחירת מהירות משנה את קצב הדיבור; היא אינה משנה את המילים שהיישום צריך להעביר.</p><h4>שמע ותזמונים</h4><p>היצרן מתעד פלט MP3, ‏WAV, ‏PCM גולמי, mu-law ו־A-law. אפשרויות קצב הדגימה הנתמכות נעות מ־8 kHz עד 48 kHz, עם קצבים מסוימים המפורטים בין הערכים הללו. תצורת ה־MP3 שלו כברירת מחדל היא 24 kHz ב־128 kbit/s. השתמשו בייצוג שמע שהנגן, שלב העריכה או נתיב הטלפוניה המיועדים יכולים לפענח.</p><p>תזמוני תווים אופציונליים מקשרים את רצף התווים המוחזר לזמני התחלה וסיום. ללא החלפות הגייה, הרצף משקף את הקלט; החלפות יכולות לשנותו לטקסט המדובר. התזמונים יכולים לתמוך בתצוגת קריאה מלווה, בהדגשה או ביישור לביצוע חזותי. בתהליך התגובה המלאה, בקשת תזמונים משנה את הפלט למעטפת המכילה שמע מקודד ונתוני תזמון. התייחסו לתזמונים ולשמע כאל תוצאה מזווגת, במיוחד כאשר נרמול טקסט מרחיב סמל כתוב לכמה מילים מדוברות.</p><h4>יצירה מלאה או בהזרמה</h4><p>היצרן מציע נתיב לבקשה מלאה והזרמה דו־כיוונית, שבה שברי טקסט מגיעים ומקטעי שמע חוזרים תוך יצירת האמירה. הוא מתעד מגבלה של 60,000 תווים לבקשה מלאה ולכל שבר טקסט מוזרם בודד. להשלמת אמירה או לניקויה יש תפקיד מפורש בתהליך ההזרמה.</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><div><dt>פורמט פלט</dt><dd>mp3</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>x-ai/grok-voice-tts-1.0</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><div>אורך מרבי: ⁦15,000⁩</div><div>יחידה: תווי Unicode</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\">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>eve, ara, rex, sal, leo</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</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>text_to_speech</b> · נדרש: input</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, response_format</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>eve, ara, rex, sal, leo</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</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>max_input_characters</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>15000</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>other_options</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>input</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>טקסט UTF-8 מדויק; ספירת תווי Unicode ללא נרמול</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><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><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>—</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>כל נקודת קוד של Unicode נספרת כתו אחד, כולל סימני האן.</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>לכל 1K תווי קלט</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · תו בקלט</span> <b>$0.03</b> <span class=\"price-unit\">לכל 1K תווי קלט</span></div></td></tr></tbody></table></div></div><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>SpaceXAI: Grok Voice TTS 1.0</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>SpaceXAI: Grok Voice TTS 1.0 · תצורת ברירת המחדל</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>תצורת ברירת מחדל</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · תווי קלט</span> <b>⁦‏0.00003 ‏$⁩</b> <span class=\"price-unit\">לכל תו בקלט</span></div></td></tr></tbody></table></div></details></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-2731-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2731-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-2731-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2731-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;x-ai/grok-voice-tts-1.0&quot;, &quot;input&quot;: &quot;Good afternoon! This is a short voice take.&quot;}&#39;)\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nallowed=json.loads(&#39;[&quot;eve&quot;, &quot;ara&quot;, &quot;rex&quot;, &quot;sal&quot;, &quot;leo&quot;]&#39;)\nif voice not in allowed: raise SystemExit(&quot;Choose an accepted voice ID from this exact model profile&quot;)\np[&quot;voice&quot;]=voice\np[&quot;response_format&quot;]=&quot;mp3&quot;\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\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 speech.mp3\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\">mp3</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-2732-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2732-panel-0\" aria-selected=\"true\" tabindex=\"0\">ספריית מדיה</button><button class=\"cg-tab\" id=\"model-code-2732-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2732-panel-1\" aria-selected=\"false\" tabindex=\"-1\">מצב המשימה</button><button class=\"cg-tab\" id=\"model-code-2732-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2732-panel-2\" aria-selected=\"false\" tabindex=\"-1\">פרטי הנכס</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-2732-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2732-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 media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2732-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2732-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2732-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2732-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\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\">שמרו את התוצאה הבינארית המלאה ואת הכותרות. אם מוחזרים JSON או פלטים מרובים, שמרו כל פריט נתונים והורידו כל נכס מה־URL החתום שלו שהוחזר בפועל.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">שמרו את operation_id/X-Client-Request-ID המקורי לצורך התאמת רישומים ללא שליחה מחדש; אין נתיב ייעודי לתשאול סטטוס אודיו.</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></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><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>תקנו את השדות שצוינו לפני בקשת יצירה חדשה.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span><code>server_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=x-ai%2Fgrok-voice-tts-1.0&amp;route=Ultra&amp;caller=x-ai%2Fgrok-voice-tts-1.0&amp;fmt=speech\"><code>x-ai/grok-voice-tts-1.0</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=x-ai%2Fgrok-voice-tts-1.0&amp;route=Ultra&amp;caller=x-ai%2Fgrok-voice-tts-1.0&amp;fmt=speech\"><code>x-ai/grok-voice-tts-1.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "x-ai/grok-voice-tts-1.0",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "x-ai/grok-voice-tts-1.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|x-ai%2Fgrok-voice-tts-1.0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "שמרו את operation_id/X-Client-Request-ID המקורי לצורך התאמת רישומים ללא שליחה מחדש; אין נתיב ייעודי לתשאול סטטוס אודיו."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "שמרו את התוצאה הבינארית המלאה ואת הכותרות. אם מוחזרים JSON או פלטים מרובים, שמרו כל פריט נתונים והורידו כל נכס מה־URL החתום שלו שהוחזר בפועל.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "x-ai/grok-voice-tts-1.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": true,
                "maximum_length": 15000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "eve",
                  "ara",
                  "rex",
                  "sal",
                  "leo"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "יש לבחור קול מדויק מתוך פרופיל המודל הזה.",
            "תווי קלט ושניות אודיו הם מדדי חיוב שונים."
          ],
          "input": {
            "content_type": "application/json",
            "input": "טקסט UTF-8 מדויק; ספירת תווי Unicode ללא נרמול",
            "material_types": [
              "text"
            ],
            "max_input_characters": 15000,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "eve",
              "ara",
              "rex",
              "sal",
              "leo"
            ]
          },
          "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 for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "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_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "5e001ac1780cc15b5437",
            "label": "SpaceXAI: Grok Voice TTS 1.0",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "תצורת ברירת מחדל"
                },
                "label": "SpaceXAI: Grok Voice TTS 1.0 · תצורת ברירת המחדל",
                "units": [
                  {
                    "amount": "0.000030",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "ed8a12aff2e585a97bdf27e4",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"x-ai/grok-voice-tts-1.0\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"eve\", \"ara\", \"rex\", \"sal\", \"leo\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "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 media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "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_character": 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_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "request_model_id": "x-ai/grok-voice-tts-1.0",
        "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.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    }
  ],
  "model_id": "x-ai/grok-voice-tts-1.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "69135d9816656e72ff82b585aeec0446456ce4369919e125d66112128db8d89e",
    "input_html_sha256": "b0babad3cf7940ab6fc0b530a7932f28fa2ec4c9d3cc66c7f36437124aae7476",
    "private_audit_sha256": "8b8f784f7febc31d5024b00dc24fb8d1984e2ffd70fc8cf32f9748154501849c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/x-ai-grok-voice-tts-1-0/",
    "description": "Grok Text to Speech הופך טקסט כתוב לשמע עשיר בהבעה, עם קולות לבחירה, רמזי ביצוע בתוך הטקסט ומספר קודקי פלט. משפחת היצרן המתועדת תומכת בדיבור מלא ובהזרמה, וכן בתזמון אופציונלי ברמת התו.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/x-ai-grok-voice-tts-1-0/index.md",
    "title": "SpaceXAI: Grok Voice TTS 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/he/x-ai-grok-voice-tts-1-0/"
  },
  "rawModel": {
    "about": "Grok Text to Speech הוא יכולת הטקסט־לשמע של משפחת הקול Grok. היצרן מתעד דוברים מובנים עשירים בהבעה, רמזים קוליים בתוך הטקסט ופורמטי פלט המתאימים לנגינת מדיה או לשמע טלפוני. הקלט הוא התמליל להקראה, יחד עם בחירות קול ושפה. ההקלטה המתקבלת היא דיבור מתוך אותו תמליל; לזיהוי דיבור ולמודלי דיבור־לדיבור שיחתיים יש משימות נפרדות.\n\n### קול, שפה וטקסט להקראה\n\nקטלוג היצרן מעניק לכל קול פרופיל הגשה. Ara חמה וידידותית, Eve עליזה ובעלת מבטא בריטי, ו־Rex מתואר כברור ובטוח בעצמו. במשפחה המתועדת, קול ושפה בלתי תלויים: דוברים מובנים יכולים להשתמש בכל בחירת שפה נתמכת. המדריך מפרט עשרים אפשרויות של קודי שפה, כולל וריאציות אזוריות, ותומך גם בזיהוי שפה אוטומטי. לצד דוברים מובנים, היצרן מתעד קולות מותאמים לשימוש חוזר, הנוצרים מהקלטת ייחוס ונבחרים באמצעות voice_id לסינתזה מלאה או בהזרמה. שמע הייחוס יכול להיות באורך של עד 120 שניות; מומלצות 90–120 שניות של דיבור נקי של דובר יחיד כדי ללכוד הגשה ואינטונציה. שמרו את דוגמת הייחוס, פרופיל הקול שנוצר וההקלטה שנוצרה כתוצרים נפרדים, והתאימו את ביצוע הייחוס לתסריט המיועד.\n\nהכינו את הנוסח הסופי להקראה ושמרו על השפה המיועדת של שמות וקטעים מצוטטים. במדריך מוקרא, שורה שימושית היא: ״בחרו נושא, האזינו לפתיחה הקצרה ופתחו את המקטע שברצונכם לחקור.״ אם שם מותג או מונח מקצועי דורשים קריאה מסוימת, בקרות ההחלפה של היצרן יכולות לספק איות מחדש או הגיית IPA בלי לשנות את טקסט המקור המוצג. אפשרות נרמול טקסט נפרדת ממירה מספרים, קיצורים וסמלים כתובים לכיוון צורתם המדוברת.\n\n### רמזי ביצוע\n\nתגים בתוך הטקסט מציבים אירוע בנקודה מסוימת, כגון הפסקה, צחוק, אנחה או נשימה. תגים עוטפים מחילים הגשה על ביטוי שלם, למשל לחישה, הדגשה או קטע איטי יותר. הציבו את הרמז במקום שהמשמעות דורשת ושמרו על מילים קריאות. המדריך ממליץ על טווחי סגנון לביטויים שלמים ועל פיסוק, במקום ערמה של תגים בלתי קשורים.\n\nלשורת דמות עשירה בהבעה, הכינו יחד את המשפט המדובר ואת שינוי הביצוע. להסבר, שמרו על קצב ברור המסייע למאזין לעקוב אחר השלבים. טווח קצב הדיבור המתועד הוא 0.7 עד 1.5, כאשר 1.0 הוא הגשה רגילה. בחירת מהירות משנה את קצב הדיבור; היא אינה משנה את המילים שהיישום צריך להעביר.\n\n### שמע ותזמונים\n\nהיצרן מתעד פלט MP3, ‏WAV, ‏PCM גולמי, mu-law ו־A-law. אפשרויות קצב הדגימה הנתמכות נעות מ־8 kHz עד 48 kHz, עם קצבים מסוימים המפורטים בין הערכים הללו. תצורת ה־MP3 שלו כברירת מחדל היא 24 kHz ב־128 kbit/s. השתמשו בייצוג שמע שהנגן, שלב העריכה או נתיב הטלפוניה המיועדים יכולים לפענח.\n\nתזמוני תווים אופציונליים מקשרים את רצף התווים המוחזר לזמני התחלה וסיום. ללא החלפות הגייה, הרצף משקף את הקלט; החלפות יכולות לשנותו לטקסט המדובר. התזמונים יכולים לתמוך בתצוגת קריאה מלווה, בהדגשה או ביישור לביצוע חזותי. בתהליך התגובה המלאה, בקשת תזמונים משנה את הפלט למעטפת המכילה שמע מקודד ונתוני תזמון. התייחסו לתזמונים ולשמע כאל תוצאה מזווגת, במיוחד כאשר נרמול טקסט מרחיב סמל כתוב לכמה מילים מדוברות.\n\n### יצירה מלאה או בהזרמה\n\nהיצרן מציע נתיב לבקשה מלאה והזרמה דו־כיוונית, שבה שברי טקסט מגיעים ומקטעי שמע חוזרים תוך יצירת האמירה. הוא מתעד מגבלה של 60,000 תווים לבקשה מלאה ולכל שבר טקסט מוזרם בודד. להשלמת אמירה או לניקויה יש תפקיד מפורש בתהליך ההזרמה.\n\nלקריינות ארוכה יותר בחרו גבולות קטעים מגובשים ושמרו את התסריט לצד כל תוצאה. בהשמעה אינטראקטיבית הבחינו בין טקסט שנשלח לסינתזה לבין שמע שכבר נשמע למאזין. התוצר השימושי הוא תסריט מוקרא עם רמזי ביצוע מכוונים, פורמט שמע מתאים ונתוני תזמון כאשר היישום זקוק להם. שמרו לצד השמע את התסריט, הקול שנבחר, רמזי הביצוע והגדרות הפלט, כדי ששינויים מאוחרים ישמרו על ההגשה המיועדת.",
    "alias_of": null,
    "aliases": [],
    "author": "SpaceXAI",
    "available": null,
    "canonical_model": "x-ai/grok-voice-tts-1.0",
    "capabilities": {
      "context_length": 15000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "x-ai/grok-voice-tts-1.0",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "שמרו את operation_id/X-Client-Request-ID המקורי לצורך התאמת רישומים ללא שליחה מחדש; אין נתיב ייעודי לתשאול סטטוס אודיו."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "שמרו את התוצאה הבינארית המלאה ואת הכותרות. אם מוחזרים JSON או פלטים מרובים, שמרו כל פריט נתונים והורידו כל נכס מה־URL החתום שלו שהוחזר בפועל.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3",
              "http_success": 200
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "x-ai/grok-voice-tts-1.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": true,
                "maximum_length": 15000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "eve",
                  "ara",
                  "rex",
                  "sal",
                  "leo"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "every field outside exactmodel,input,voice,response_format",
              "stream/speed/reference speech options"
            ]
          },
          "hints": [
            "יש לבחור קול מדויק מתוך פרופיל המודל הזה.",
            "תווי קלט ושניות אודיו הם מדדי חיוב שונים."
          ],
          "input": {
            "content_type": "application/json",
            "input": "טקסט UTF-8 מדויק; ספירת תווי Unicode ללא נרמול",
            "material_types": [
              "text"
            ],
            "max_input_characters": 15000,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "eve",
              "ara",
              "rex",
              "sal",
              "leo"
            ]
          },
          "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 for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "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_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "declared_tariff_references": [
          {
            "client_selectable": false,
            "key": "5e001ac1780cc15b5437",
            "label": "SpaceXAI: Grok Voice TTS 1.0",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "תצורת ברירת מחדל"
                },
                "label": "SpaceXAI: Grok Voice TTS 1.0 · תצורת ברירת המחדל",
                "units": [
                  {
                    "amount": "0.000030",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "ed8a12aff2e585a97bdf27e4",
                    "label": "Input characters",
                    "public_unit_label": "per input character",
                    "quantity": "1",
                    "rate_role": "declared_tariff_rate",
                    "side": "in",
                    "unit": "input_character"
                  }
                ]
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"x-ai/grok-voice-tts-1.0\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"eve\", \"ara\", \"rex\", \"sal\", \"leo\"]')\nif voice not in allowed: raise SystemExit(\"Choose an accepted voice ID from this exact model profile\")\np[\"voice\"]=voice\np[\"response_format\"]=\"mp3\"\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "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 media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "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_character": 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_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          }
        ],
        "request_model_id": "x-ai/grok-voice-tts-1.0",
        "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.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "x-ai/grok-voice-tts-1.0",
        "request_model_id": "x-ai/grok-voice-tts-1.0",
        "route_label": "Ultra"
      }
    ],
    "name": "SpaceXAI: Grok Voice TTS 1.0",
    "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": {
          "quoted_unit": "1000000_characters"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000030",
            "amount_unit": "usd_per_input_character",
            "conditions": {
              "quoted_unit": "1000000_characters"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "public_id": "x-ai/grok-voice-tts-1.0",
    "short": "Grok Text to Speech הופך טקסט כתוב לשמע עשיר בהבעה, עם קולות לבחירה, רמזי ביצוע בתוך הטקסט ומספר קודקי פלט. משפחת היצרן המתועדת תומכת בדיבור מלא ובהזרמה, וכן בתזמון אופציונלי ברמת התו."
  },
  "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": "Grok Text to Speech הופך טקסט כתוב לשמע עשיר בהבעה, עם קולות לבחירה, רמזי ביצוע בתוך הטקסט ומספר קודקי פלט. משפחת היצרן המתועדת תומכת בדיבור מלא ובהזרמה, וכן בתזמון אופציונלי ברמת התו.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "4d4c8f0e1b3de502d8abd9ffef1ef7192349ad5bdd36ccfbd3fbcf792e469086",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "b852fff7b95721761b99111c2ddf93c8120f5541d5bfc25efcc31c149869ee29"
}
