{
  "aboutHtml": "<p>Qwen-Audio-3.0-TTS-Plus ממיר טקסט כתוב לדיבור הבעתי, וגרסת Plus מתמקדת באיכות הסינתזה, בטבעיות ובהגשה קולית מפורטת. Qwen מציין יצירת תוכן, ספרי שמע, דיבוב סרטים ווידאו והפקת דיבור מקצועית כיישומים העיקריים. הפרופיל המעודכן מתאר תמיכה רחבה יותר בשפות דלות משאבים ובניבים סיניים, שיפור באותנטיות של הניבים ושליטה טובה יותר ברגש, בטון, בדמות, בקצב הדיבור, בעוצמה ובסגנון. היצרן מדווח גם על שיפור בבהירות, ברזולוציה ובעמידות בתנאים אקוסטיים רועשים או מהדהדים.</p><p>Plus היא הגרסה הממוקדת באיכות במשפחת טקסט לדיבור זו; Flash ממוצבת בנפרד לאינטראקציה בזמן אמת. הכינו קריינות כתסריט לדיבור, עם קהל היעד, הקצב והכיוון הרגשי המוגדרים. לקטע מספר שמע, דוגמת הנחיה יכולה לבקש הגייה ברורה, קצב מדוד וחמימות מאופקת; לקריינות וידאו היא יכולה לבקש פתיחה רצינית ואחריה הסבר אנרגטי יותר. אלה בחירות הגשה למילים שסופקו. המודל הוא מסנתז דיבור, ולא שירות תמלול או מחולל של סצנה חזותית מלאה.</p><p>קולות המערכת הרשמיים של Plus כוללים את Long An Ling Xin, המתואר כחם ואמפתי, ואת Long An Lu Feng, המתואר כבהיר ועליז. שניהם רשומים למנדרינית ולאנגלית. היצרן מספק גם יותר מ-500 קולות בסיס לגרסה זו, עם דוגמאות להאזנה לפני בחירה. הוא ממליץ על קולות מערכת לסינתזה עקבית יותר. בחרו קול מהרשימה המדויקת של Plus והתאימו את שפת התסריט לשפות שבהן הקול תומך; קול של Flash אינו ניתן להחלפה רק משום שהוא שייך לאותה משפחה רחבה.</p><p>המודל תומך בשכפול קול על בסיס דגימה. השפות המתועדות לקולות משוכפלים כוללות סינית, אנגלית, יפנית, קוריאנית, רוסית, צרפתית, גרמנית, פורטוגזית, תאילנדית, אינדונזית, וייטנאמית, ספרדית, איטלקית, מלאית, פיליפינית וערבית. הגרסאות הסיניות כוללות Mandarin, Cantonese, Chongqing, Northeastern, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, Shanghainese, Sichuan ו-Yunnan, כשהניבים נשלטים באמצעות הוראות. טבלת המודל של היצרן מבחינה בין שכפול לבין יצירת קול מתיאור טקסטואלי: שכפול נתמך ב-Plus, ואילו מצב עיצוב הקול הנפרד אינו נתמך.</p><p>דגימת ייחוס מתאימה לשכפול היא דיבור ברור במהירות רגילה, ללא מוזיקה, רעש רקע, דוברים מתחרים או שירה. היצרן ממליץ על 10–20 שניות ומתיר עד 60 שניות בקובץ שגודלו אינו עולה על 10 MB. פורמטי הייחוס הם WAV של 16 ביט, MP3 ו-M4A, עם קצב דגימה של לפחות 16 kHz. נדרשות לפחות חמש שניות של דיבור ברור ורציף, ורצוי שההפסקות שנותרו לא יהיו ארוכות משתי שניות. בסטריאו, רק הערוץ הראשון מעובד. מזהה הקול שנוצר קשור ל-Plus ומשמש לסינתזה כשהוא מוכן; שימוש באותה דגימת ייחוס דרך Flash דורש קול Flash שנוצר בנפרד.</p><p>הוראות בשפה טבעית יכולות לעצב את הטון, הקצב, הרגש והגוון של קולות מערכת ושל קולות משוכפלים. השתמשו בתיאורים שמיעתיים מוחשיים במקום בקשה עמומה לקול טוב. תגיות רגש בתוך התסריט יכולות לקבוע סגנון, ותגיות שפה עשירה יכולות להוסיף אפקט קולי בנקודה נבחרת. לדוגמה, [serious] משנה את ההגשה שאחריו, ואילו [sighing] מוסיף אנחה בלי לשנות את הסגנון הרגשי שסביבה. תגיות שליטה חלות עד תגית השליטה הבאה או עד החלוקה האוטומטית למשפטים. תכונה מבוססת תגיות זו מתועדת להזרמה חד-כיוונית בלבד, ולכן היקפה שונה מהוראות המשמשות עם קלט טקסט דו-כיווני.</p><p>אפשרויות הפלט של היצרן הן PCM, WAV, MP3 ו-Opus, בקצבי הדגימה הרשומים 8,000, 16,000, 22,050, 24,000, 44,100 ו-48,000 Hz. MP3 ו-22,050 Hz הם ברירות המחדל המתועדות. אפשר להגדיר עוצמה מ-0 עד 100, וקצב וגובה צליל מ-0.5 עד 2.0; MP3 ו-Opus מאפשרים גם קצב סיביות מ-6 עד 510 kbps. בחרו את הייצוג הדרוש להשמעה או לעריכה ואז שמרו על עקביות ההגדרות בין חלקי יצירה ארוכה יותר. פלט בהזרמה כולל פריימים של שמע ומטא-נתונים של משפטים, עם חותמות זמן למילים בקולות מתאימים, לרבות קולות משוכפלים.</p><p>תהליך קלט הטקסט המתועד באמצעות WebSocket מאפשר 20,000 תווים להודעה ו-200,000 תווים במצטבר, ודורש מרווח של לא יותר מ-23 שניות בין הגשות. הוא יכול לקבל תסריט מלא או מקטעי טקסט מסודרים ולסיים כשהקלט הושלם. היצרן מתעד גם ביטול של סבב הסינתזה הנוכחי. אלה מגבלות והתנהגויות של הפרוטוקול, ולא תקרת משך אוניברסלית לפלט שנוצר. לקריינות ארוכה, ארגנו את התסריט בחלקים רציפים ושמרו את סדרם ואת הטקסט שלהם לצד השמע המתקבל כדי שאפשר יהיה להרכיב ולבדוק את היצירה באופן עקבי.</p><p>להגייה, היצרן מספק רמזים לשפת היעד, סימוני pinyin והחלפות טקסט לטיפול בקריאות לא רצויות של ספרות, קיצורים, סמלים או מילים. SSML הוא מצב סימון נפרד עם מגבלות התאמה: תיעוד Qwen תומך בו לקולות משוכפלים בקריאות ללא הזרמה או בהזרמה חד-כיוונית, עם הגשת טקסט אחת בלבד כשהוא מופעל. הוא אינו קובע תמיכה ב-SSML לכל קול מערכת או להזרמה דו-כיוונית. תהליך עבודה מעשי ב-Plus מתחיל בקול מתאים ובתסריט גמור, ואז מוסיף בחירות מדויקות של הגשה והגייה לקטע הנקרא.</p>",
  "aboutText": "Qwen-Audio-3.0-TTS-Plus ממיר טקסט כתוב לדיבור הבעתי, וגרסת Plus מתמקדת באיכות הסינתזה, בטבעיות ובהגשה קולית מפורטת. Qwen מציין יצירת תוכן, ספרי שמע, דיבוב סרטים ווידאו והפקת דיבור מקצועית כיישומים העיקריים. הפרופיל המעודכן מתאר תמיכה רחבה יותר בשפות דלות משאבים ובניבים סיניים, שיפור באותנטיות של הניבים ושליטה טובה יותר ברגש, בטון, בדמות, בקצב הדיבור, בעוצמה ובסגנון. היצרן מדווח גם על שיפור בבהירות, ברזולוציה ובעמידות בתנאים אקוסטיים רועשים או מהדהדים.\n\nPlus היא הגרסה הממוקדת באיכות במשפחת טקסט לדיבור זו; Flash ממוצבת בנפרד לאינטראקציה בזמן אמת. הכינו קריינות כתסריט לדיבור, עם קהל היעד, הקצב והכיוון הרגשי המוגדרים. לקטע מספר שמע, דוגמת הנחיה יכולה לבקש הגייה ברורה, קצב מדוד וחמימות מאופקת; לקריינות וידאו היא יכולה לבקש פתיחה רצינית ואחריה הסבר אנרגטי יותר. אלה בחירות הגשה למילים שסופקו. המודל הוא מסנתז דיבור, ולא שירות תמלול או מחולל של סצנה חזותית מלאה.\n\nקולות המערכת הרשמיים של Plus כוללים את Long An Ling Xin, המתואר כחם ואמפתי, ואת Long An Lu Feng, המתואר כבהיר ועליז. שניהם רשומים למנדרינית ולאנגלית. היצרן מספק גם יותר מ-500 קולות בסיס לגרסה זו, עם דוגמאות להאזנה לפני בחירה. הוא ממליץ על קולות מערכת לסינתזה עקבית יותר. בחרו קול מהרשימה המדויקת של Plus והתאימו את שפת התסריט לשפות שבהן הקול תומך; קול של Flash אינו ניתן להחלפה רק משום שהוא שייך לאותה משפחה רחבה.\n\nהמודל תומך בשכפול קול על בסיס דגימה. השפות המתועדות לקולות משוכפלים כוללות סינית, אנגלית, יפנית, קוריאנית, רוסית, צרפתית, גרמנית, פורטוגזית, תאילנדית, אינדונזית, וייטנאמית, ספרדית, איטלקית, מלאית, פיליפינית וערבית. הגרסאות הסיניות כוללות Mandarin, Cantonese, Chongqing, Northeastern, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, Shanghainese, Sichuan ו-Yunnan, כשהניבים נשלטים באמצעות הוראות. טבלת המודל של היצרן מבחינה בין שכפול לבין יצירת קול מתיאור טקסטואלי: שכפול נתמך ב-Plus, ואילו מצב עיצוב הקול הנפרד אינו נתמך.\n\nדגימת ייחוס מתאימה לשכפול היא דיבור ברור במהירות רגילה, ללא מוזיקה, רעש רקע, דוברים מתחרים או שירה. היצרן ממליץ על 10–20 שניות ומתיר עד 60 שניות בקובץ שגודלו אינו עולה על 10 MB. פורמטי הייחוס הם WAV של 16 ביט, MP3 ו-M4A, עם קצב דגימה של לפחות 16 kHz. נדרשות לפחות חמש שניות של דיבור ברור ורציף, ורצוי שההפסקות שנותרו לא יהיו ארוכות משתי שניות. בסטריאו, רק הערוץ הראשון מעובד. מזהה הקול שנוצר קשור ל-Plus ומשמש לסינתזה כשהוא מוכן; שימוש באותה דגימת ייחוס דרך Flash דורש קול Flash שנוצר בנפרד.\n\nהוראות בשפה טבעית יכולות לעצב את הטון, הקצב, הרגש והגוון של קולות מערכת ושל קולות משוכפלים. השתמשו בתיאורים שמיעתיים מוחשיים במקום בקשה עמומה לקול טוב. תגיות רגש בתוך התסריט יכולות לקבוע סגנון, ותגיות שפה עשירה יכולות להוסיף אפקט קולי בנקודה נבחרת. לדוגמה, [serious] משנה את ההגשה שאחריו, ואילו [sighing] מוסיף אנחה בלי לשנות את הסגנון הרגשי שסביבה. תגיות שליטה חלות עד תגית השליטה הבאה או עד החלוקה האוטומטית למשפטים. תכונה מבוססת תגיות זו מתועדת להזרמה חד-כיוונית בלבד, ולכן היקפה שונה מהוראות המשמשות עם קלט טקסט דו-כיווני.\n\nאפשרויות הפלט של היצרן הן PCM, WAV, MP3 ו-Opus, בקצבי הדגימה הרשומים 8,000, 16,000, 22,050, 24,000, 44,100 ו-48,000 Hz. MP3 ו-22,050 Hz הם ברירות המחדל המתועדות. אפשר להגדיר עוצמה מ-0 עד 100, וקצב וגובה צליל מ-0.5 עד 2.0; MP3 ו-Opus מאפשרים גם קצב סיביות מ-6 עד 510 kbps. בחרו את הייצוג הדרוש להשמעה או לעריכה ואז שמרו על עקביות ההגדרות בין חלקי יצירה ארוכה יותר. פלט בהזרמה כולל פריימים של שמע ומטא-נתונים של משפטים, עם חותמות זמן למילים בקולות מתאימים, לרבות קולות משוכפלים.\n\nתהליך קלט הטקסט המתועד באמצעות WebSocket מאפשר 20,000 תווים להודעה ו-200,000 תווים במצטבר, ודורש מרווח של לא יותר מ-23 שניות בין הגשות. הוא יכול לקבל תסריט מלא או מקטעי טקסט מסודרים ולסיים כשהקלט הושלם. היצרן מתעד גם ביטול של סבב הסינתזה הנוכחי. אלה מגבלות והתנהגויות של הפרוטוקול, ולא תקרת משך אוניברסלית לפלט שנוצר. לקריינות ארוכה, ארגנו את התסריט בחלקים רציפים ושמרו את סדרם ואת הטקסט שלהם לצד השמע המתקבל כדי שאפשר יהיה להרכיב ולבדוק את היצירה באופן עקבי.\n\nלהגייה, היצרן מספק רמזים לשפת היעד, סימוני pinyin והחלפות טקסט לטיפול בקריאות לא רצויות של ספרות, קיצורים, סמלים או מילים. SSML הוא מצב סימון נפרד עם מגבלות התאמה: תיעוד Qwen תומך בו לקולות משוכפלים בקריאות ללא הזרמה או בהזרמה חד-כיוונית, עם הגשת טקסט אחת בלבד כשהוא מופעל. הוא אינו קובע תמיכה ב-SSML לכל קול מערכת או להזרמה דו-כיוונית. תהליך עבודה מעשי ב-Plus מתחיל בקול מתאים ובתסריט גמור, ואז מוסיף בחירות מדויקות של הגשה והגייה לקטע הנקרא.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "805b222d87f13b676f854f0ca245507965b2c01f9eda5a654d281f3a24d4cad7",
    "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\">Al</span><h2 id=\"sheet-title\">Qwen: Qwen-Audio-3.0-TTS Plus</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>qwen/qwen-audio-3.0-tts-plus</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|qwen%2Fqwen-audio-3.0-tts-plus\">הקראה</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\">Qwen-Audio-3.0-TTS-Plus הוא מודל הטקסט לדיבור של Qwen, המתמקד בשמע מפורט, טבעי והבעתי לקריינות, לספרי שמע ולדיבוב. הוא תומך בקולות מוכנים מראש או משוכפלים המיועדים למודל, בפלט בהזרמה ובהוראות או תגיות לעיצוב ההגשה.</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>Qwen-Audio-3.0-TTS-Plus ממיר טקסט כתוב לדיבור הבעתי, וגרסת Plus מתמקדת באיכות הסינתזה, בטבעיות ובהגשה קולית מפורטת. Qwen מציין יצירת תוכן, ספרי שמע, דיבוב סרטים ווידאו והפקת דיבור מקצועית כיישומים העיקריים. הפרופיל המעודכן מתאר תמיכה רחבה יותר בשפות דלות משאבים ובניבים סיניים, שיפור באותנטיות של הניבים ושליטה טובה יותר ברגש, בטון, בדמות, בקצב הדיבור, בעוצמה ובסגנון. היצרן מדווח גם על שיפור בבהירות, ברזולוציה ובעמידות בתנאים אקוסטיים רועשים או מהדהדים.</p><p>Plus היא הגרסה הממוקדת באיכות במשפחת טקסט לדיבור זו; Flash ממוצבת בנפרד לאינטראקציה בזמן אמת. הכינו קריינות כתסריט לדיבור, עם קהל היעד, הקצב והכיוון הרגשי המוגדרים. לקטע מספר שמע, דוגמת הנחיה יכולה לבקש הגייה ברורה, קצב מדוד וחמימות מאופקת; לקריינות וידאו היא יכולה לבקש פתיחה רצינית ואחריה הסבר אנרגטי יותר. אלה בחירות הגשה למילים שסופקו. המודל הוא מסנתז דיבור, ולא שירות תמלול או מחולל של סצנה חזותית מלאה.</p><p>קולות המערכת הרשמיים של Plus כוללים את Long An Ling Xin, המתואר כחם ואמפתי, ואת Long An Lu Feng, המתואר כבהיר ועליז. שניהם רשומים למנדרינית ולאנגלית. היצרן מספק גם יותר מ-500 קולות בסיס לגרסה זו, עם דוגמאות להאזנה לפני בחירה. הוא ממליץ על קולות מערכת לסינתזה עקבית יותר. בחרו קול מהרשימה המדויקת של Plus והתאימו את שפת התסריט לשפות שבהן הקול תומך; קול של Flash אינו ניתן להחלפה רק משום שהוא שייך לאותה משפחה רחבה.</p><p>המודל תומך בשכפול קול על בסיס דגימה. השפות המתועדות לקולות משוכפלים כוללות סינית, אנגלית, יפנית, קוריאנית, רוסית, צרפתית, גרמנית, פורטוגזית, תאילנדית, אינדונזית, וייטנאמית, ספרדית, איטלקית, מלאית, פיליפינית וערבית. הגרסאות הסיניות כוללות Mandarin, Cantonese, Chongqing, Northeastern, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, Shanghainese, Sichuan ו-Yunnan, כשהניבים נשלטים באמצעות הוראות. טבלת המודל של היצרן מבחינה בין שכפול לבין יצירת קול מתיאור טקסטואלי: שכפול נתמך ב-Plus, ואילו מצב עיצוב הקול הנפרד אינו נתמך.</p><p>דגימת ייחוס מתאימה לשכפול היא דיבור ברור במהירות רגילה, ללא מוזיקה, רעש רקע, דוברים מתחרים או שירה. היצרן ממליץ על 10–20 שניות ומתיר עד 60 שניות בקובץ שגודלו אינו עולה על 10 MB. פורמטי הייחוס הם WAV של 16 ביט, MP3 ו-M4A, עם קצב דגימה של לפחות 16 kHz. נדרשות לפחות חמש שניות של דיבור ברור ורציף, ורצוי שההפסקות שנותרו לא יהיו ארוכות משתי שניות. בסטריאו, רק הערוץ הראשון מעובד. מזהה הקול שנוצר קשור ל-Plus ומשמש לסינתזה כשהוא מוכן; שימוש באותה דגימת ייחוס דרך Flash דורש קול Flash שנוצר בנפרד.</p><p>הוראות בשפה טבעית יכולות לעצב את הטון, הקצב, הרגש והגוון של קולות מערכת ושל קולות משוכפלים. השתמשו בתיאורים שמיעתיים מוחשיים במקום בקשה עמומה לקול טוב. תגיות רגש בתוך התסריט יכולות לקבוע סגנון, ותגיות שפה עשירה יכולות להוסיף אפקט קולי בנקודה נבחרת. לדוגמה, [serious] משנה את ההגשה שאחריו, ואילו [sighing] מוסיף אנחה בלי לשנות את הסגנון הרגשי שסביבה. תגיות שליטה חלות עד תגית השליטה הבאה או עד החלוקה האוטומטית למשפטים. תכונה מבוססת תגיות זו מתועדת להזרמה חד-כיוונית בלבד, ולכן היקפה שונה מהוראות המשמשות עם קלט טקסט דו-כיווני.</p><p>אפשרויות הפלט של היצרן הן PCM, WAV, MP3 ו-Opus, בקצבי הדגימה הרשומים 8,000, 16,000, 22,050, 24,000, 44,100 ו-48,000 Hz. MP3 ו-22,050 Hz הם ברירות המחדל המתועדות. אפשר להגדיר עוצמה מ-0 עד 100, וקצב וגובה צליל מ-0.5 עד 2.0; MP3 ו-Opus מאפשרים גם קצב סיביות מ-6 עד 510 kbps. בחרו את הייצוג הדרוש להשמעה או לעריכה ואז שמרו על עקביות ההגדרות בין חלקי יצירה ארוכה יותר. פלט בהזרמה כולל פריימים של שמע ומטא-נתונים של משפטים, עם חותמות זמן למילים בקולות מתאימים, לרבות קולות משוכפלים.</p><p>תהליך קלט הטקסט המתועד באמצעות WebSocket מאפשר 20,000 תווים להודעה ו-200,000 תווים במצטבר, ודורש מרווח של לא יותר מ-23 שניות בין הגשות. הוא יכול לקבל תסריט מלא או מקטעי טקסט מסודרים ולסיים כשהקלט הושלם. היצרן מתעד גם ביטול של סבב הסינתזה הנוכחי. אלה מגבלות והתנהגויות של הפרוטוקול, ולא תקרת משך אוניברסלית לפלט שנוצר. לקריינות ארוכה, ארגנו את התסריט בחלקים רציפים ושמרו את סדרם ואת הטקסט שלהם לצד השמע המתקבל כדי שאפשר יהיה להרכיב ולבדוק את היצירה באופן עקבי.</p><p>להגייה, היצרן מספק רמזים לשפת היעד, סימוני pinyin והחלפות טקסט לטיפול בקריאות לא רצויות של ספרות, קיצורים, סמלים או מילים. SSML הוא מצב סימון נפרד עם מגבלות התאמה: תיעוד Qwen תומך בו לקולות משוכפלים בקריאות ללא הזרמה או בהזרמה חד-כיוונית, עם הגשת טקסט אחת בלבד כשהוא מופעל. הוא אינו קובע תמיכה ב-SSML לכל קול מערכת או להזרמה דו-כיוונית. תהליך עבודה מעשי ב-Plus מתחיל בקול מתאים ובתסריט גמור, ואז מוסיף בחירות מדויקות של הגשה והגייה לקטע הנקרא.</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>qwen/qwen-audio-3.0-tts-plus</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>יחידה: תווי 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>longanlingxin, longanlufeng</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>longanlingxin, longanlufeng</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>null</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.04</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>Qwen: Qwen-Audio-3.0-TTS Plus</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>Qwen: Qwen-Audio-3.0-TTS Plus · תצורת ברירת המחדל</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.00004 ‏$⁩</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-2362-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2362-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-2362-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2362-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;qwen/qwen-audio-3.0-tts-plus&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;longanlingxin&quot;, &quot;longanlufeng&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-2363-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2363-panel-0\" aria-selected=\"true\" tabindex=\"0\">ספריית מדיה</button><button class=\"cg-tab\" id=\"model-code-2363-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2363-panel-1\" aria-selected=\"false\" tabindex=\"-1\">מצב המשימה</button><button class=\"cg-tab\" id=\"model-code-2363-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2363-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-2363-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2363-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-2363-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2363-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-2363-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2363-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=qwen%2Fqwen-audio-3.0-tts-plus&amp;route=Ultra&amp;caller=qwen%2Fqwen-audio-3.0-tts-plus&amp;fmt=speech\"><code>qwen/qwen-audio-3.0-tts-plus</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=qwen%2Fqwen-audio-3.0-tts-plus&amp;route=Ultra&amp;caller=qwen%2Fqwen-audio-3.0-tts-plus&amp;fmt=speech\"><code>qwen/qwen-audio-3.0-tts-plus</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "qwen/qwen-audio-3.0-tts-plus",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "qwen/qwen-audio-3.0-tts-plus",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|qwen%2Fqwen-audio-3.0-tts-plus",
      "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": [
                  "qwen/qwen-audio-3.0-tts-plus"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "longanlingxin",
                  "longanlufeng"
                ],
                "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": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "longanlingxin",
              "longanlufeng"
            ]
          },
          "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.04000",
                "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.00004",
                "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": "f97459395132c904c87d",
            "label": "Qwen: Qwen-Audio-3.0-TTS Plus",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "תצורת ברירת מחדל"
                },
                "label": "Qwen: Qwen-Audio-3.0-TTS Plus · תצורת ברירת המחדל",
                "units": [
                  {
                    "amount": "0.00004",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "c9d83494b95201f9ee8ab13d",
                    "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\": \"qwen/qwen-audio-3.0-tts-plus\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"longanlingxin\", \"longanlufeng\"]')\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": 4e-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.04000",
                "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.00004",
                "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": "qwen/qwen-audio-3.0-tts-plus",
        "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.04000",
            "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.00004",
            "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": "qwen/qwen-audio-3.0-tts-plus",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "5d932a3ec656cbb360ae21a1380b0ffb0a8ff5eddbe438b4dd3f2c0da05ce5df",
    "input_html_sha256": "a3227347731d06f3cf3a28f44b9e99ce4ac71539b40710d381a6ced869345073",
    "private_audit_sha256": "e0635bb3c3d29c3e9231381afcf848359b837a0ed2d127751dfd732f6fe7cdd7",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/qwen-qwen-audio-3-0-tts-plus/",
    "description": "Qwen-Audio-3.0-TTS-Plus הוא מודל הטקסט לדיבור של Qwen, המתמקד בשמע מפורט, טבעי והבעתי לקריינות, לספרי שמע ולדיבוב. הוא תומך בקולות מוכנים מראש או משוכפלים המיועדים למודל, בפלט בהזרמה ובהוראות או תגיות לעיצוב ההגשה.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/qwen-qwen-audio-3-0-tts-plus/index.md",
    "title": "Qwen: Qwen-Audio-3.0-TTS Plus — Ailoot",
    "url": "https://ailoot.ai/models/he/qwen-qwen-audio-3-0-tts-plus/"
  },
  "rawModel": {
    "about": "Qwen-Audio-3.0-TTS-Plus ממיר טקסט כתוב לדיבור הבעתי, וגרסת Plus מתמקדת באיכות הסינתזה, בטבעיות ובהגשה קולית מפורטת. Qwen מציין יצירת תוכן, ספרי שמע, דיבוב סרטים ווידאו והפקת דיבור מקצועית כיישומים העיקריים. הפרופיל המעודכן מתאר תמיכה רחבה יותר בשפות דלות משאבים ובניבים סיניים, שיפור באותנטיות של הניבים ושליטה טובה יותר ברגש, בטון, בדמות, בקצב הדיבור, בעוצמה ובסגנון. היצרן מדווח גם על שיפור בבהירות, ברזולוציה ובעמידות בתנאים אקוסטיים רועשים או מהדהדים.\n\nPlus היא הגרסה הממוקדת באיכות במשפחת טקסט לדיבור זו; Flash ממוצבת בנפרד לאינטראקציה בזמן אמת. הכינו קריינות כתסריט לדיבור, עם קהל היעד, הקצב והכיוון הרגשי המוגדרים. לקטע מספר שמע, דוגמת הנחיה יכולה לבקש הגייה ברורה, קצב מדוד וחמימות מאופקת; לקריינות וידאו היא יכולה לבקש פתיחה רצינית ואחריה הסבר אנרגטי יותר. אלה בחירות הגשה למילים שסופקו. המודל הוא מסנתז דיבור, ולא שירות תמלול או מחולל של סצנה חזותית מלאה.\n\nקולות המערכת הרשמיים של Plus כוללים את Long An Ling Xin, המתואר כחם ואמפתי, ואת Long An Lu Feng, המתואר כבהיר ועליז. שניהם רשומים למנדרינית ולאנגלית. היצרן מספק גם יותר מ-500 קולות בסיס לגרסה זו, עם דוגמאות להאזנה לפני בחירה. הוא ממליץ על קולות מערכת לסינתזה עקבית יותר. בחרו קול מהרשימה המדויקת של Plus והתאימו את שפת התסריט לשפות שבהן הקול תומך; קול של Flash אינו ניתן להחלפה רק משום שהוא שייך לאותה משפחה רחבה.\n\nהמודל תומך בשכפול קול על בסיס דגימה. השפות המתועדות לקולות משוכפלים כוללות סינית, אנגלית, יפנית, קוריאנית, רוסית, צרפתית, גרמנית, פורטוגזית, תאילנדית, אינדונזית, וייטנאמית, ספרדית, איטלקית, מלאית, פיליפינית וערבית. הגרסאות הסיניות כוללות Mandarin, Cantonese, Chongqing, Northeastern, Gansu, Guizhou, Zhejiang, Hebei, Henan, Hubei, Hunan, Jiangxi, Ningbo, Ningxia, Qingdao, Shaanxi, Shanxi, Shandong, Shanghainese, Sichuan ו-Yunnan, כשהניבים נשלטים באמצעות הוראות. טבלת המודל של היצרן מבחינה בין שכפול לבין יצירת קול מתיאור טקסטואלי: שכפול נתמך ב-Plus, ואילו מצב עיצוב הקול הנפרד אינו נתמך.\n\nדגימת ייחוס מתאימה לשכפול היא דיבור ברור במהירות רגילה, ללא מוזיקה, רעש רקע, דוברים מתחרים או שירה. היצרן ממליץ על 10–20 שניות ומתיר עד 60 שניות בקובץ שגודלו אינו עולה על 10 MB. פורמטי הייחוס הם WAV של 16 ביט, MP3 ו-M4A, עם קצב דגימה של לפחות 16 kHz. נדרשות לפחות חמש שניות של דיבור ברור ורציף, ורצוי שההפסקות שנותרו לא יהיו ארוכות משתי שניות. בסטריאו, רק הערוץ הראשון מעובד. מזהה הקול שנוצר קשור ל-Plus ומשמש לסינתזה כשהוא מוכן; שימוש באותה דגימת ייחוס דרך Flash דורש קול Flash שנוצר בנפרד.\n\nהוראות בשפה טבעית יכולות לעצב את הטון, הקצב, הרגש והגוון של קולות מערכת ושל קולות משוכפלים. השתמשו בתיאורים שמיעתיים מוחשיים במקום בקשה עמומה לקול טוב. תגיות רגש בתוך התסריט יכולות לקבוע סגנון, ותגיות שפה עשירה יכולות להוסיף אפקט קולי בנקודה נבחרת. לדוגמה, [serious] משנה את ההגשה שאחריו, ואילו [sighing] מוסיף אנחה בלי לשנות את הסגנון הרגשי שסביבה. תגיות שליטה חלות עד תגית השליטה הבאה או עד החלוקה האוטומטית למשפטים. תכונה מבוססת תגיות זו מתועדת להזרמה חד-כיוונית בלבד, ולכן היקפה שונה מהוראות המשמשות עם קלט טקסט דו-כיווני.\n\nאפשרויות הפלט של היצרן הן PCM, WAV, MP3 ו-Opus, בקצבי הדגימה הרשומים 8,000, 16,000, 22,050, 24,000, 44,100 ו-48,000 Hz. MP3 ו-22,050 Hz הם ברירות המחדל המתועדות. אפשר להגדיר עוצמה מ-0 עד 100, וקצב וגובה צליל מ-0.5 עד 2.0; MP3 ו-Opus מאפשרים גם קצב סיביות מ-6 עד 510 kbps. בחרו את הייצוג הדרוש להשמעה או לעריכה ואז שמרו על עקביות ההגדרות בין חלקי יצירה ארוכה יותר. פלט בהזרמה כולל פריימים של שמע ומטא-נתונים של משפטים, עם חותמות זמן למילים בקולות מתאימים, לרבות קולות משוכפלים.\n\nתהליך קלט הטקסט המתועד באמצעות WebSocket מאפשר 20,000 תווים להודעה ו-200,000 תווים במצטבר, ודורש מרווח של לא יותר מ-23 שניות בין הגשות. הוא יכול לקבל תסריט מלא או מקטעי טקסט מסודרים ולסיים כשהקלט הושלם. היצרן מתעד גם ביטול של סבב הסינתזה הנוכחי. אלה מגבלות והתנהגויות של הפרוטוקול, ולא תקרת משך אוניברסלית לפלט שנוצר. לקריינות ארוכה, ארגנו את התסריט בחלקים רציפים ושמרו את סדרם ואת הטקסט שלהם לצד השמע המתקבל כדי שאפשר יהיה להרכיב ולבדוק את היצירה באופן עקבי.\n\nלהגייה, היצרן מספק רמזים לשפת היעד, סימוני pinyin והחלפות טקסט לטיפול בקריאות לא רצויות של ספרות, קיצורים, סמלים או מילים. SSML הוא מצב סימון נפרד עם מגבלות התאמה: תיעוד Qwen תומך בו לקולות משוכפלים בקריאות ללא הזרמה או בהזרמה חד-כיוונית, עם הגשת טקסט אחת בלבד כשהוא מופעל. הוא אינו קובע תמיכה ב-SSML לכל קול מערכת או להזרמה דו-כיוונית. תהליך עבודה מעשי ב-Plus מתחיל בקול מתאים ובתסריט גמור, ואז מוסיף בחירות מדויקות של הגשה והגייה לקטע הנקרא.",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "available": null,
    "canonical_model": "qwen/qwen-audio-3.0-tts-plus",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.04000",
            "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.00004",
            "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": "qwen/qwen-audio-3.0-tts-plus",
    "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": [
                  "qwen/qwen-audio-3.0-tts-plus"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "limit_known": false,
                "maximum_length": null,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "longanlingxin",
                  "longanlufeng"
                ],
                "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": null,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice",
              "response_format"
            ],
            "response_format": [
              "mp3"
            ],
            "voice_ids": [
              "longanlingxin",
              "longanlufeng"
            ]
          },
          "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.04000",
                "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.00004",
                "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": "f97459395132c904c87d",
            "label": "Qwen: Qwen-Audio-3.0-TTS Plus",
            "profiles": [
              {
                "basis": "",
                "dimensions": {
                  "conditions": "תצורת ברירת מחדל"
                },
                "label": "Qwen: Qwen-Audio-3.0-TTS Plus · תצורת ברירת המחדל",
                "units": [
                  {
                    "amount": "0.00004",
                    "amount_unit": "usd_per_exact_physical_unit",
                    "billing_input": false,
                    "key": "c9d83494b95201f9ee8ab13d",
                    "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\": \"qwen/qwen-audio-3.0-tts-plus\", \"input\": \"Good afternoon! This is a short voice take.\"}')\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nallowed=json.loads('[\"longanlingxin\", \"longanlufeng\"]')\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": 4e-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.04000",
                "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.00004",
                "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": "qwen/qwen-audio-3.0-tts-plus",
        "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.04000",
            "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.00004",
            "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": "qwen/qwen-audio-3.0-tts-plus",
        "request_model_id": "qwen/qwen-audio-3.0-tts-plus",
        "route_label": "Ultra"
      }
    ],
    "name": "Qwen: Qwen-Audio-3.0-TTS Plus",
    "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": {
          "Model ID": "qwen-audio-3.0-tts-plus",
          "Service deployment scope": "International",
          "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
          "maker_published_model_id": "qwen-audio-3.0-tts-plus"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.00004",
            "amount_unit": "usd_per_input_character",
            "conditions": {
              "Model ID": "qwen-audio-3.0-tts-plus",
              "Service deployment scope": "International",
              "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
              "maker_published_model_id": "qwen-audio-3.0-tts-plus"
            },
            "key": "input_character",
            "label": "input character",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "qwen-audio-3.0-tts-plus",
          "Service deployment scope": "Mainland China",
          "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
          "maker_published_model_id": "qwen-audio-3.0-tts-plus"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.000038506",
            "amount_unit": "usd_per_input_character",
            "conditions": {
              "Model ID": "qwen-audio-3.0-tts-plus",
              "Service deployment scope": "Mainland China",
              "character_counting_rule": "Han characters incl Chinese/Japanese kanji/Korean hanja=2; other characters=1; SSML markup excluded; actual synthesized text counts",
              "maker_published_model_id": "qwen-audio-3.0-tts-plus"
            },
            "key": "input_character",
            "label": "input character",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_character"
          }
        ]
      }
    ],
    "public_id": "qwen/qwen-audio-3.0-tts-plus",
    "short": "Qwen-Audio-3.0-TTS-Plus הוא מודל הטקסט לדיבור של Qwen, המתמקד בשמע מפורט, טבעי והבעתי לקריינות, לספרי שמע ולדיבוב. הוא תומך בקולות מוכנים מראש או משוכפלים המיועדים למודל, בפלט בהזרמה ובהוראות או תגיות לעיצוב ההגשה."
  },
  "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": "Qwen-Audio-3.0-TTS-Plus הוא מודל הטקסט לדיבור של Qwen, המתמקד בשמע מפורט, טבעי והבעתי לקריינות, לספרי שמע ולדיבוב. הוא תומך בקולות מוכנים מראש או משוכפלים המיועדים למודל, בפלט בהזרמה ובהוראות או תגיות לעיצוב ההגשה.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "f3417042a4abe0e8c065424d70f76d1378cc7eee2bdfef8410c7721e5484d4ed",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "e2ef808f173a63b7d4cfe519cdfdcb98a4b2832a81f0f70dbe80a3ffc1555dbd"
}
