{
  "aboutHtml": "<p>Veo 3.1 Fast הוא פרופיל יצירת הווידאו המהיר של Google לסצנה קצרה המתוארת בטקסט או מוגדרת באמצעות תמונה. הוא משלב את השוט החזותי עם קול שנוצר ותומך בפריימי פתיחה וסיום מונחים. השתמשו בו לפיתוח קונספט סצנה, להכנת וריאציות יצירתיות קצרות או ליצירת קטע תמציתי עם תמונה וקול, פעולה ברורה וכיוון חזותי.</p><p>בנו את הבריף סביב הנושא, הפעולה והסביבה. לאחר מכן הוסיפו את המסגור, תנועת המצלמה, התאורה והטיפול החזותי שהופכים את השוט לשימושי. בריף מוצר מקורי יכול להציג מנורת קרמיקה קטנה על שולחן עץ, עם מצלמה המתקרבת לאט בזמן שהאור נדלק וקול מתג שקט מלווה את הפעולה. הנושא והאירוע הגלוי מתארים את התמונה; הנחיית הקול מתארת את חוויית ההאזנה.</p><p>כתבו את הוראות הסצנה באנגלית, כפי שמוגדר בפרופיל ההנחיות של היצרן. התאימו את הפעולה המרכזית לאורך הקליפ והבחינו בין תנועת מצלמה לתנועת הנושא. מבט רחב שמציג את הסביבה, תקריב מרקם ושוט העוקב אחר עצם נע עונים על שאלות יצירתיות שונות. בחרו את המבט שמעביר את הפרט הרצוי במקום לשלב הוראות מצלמה שאינן קשורות בשוט קצר אחד.</p><p>לסצנה המבוססת על תמונה, הכינו תמונת פתיחה ברורה שכבר מגדירה את המראה ואת הקומפוזיציה. בריף התנועה יכול אז להתמקד באירוע הבא. פריים סיום יכול לספק יעד חזותי למעבר. שמרו על פרטי נושא חשובים ועל סגנון מגובש בין הפריימים, או תארו במפורש את השינוי הרצוי. בדקו את המעבר עצמו וגם את תמונות הפתיחה והסיום שלו.</p><p>פרופיל ההפקה של היצרן תומך בקליפים של ארבע, שש או שמונה שניות, במסגור 16:9 לרוחב או 9:16 לאורך ובעד ארבעה סרטוני פלט לכל הנחיה. פלט Fast הוא 720p או 1080p, בקצב 24 פריימים לשנייה ובפורמט MP4. הפרופיל המבוסס על תמונה מקבל JPEG או PNG, מציין גודל מרבי של 20 MB לתמונת קלט ותומך בתצורות קלט 720p/1080p. הכינו את הקומפוזיציה לכיוון המיועד ושמרו את הקלט במסגרת מגבלת התמונה הזו.</p><p>קול יכול להיות חלק מהסצנה שנוצרת. תארו כל שורה מדוברת, קול סביבתי או אפקט רלוונטי לצד הפעולה הגלויה, תוך זיהוי הנושא שצריך לדבר והאירוע שצריך להפיק את הקול. שמרו על דיאלוג קצר מספיק לביצוע הרצוי והבחינו בינו לבין אווירה או מוזיקה. יצירת האודיו עוקבת אחר בריף הסצנה הכתוב; הקלטת אודיו אינה בין הקלטים הרגילים המתועדים של הפרופיל הזה.</p><p>פרופיל ההפקה הנוכחי מציין גם יצירה מייחוסי נכסים והארכת וידאו. ייחוסים מנחים את המראה של נושא או עצם, ואילו פריימי גבול מנחים את קומפוזיציית הפתיחה והסיום. בחרו חומר ייחוס שתפקידו בסצנה ברור במקום להתייחס לכל תמונה כבקרה חלופית זהה. לקליפ המשכי, בחרו בתהליך ההארכה הנפרד ותארו מה צריך להתרחש אחרי הפעולה הקיימת; הטיפול בקלט שלו נפרד משוט חדש המבוסס על טקסט.</p><p>תיאור שלילי יכול לזהות תוכן או טיפולים חזותיים שתרצו להימנע מהם. שמרו את ההנחיה המרכזית ממוקדת בסצנה הרצויה והגדירו החרגות ייעודיות למשימה. לווריאציית מוצר, שמרו על הנושא והמסגור תוך שינוי פרט אחד, כגון כיוון תאורה או טיפול בחומר. שמרו על ההגדרות ועל חבילת הייחוסים בהשוואת תוצאות, כדי שההבדל היצירתי יישאר ברור.</p><p>Veo 3.1 Fast ופרופיל Veo 3.1 הרגיל נשארים אפשרויות נפרדות. פלט ההפקה המתועד של Fast הוא 720p/1080p; הפרופיל הרגיל מציין גם 4K. שמרו את המהדורה שנבחרה ואת הגדרות הפלט שלה עם התוצר במקום להתייחס למזהה Preview או לגרסת Veo אחרת כמילה נרדפת אוטומטית לפרופיל ההפקה הזה.</p><p>תהליך העבודה יוצר פעולת יצירה וחושף את קובצי הווידאו שהוחזרו לאחר ההשלמה. שמרו כל פלט בפועל שנבחר לבדיקה, יחד עם הבריף שלו, פריימי המקור וההגדרות הרלוונטיות. מזהה פעולה הוא רשומה של היצירה; תוצר ה־MP4 שהושלם הוא מה שאפשר לנגן ולהשתמש בו בעריכה. שמרו עם הווידאו כל מטא־נתוני מקור תוכן שסופקו.</p><p>בדקו לאורך הקליפ המלא את מראה הנושא, הפעולה שהתבקשה, הטיפול במצלמה והקול. בדקו את מובנות הדיאלוג ואת הקשר בין הקול לאירועים הגלויים לפני שימוש בו בקומפוזיציה ארוכה יותר. התוצאה השימושית יכולה להיות שוט קונספט, חשיפת מוצר או קטע סיפורי קצר, עם כותרות, מעברים ועריכה נוספת שמתווספים בהמשך בתהליך ההפקה שמסביב.</p>",
  "aboutText": "Veo 3.1 Fast הוא פרופיל יצירת הווידאו המהיר של Google לסצנה קצרה המתוארת בטקסט או מוגדרת באמצעות תמונה. הוא משלב את השוט החזותי עם קול שנוצר ותומך בפריימי פתיחה וסיום מונחים. השתמשו בו לפיתוח קונספט סצנה, להכנת וריאציות יצירתיות קצרות או ליצירת קטע תמציתי עם תמונה וקול, פעולה ברורה וכיוון חזותי.\n\nבנו את הבריף סביב הנושא, הפעולה והסביבה. לאחר מכן הוסיפו את המסגור, תנועת המצלמה, התאורה והטיפול החזותי שהופכים את השוט לשימושי. בריף מוצר מקורי יכול להציג מנורת קרמיקה קטנה על שולחן עץ, עם מצלמה המתקרבת לאט בזמן שהאור נדלק וקול מתג שקט מלווה את הפעולה. הנושא והאירוע הגלוי מתארים את התמונה; הנחיית הקול מתארת את חוויית ההאזנה.\n\nכתבו את הוראות הסצנה באנגלית, כפי שמוגדר בפרופיל ההנחיות של היצרן. התאימו את הפעולה המרכזית לאורך הקליפ והבחינו בין תנועת מצלמה לתנועת הנושא. מבט רחב שמציג את הסביבה, תקריב מרקם ושוט העוקב אחר עצם נע עונים על שאלות יצירתיות שונות. בחרו את המבט שמעביר את הפרט הרצוי במקום לשלב הוראות מצלמה שאינן קשורות בשוט קצר אחד.\n\nלסצנה המבוססת על תמונה, הכינו תמונת פתיחה ברורה שכבר מגדירה את המראה ואת הקומפוזיציה. בריף התנועה יכול אז להתמקד באירוע הבא. פריים סיום יכול לספק יעד חזותי למעבר. שמרו על פרטי נושא חשובים ועל סגנון מגובש בין הפריימים, או תארו במפורש את השינוי הרצוי. בדקו את המעבר עצמו וגם את תמונות הפתיחה והסיום שלו.\n\nפרופיל ההפקה של היצרן תומך בקליפים של ארבע, שש או שמונה שניות, במסגור 16:9 לרוחב או 9:16 לאורך ובעד ארבעה סרטוני פלט לכל הנחיה. פלט Fast הוא 720p או 1080p, בקצב 24 פריימים לשנייה ובפורמט MP4. הפרופיל המבוסס על תמונה מקבל JPEG או PNG, מציין גודל מרבי של 20 MB לתמונת קלט ותומך בתצורות קלט 720p/1080p. הכינו את הקומפוזיציה לכיוון המיועד ושמרו את הקלט במסגרת מגבלת התמונה הזו.\n\nקול יכול להיות חלק מהסצנה שנוצרת. תארו כל שורה מדוברת, קול סביבתי או אפקט רלוונטי לצד הפעולה הגלויה, תוך זיהוי הנושא שצריך לדבר והאירוע שצריך להפיק את הקול. שמרו על דיאלוג קצר מספיק לביצוע הרצוי והבחינו בינו לבין אווירה או מוזיקה. יצירת האודיו עוקבת אחר בריף הסצנה הכתוב; הקלטת אודיו אינה בין הקלטים הרגילים המתועדים של הפרופיל הזה.\n\nפרופיל ההפקה הנוכחי מציין גם יצירה מייחוסי נכסים והארכת וידאו. ייחוסים מנחים את המראה של נושא או עצם, ואילו פריימי גבול מנחים את קומפוזיציית הפתיחה והסיום. בחרו חומר ייחוס שתפקידו בסצנה ברור במקום להתייחס לכל תמונה כבקרה חלופית זהה. לקליפ המשכי, בחרו בתהליך ההארכה הנפרד ותארו מה צריך להתרחש אחרי הפעולה הקיימת; הטיפול בקלט שלו נפרד משוט חדש המבוסס על טקסט.\n\nתיאור שלילי יכול לזהות תוכן או טיפולים חזותיים שתרצו להימנע מהם. שמרו את ההנחיה המרכזית ממוקדת בסצנה הרצויה והגדירו החרגות ייעודיות למשימה. לווריאציית מוצר, שמרו על הנושא והמסגור תוך שינוי פרט אחד, כגון כיוון תאורה או טיפול בחומר. שמרו על ההגדרות ועל חבילת הייחוסים בהשוואת תוצאות, כדי שההבדל היצירתי יישאר ברור.\n\nVeo 3.1 Fast ופרופיל Veo 3.1 הרגיל נשארים אפשרויות נפרדות. פלט ההפקה המתועד של Fast הוא 720p/1080p; הפרופיל הרגיל מציין גם 4K. שמרו את המהדורה שנבחרה ואת הגדרות הפלט שלה עם התוצר במקום להתייחס למזהה Preview או לגרסת Veo אחרת כמילה נרדפת אוטומטית לפרופיל ההפקה הזה.\n\nתהליך העבודה יוצר פעולת יצירה וחושף את קובצי הווידאו שהוחזרו לאחר ההשלמה. שמרו כל פלט בפועל שנבחר לבדיקה, יחד עם הבריף שלו, פריימי המקור וההגדרות הרלוונטיות. מזהה פעולה הוא רשומה של היצירה; תוצר ה־MP4 שהושלם הוא מה שאפשר לנגן ולהשתמש בו בעריכה. שמרו עם הווידאו כל מטא־נתוני מקור תוכן שסופקו.\n\nבדקו לאורך הקליפ המלא את מראה הנושא, הפעולה שהתבקשה, הטיפול במצלמה והקול. בדקו את מובנות הדיאלוג ואת הקשר בין הקול לאירועים הגלויים לפני שימוש בו בקומפוזיציה ארוכה יותר. התוצאה השימושית יכולה להיות שוט קונספט, חשיפת מוצר או קטע סיפורי קצר, עם כותרות, מעברים ועריכה נוספת שמתווספים בהמשך בתהליך ההפקה שמסביב.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "7eb95bb43a5b0c347ca171c333b8ec9dafcb9a317b8d540cef61e9ba2d4d37e0",
    "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\">G</span><h2 id=\"sheet-title\">Google: Veo 3.1 Fast</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/veo-3.1-fast</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|videos|/v1/videos|google%2Fveo-3.1-fast\">וידאו</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\">Veo 3.1 Fast הוא מודל הווידאו של Google לסצנות קצרות המבוססות על טקסט או תמונה, עם קול שנוצר. פרופיל ההפקה שלו מחזיר קליפי MP4 באורך ארבע, שש או שמונה שניות בקצב 24 פריימים לשנייה, עם פלט 720p או 1080p ופריימי פתיחה או סיום מונחים.</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>Veo 3.1 Fast הוא פרופיל יצירת הווידאו המהיר של Google לסצנה קצרה המתוארת בטקסט או מוגדרת באמצעות תמונה. הוא משלב את השוט החזותי עם קול שנוצר ותומך בפריימי פתיחה וסיום מונחים. השתמשו בו לפיתוח קונספט סצנה, להכנת וריאציות יצירתיות קצרות או ליצירת קטע תמציתי עם תמונה וקול, פעולה ברורה וכיוון חזותי.</p><p>בנו את הבריף סביב הנושא, הפעולה והסביבה. לאחר מכן הוסיפו את המסגור, תנועת המצלמה, התאורה והטיפול החזותי שהופכים את השוט לשימושי. בריף מוצר מקורי יכול להציג מנורת קרמיקה קטנה על שולחן עץ, עם מצלמה המתקרבת לאט בזמן שהאור נדלק וקול מתג שקט מלווה את הפעולה. הנושא והאירוע הגלוי מתארים את התמונה; הנחיית הקול מתארת את חוויית ההאזנה.</p><p>כתבו את הוראות הסצנה באנגלית, כפי שמוגדר בפרופיל ההנחיות של היצרן. התאימו את הפעולה המרכזית לאורך הקליפ והבחינו בין תנועת מצלמה לתנועת הנושא. מבט רחב שמציג את הסביבה, תקריב מרקם ושוט העוקב אחר עצם נע עונים על שאלות יצירתיות שונות. בחרו את המבט שמעביר את הפרט הרצוי במקום לשלב הוראות מצלמה שאינן קשורות בשוט קצר אחד.</p><p>לסצנה המבוססת על תמונה, הכינו תמונת פתיחה ברורה שכבר מגדירה את המראה ואת הקומפוזיציה. בריף התנועה יכול אז להתמקד באירוע הבא. פריים סיום יכול לספק יעד חזותי למעבר. שמרו על פרטי נושא חשובים ועל סגנון מגובש בין הפריימים, או תארו במפורש את השינוי הרצוי. בדקו את המעבר עצמו וגם את תמונות הפתיחה והסיום שלו.</p><p>פרופיל ההפקה של היצרן תומך בקליפים של ארבע, שש או שמונה שניות, במסגור 16:9 לרוחב או 9:16 לאורך ובעד ארבעה סרטוני פלט לכל הנחיה. פלט Fast הוא 720p או 1080p, בקצב 24 פריימים לשנייה ובפורמט MP4. הפרופיל המבוסס על תמונה מקבל JPEG או PNG, מציין גודל מרבי של 20 MB לתמונת קלט ותומך בתצורות קלט 720p/1080p. הכינו את הקומפוזיציה לכיוון המיועד ושמרו את הקלט במסגרת מגבלת התמונה הזו.</p><p>קול יכול להיות חלק מהסצנה שנוצרת. תארו כל שורה מדוברת, קול סביבתי או אפקט רלוונטי לצד הפעולה הגלויה, תוך זיהוי הנושא שצריך לדבר והאירוע שצריך להפיק את הקול. שמרו על דיאלוג קצר מספיק לביצוע הרצוי והבחינו בינו לבין אווירה או מוזיקה. יצירת האודיו עוקבת אחר בריף הסצנה הכתוב; הקלטת אודיו אינה בין הקלטים הרגילים המתועדים של הפרופיל הזה.</p><p>פרופיל ההפקה הנוכחי מציין גם יצירה מייחוסי נכסים והארכת וידאו. ייחוסים מנחים את המראה של נושא או עצם, ואילו פריימי גבול מנחים את קומפוזיציית הפתיחה והסיום. בחרו חומר ייחוס שתפקידו בסצנה ברור במקום להתייחס לכל תמונה כבקרה חלופית זהה. לקליפ המשכי, בחרו בתהליך ההארכה הנפרד ותארו מה צריך להתרחש אחרי הפעולה הקיימת; הטיפול בקלט שלו נפרד משוט חדש המבוסס על טקסט.</p><p>תיאור שלילי יכול לזהות תוכן או טיפולים חזותיים שתרצו להימנע מהם. שמרו את ההנחיה המרכזית ממוקדת בסצנה הרצויה והגדירו החרגות ייעודיות למשימה. לווריאציית מוצר, שמרו על הנושא והמסגור תוך שינוי פרט אחד, כגון כיוון תאורה או טיפול בחומר. שמרו על ההגדרות ועל חבילת הייחוסים בהשוואת תוצאות, כדי שההבדל היצירתי יישאר ברור.</p><p>Veo 3.1 Fast ופרופיל Veo 3.1 הרגיל נשארים אפשרויות נפרדות. פלט ההפקה המתועד של Fast הוא 720p/1080p; הפרופיל הרגיל מציין גם 4K. שמרו את המהדורה שנבחרה ואת הגדרות הפלט שלה עם התוצר במקום להתייחס למזהה Preview או לגרסת Veo אחרת כמילה נרדפת אוטומטית לפרופיל ההפקה הזה.</p><p>תהליך העבודה יוצר פעולת יצירה וחושף את קובצי הווידאו שהוחזרו לאחר ההשלמה. שמרו כל פלט בפועל שנבחר לבדיקה, יחד עם הבריף שלו, פריימי המקור וההגדרות הרלוונטיות. מזהה פעולה הוא רשומה של היצירה; תוצר ה־MP4 שהושלם הוא מה שאפשר לנגן ולהשתמש בו בעריכה. שמרו עם הווידאו כל מטא־נתוני מקור תוכן שסופקו.</p><p>בדקו לאורך הקליפ המלא את מראה הנושא, הפעולה שהתבקשה, הטיפול במצלמה והקול. בדקו את מובנות הדיאלוג ואת הקשר בין הקול לאירועים הגלויים לפני שימוש בו בקומפוזיציה ארוכה יותר. התוצאה השימושית יכולה להיות שוט קונספט, חשיפת מוצר או קטע סיפורי קצר, עם כותרות, מעברים ועריכה נוספת שמתווספים בהמשך בתהליך ההפקה שמסביב.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · וידאו</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code></dd></div><div><dt>סוגי פלט</dt><dd><code>video</code></dd></div><div><dt>פורמט פלט</dt><dd>mp4</dd></div><div><dt>מספר פלטים</dt><dd>עד ⁦4⁩ פלטs</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>google/veo-3.1-fast</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\">prompt</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>מספר בייטים מרבי ב-UTF-8: ⁦10,000⁩</div><div>נדרשים תווים שאינם רווחים: כן</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\">duration</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>integer</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>⁦4⁩, ⁦6⁩, ⁦8⁩</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\">resolution</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>720p</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\">aspect_ratio</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>16:9, 9:16</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\">generate_audio</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>boolean</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>false, true</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>מטקסט לווידאו</b> · נדרש: prompt</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, prompt, duration, resolution, aspect_ratio, generate_audio</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>additional_properties</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>parameters</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;google/veo-3.1-fast&quot;]}, {&quot;name&quot;:&quot;prompt&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;non_whitespace&quot;:true,&quot;max_utf8_bytes&quot;:10000}, {&quot;name&quot;:&quot;duration&quot;,&quot;type&quot;:&quot;integer&quot;,&quot;required&quot;:true,&quot;enum&quot;:[4,6,8]}, {&quot;name&quot;:&quot;resolution&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;720p&quot;]}, {&quot;name&quot;:&quot;aspect_ratio&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;16:9&quot;,&quot;9:16&quot;]}, {&quot;name&quot;:&quot;generate_audio&quot;,&quot;type&quot;:&quot;boolean&quot;,&quot;required&quot;:true,&quot;enum&quot;:[false,true]}</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>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><p>מחזור חיים: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</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 class=\"card-result-process\" data-billing-basis><h5>אופן חישוב החיוב הסופי</h5><p class=\"note-s\">התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.</p></div><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>תעריפים משוערים להשוואה</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><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>—</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>מחיר וידאו</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>—</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>לכל שניית וידאו</td><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: with_audio</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.24</b> <span class=\"price-unit\">לכל שניית וידאו</span></div></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>—</td><td data-cell-label=\"יצירת שמע\"><span class=\"card-cell-label\">יצירת שמע</span>—</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>אודיו: with_audio; רזולוציה: 4k</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.6</b> <span class=\"price-unit\">לכל שניית וידאו</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>ההגדרות המבוקשות; אומדן בלבד.</td><td data-cell-label=\"יצירת שמע\"><span class=\"card-cell-label\">יצירת שמע</span>עם שמע</td><td data-cell-label=\"רזולוציה\"><span class=\"card-cell-label\">רזולוציה</span>720p</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>$0.2</b> <span class=\"price-unit\">לכל שניית וידאו בפלט</span></div><p class=\"note-s\">התעריף המוצג מאפשר לאמוד את העלות לפני היצירה. החיוב הסופי מחושב מהעלות שנרשמה עבור פעולת היצירה המקורית. משך הווידאו בפועל אינו כמות החיוב.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>—</td><td data-cell-label=\"יצירת שמע\"><span class=\"card-cell-label\">יצירת שמע</span>—</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>אודיו: without_audio</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.2</b> <span class=\"price-unit\">לכל שניית וידאו</span></div></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>—</td><td data-cell-label=\"יצירת שמע\"><span class=\"card-cell-label\">יצירת שמע</span>—</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>אודיו: without_audio; רזולוציה: 4k</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.5</b> <span class=\"price-unit\">לכל שניית וידאו</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>ההגדרות המבוקשות; אומדן בלבד.</td><td data-cell-label=\"יצירת שמע\"><span class=\"card-cell-label\">יצירת שמע</span>ללא שמע</td><td data-cell-label=\"רזולוציה\"><span class=\"card-cell-label\">רזולוציה</span>720p</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>$0.16</b> <span class=\"price-unit\">לכל שניית וידאו בפלט</span></div><p class=\"note-s\">התעריף המוצג אומד את העלות לפני היצירה. החיוב הסופי מחושב מהעלות שנרשמה ליצירה המקורית. משך הווידאו הפיזי אינו הכמות לחיוב.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>עלות יצירה משוערת</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>אומדן ליצירה אחת</td><td data-cell-label=\"יצירת שמע\"><span class=\"card-cell-label\">יצירת שמע</span>—</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>—</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · עלות יצירה משוערת · אומדן להשוואה בלבד</span> <b>$0.64</b> <span class=\"price-unit\">אומדן לפני היצירה</span></div><p class=\"note-s\">אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.</p></td></tr></tbody></table></div></div><p class=\"note-s\">לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. <a href=\"/docs/he/billing/reserve/\">איך פועלים שריון הסכום והסדרת החיוב →</a></p><div data-declared-reference-pricing><h4>פרטי תעריף הייחוס</h4><p class=\"note-s\">טבלאות הייחוס ברמת המודל אינן משנות את בחירת השיטה, הצעות המחיר או החיובים. החיובים בפועל משתמשים בתעריפי שיטת Ailoot שנבחרה.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>הפניות למחירי תצורות וידאו</summary><h4>מחירים לפי תצורה</h4><p class=\"note-s\">התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.</p><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>מחיר וידאו</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: with_audio</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.24</b> <span class=\"price-unit\">לכל שניית וידאו</span></div><p class=\"note-s\">מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: with_audio; רזולוציה: 4k</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.6</b> <span class=\"price-unit\">לכל שניית וידאו</span></div><p class=\"note-s\">מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: without_audio</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.2</b> <span class=\"price-unit\">לכל שניית וידאו</span></div><p class=\"note-s\">מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: with_audio; רזולוציה: 720p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.2</b> <span class=\"price-unit\">לכל שניית וידאו</span></div><p class=\"note-s\">מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: without_audio; רזולוציה: 4k</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.5</b> <span class=\"price-unit\">לכל שניית וידאו</span></div><p class=\"note-s\">מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.</p></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>מחיר וידאו</th><td data-cell-label=\"תנאי חיוב\"><span class=\"card-cell-label\">תנאי חיוב</span>אודיו: without_audio; רזולוציה: 720p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.16</b> <span class=\"price-unit\">לכל שניית וידאו</span></div><p class=\"note-s\">מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">דוגמאות לבקשות</h3><h4>Ailoot Ultra · וידאו</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-1508-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1508-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-1508-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1508-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/veo-3.1-fast&quot;, &quot;prompt&quot;: &quot;a calm greenhouse&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;720p&quot;, &quot;aspect_ratio&quot;: &quot;16:9&quot;, &quot;generate_audio&quot;: true}&#39;)\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>בדיקת מצב המשימה</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-1509-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1509-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · אחזור מצב הפעולה המקורית</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-1509-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1509-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><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-1510-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1510-panel-0\" aria-selected=\"true\" tabindex=\"0\">שמירת כל הפלטים שהושלמו ובבעלותכם</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1510-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1510-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל וידאו שהושלם או קובץ שהוחזר; אחזרו כל נכס מכל URL שהוחזר בפועל.</p><p class=\"note-s\">יש לשמור כל כתובת URL חתומה ובבעלותכם מתוך data[] שהושלם ואת מטא־נתוני הסטטוס המלאים. יש לשמור כל פלט, כולל האודיו שנוצר בו. רצועת אודיו תקפה של AAC עשויה להיכלל גם כאשר generate_audio=false; יש לשמור את קובץ ה־MP4 המקורי במלואו, כולל האודיו הזה.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.</p></div><p class=\"note-s\">מספר פלטים מרבי: ⁦4⁩.</p><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><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><code class=\"card-field-name\">id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</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 class=\"card-field-name\">object</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</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 class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</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 class=\"card-field-name\">status</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</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 class=\"card-field-name\">data[]</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>signed content URL</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 class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>boolean</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 class=\"card-field-name\">error.code</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</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 class=\"card-field-name\">error.message</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</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 class=\"card-field-name\">operation_id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>תגובת HTTP503 result_pending_check לסטטוס או לתוכן המקוריים: אותו מזהה ציבורי מקורי של פעולת הווידאו בשדה id.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">error.type</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>server_error בתגובת HTTP503 result_pending_check.</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>⁦422⁩ · <code>price_unavailable</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>פענוח פרופיל הווידאו המדויק נכשל, או שלפרופיל המלא שפוענח אין כרטיס מחיר מדויק ומוכן</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לשמור את התגובה; יש להשתמש בפרופיל המלא והמדויק שאושר ובכרטיס המחיר שפורסם עבורו. הענף הזה מתבצע לפני שליחה לספק.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦409⁩ · <code>video_not_ready</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>תוכן התוצאה המקורית עדיין אינו זמין</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.</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><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦503⁩ · <code>result_pending_check</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>GET לסטטוס או לתוכן המקוריים: המשימה אינה מפורסמת, המשימה המקורית אינה במצב failed/cancelled/expired, והמצב המקומי הוא unknown או שסטטוס המשימה המקורית הוא completed.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לשמור את id ואת operation_id המקוריים (אותו מזהה וידאו ציבורי), את התגובה ואת הכותרות; יש לקרוא רק את הסטטוס והתוכן המקוריים. אין לשלוח בקשת יצירה חדשה.</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=google%2Fveo-3.1-fast&amp;route=Ultra&amp;caller=google%2Fveo-3.1-fast&amp;fmt=videos\"><code>google/veo-3.1-fast</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=google%2Fveo-3.1-fast&amp;route=Ultra&amp;caller=google%2Fveo-3.1-fast&amp;fmt=videos\"><code>google/veo-3.1-fast</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/veo-3.1-fast",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "google/veo-3.1-fast",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|google%2Fveo-3.1-fast",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every completed data[] signed owned URL and the full status metadata. Save every output, including its generated audio.",
            "errors": [
              {
                "code": null,
                "condition": "קריאת גוף הבקשה הגולמי נכשלת לפני פענוח פרופיל הווידאו",
                "http_status": 400,
                "recovery": "יש לשמור את התגובה שהוחזרה ולתקן את גוף הבקשה שלא ניתן לקרוא.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "פענוח פרופיל הווידאו המדויק נכשל, או שלפרופיל המלא שפוענח אין כרטיס מחיר מדויק ומוכן",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "יש לשמור את התגובה; יש להשתמש בפרופיל המלא והמדויק שאושר ובכרטיס המחיר שפורסם עבורו. הענף הזה מתבצע לפני שליחה לספק.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "GET לסטטוס או לתוכן המקוריים: המשימה אינה מפורסמת, המשימה המקורית אינה במצב failed/cancelled/expired, והמצב המקומי הוא unknown או שסטטוס המשימה המקורית הוא completed.",
                "friendly_fields": "error.reason=result_pending_check,error.param=null; error.operation_id and error.request_id when the existing context supplies them. error.message is rewritten/localized.",
                "headers": {
                  "Retry-After": null,
                  "X-Should-Retry": "false"
                },
                "http_status": 503,
                "recovery": "יש לשמור את id ואת operation_id המקוריים (אותו מזהה וידאו ציבורי), את התגובה ואת הכותרות; יש לקרוא רק את הסטטוס והתוכן המקוריים. אין לשלוח בקשת יצירה חדשה.",
                "response_fields": {
                  "charge_pending_check": true,
                  "error.code": "result_pending_check",
                  "error.type": "server_error",
                  "id": "original public video ID",
                  "operation_id": "same as id"
                },
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "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": "Use actual returned task_id or original public video id from response/media library. On HTTP503 result_pending_check from original video status/content GET, operation_id equals that original public video id. Do not assume unrelated operation IDs name media tasks.",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "יש לשמור כל כתובת URL חתומה ובבעלותכם מתוך data[] שהושלם ואת מטא־נתוני הסטטוס המלאים. יש לשמור כל פלט, כולל האודיו שנוצר בו. רצועת אודיו תקפה של AAC עשויה להיכלל גם כאשר generate_audio=false; יש לשמור את קובץ ה־MP4 המקורי במלואו, כולל האודיו הזה.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": "תגובת HTTP503 result_pending_check לסטטוס או לתוכן המקוריים: אותו מזהה ציבורי מקורי של פעולת הווידאו בשדה id.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "server_error בתגובת HTTP503 result_pending_check.",
                  "name": "error.type",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 4,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/veo-3.1-fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "all fields outside the exact required six-key profile",
              "image or reference inputs",
              "1080p or 4K"
            ]
          },
          "hints": [
            "יש לשמור את התגובה המלאה ואת המזהים המקוריים שהוחזרו.",
            "אין לשלוח שוב בקשת יצירה שמצבה אינו ידוע."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "parameters": [
              {
                "enum": [
                  "google/veo-3.1-fast"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  4,
                  6,
                  8
                ],
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "enum": [
                  "720p"
                ],
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  false,
                  true
                ],
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "content": [
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "priced_duration": "Video-file duration is not the billing quantity; final charge follows the actual billed configuration."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "התעריף המוצג מאפשר לאמוד את העלות לפני היצירה. החיוב הסופי מחושב מהעלות שנרשמה עבור פעולת היצירה המקורית. משך הווידאו בפועל אינו כמות החיוב.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "0.64",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.64",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/veo-3.1-fast\", \"prompt\": \"a calm greenhouse\", \"duration\": 6, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": true}')\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/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · exact configured profile",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.64",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.64",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "google/veo-3.1-fast",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.24",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_720p",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.5",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.5",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_720p",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.64",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.64",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "google/veo-3.1-fast",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "60221e4f5da73c9f31725dbcb189794bb18f4d7d8b241e6df72d1e5ca2683495",
    "input_html_sha256": "8e636c968223efbbea467e5c1bb02350531f18a8099644ee38892ccaad90f69f",
    "private_audit_sha256": "f33a0fbf5b3a1f2cec4f306c1cf84db9ee6ab370675faeb5a9b663b373c3a612",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/google-veo-3-1-fast/",
    "description": "Veo 3.1 Fast הוא מודל הווידאו של Google לסצנות קצרות המבוססות על טקסט או תמונה, עם קול שנוצר. פרופיל ההפקה שלו מחזיר קליפי MP4 באורך ארבע, שש או שמונה שניות בקצב 24 פריימים לשנייה, עם פלט 720p או 1080p ופריימי פתיחה או סיום מונחים.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/google-veo-3-1-fast/index.md",
    "title": "Google: Veo 3.1 Fast — Ailoot",
    "url": "https://ailoot.ai/models/he/google-veo-3-1-fast/"
  },
  "rawModel": {
    "about": "Veo 3.1 Fast הוא פרופיל יצירת הווידאו המהיר של Google לסצנה קצרה המתוארת בטקסט או מוגדרת באמצעות תמונה. הוא משלב את השוט החזותי עם קול שנוצר ותומך בפריימי פתיחה וסיום מונחים. השתמשו בו לפיתוח קונספט סצנה, להכנת וריאציות יצירתיות קצרות או ליצירת קטע תמציתי עם תמונה וקול, פעולה ברורה וכיוון חזותי.\n\nבנו את הבריף סביב הנושא, הפעולה והסביבה. לאחר מכן הוסיפו את המסגור, תנועת המצלמה, התאורה והטיפול החזותי שהופכים את השוט לשימושי. בריף מוצר מקורי יכול להציג מנורת קרמיקה קטנה על שולחן עץ, עם מצלמה המתקרבת לאט בזמן שהאור נדלק וקול מתג שקט מלווה את הפעולה. הנושא והאירוע הגלוי מתארים את התמונה; הנחיית הקול מתארת את חוויית ההאזנה.\n\nכתבו את הוראות הסצנה באנגלית, כפי שמוגדר בפרופיל ההנחיות של היצרן. התאימו את הפעולה המרכזית לאורך הקליפ והבחינו בין תנועת מצלמה לתנועת הנושא. מבט רחב שמציג את הסביבה, תקריב מרקם ושוט העוקב אחר עצם נע עונים על שאלות יצירתיות שונות. בחרו את המבט שמעביר את הפרט הרצוי במקום לשלב הוראות מצלמה שאינן קשורות בשוט קצר אחד.\n\nלסצנה המבוססת על תמונה, הכינו תמונת פתיחה ברורה שכבר מגדירה את המראה ואת הקומפוזיציה. בריף התנועה יכול אז להתמקד באירוע הבא. פריים סיום יכול לספק יעד חזותי למעבר. שמרו על פרטי נושא חשובים ועל סגנון מגובש בין הפריימים, או תארו במפורש את השינוי הרצוי. בדקו את המעבר עצמו וגם את תמונות הפתיחה והסיום שלו.\n\nפרופיל ההפקה של היצרן תומך בקליפים של ארבע, שש או שמונה שניות, במסגור 16:9 לרוחב או 9:16 לאורך ובעד ארבעה סרטוני פלט לכל הנחיה. פלט Fast הוא 720p או 1080p, בקצב 24 פריימים לשנייה ובפורמט MP4. הפרופיל המבוסס על תמונה מקבל JPEG או PNG, מציין גודל מרבי של 20 MB לתמונת קלט ותומך בתצורות קלט 720p/1080p. הכינו את הקומפוזיציה לכיוון המיועד ושמרו את הקלט במסגרת מגבלת התמונה הזו.\n\nקול יכול להיות חלק מהסצנה שנוצרת. תארו כל שורה מדוברת, קול סביבתי או אפקט רלוונטי לצד הפעולה הגלויה, תוך זיהוי הנושא שצריך לדבר והאירוע שצריך להפיק את הקול. שמרו על דיאלוג קצר מספיק לביצוע הרצוי והבחינו בינו לבין אווירה או מוזיקה. יצירת האודיו עוקבת אחר בריף הסצנה הכתוב; הקלטת אודיו אינה בין הקלטים הרגילים המתועדים של הפרופיל הזה.\n\nפרופיל ההפקה הנוכחי מציין גם יצירה מייחוסי נכסים והארכת וידאו. ייחוסים מנחים את המראה של נושא או עצם, ואילו פריימי גבול מנחים את קומפוזיציית הפתיחה והסיום. בחרו חומר ייחוס שתפקידו בסצנה ברור במקום להתייחס לכל תמונה כבקרה חלופית זהה. לקליפ המשכי, בחרו בתהליך ההארכה הנפרד ותארו מה צריך להתרחש אחרי הפעולה הקיימת; הטיפול בקלט שלו נפרד משוט חדש המבוסס על טקסט.\n\nתיאור שלילי יכול לזהות תוכן או טיפולים חזותיים שתרצו להימנע מהם. שמרו את ההנחיה המרכזית ממוקדת בסצנה הרצויה והגדירו החרגות ייעודיות למשימה. לווריאציית מוצר, שמרו על הנושא והמסגור תוך שינוי פרט אחד, כגון כיוון תאורה או טיפול בחומר. שמרו על ההגדרות ועל חבילת הייחוסים בהשוואת תוצאות, כדי שההבדל היצירתי יישאר ברור.\n\nVeo 3.1 Fast ופרופיל Veo 3.1 הרגיל נשארים אפשרויות נפרדות. פלט ההפקה המתועד של Fast הוא 720p/1080p; הפרופיל הרגיל מציין גם 4K. שמרו את המהדורה שנבחרה ואת הגדרות הפלט שלה עם התוצר במקום להתייחס למזהה Preview או לגרסת Veo אחרת כמילה נרדפת אוטומטית לפרופיל ההפקה הזה.\n\nתהליך העבודה יוצר פעולת יצירה וחושף את קובצי הווידאו שהוחזרו לאחר ההשלמה. שמרו כל פלט בפועל שנבחר לבדיקה, יחד עם הבריף שלו, פריימי המקור וההגדרות הרלוונטיות. מזהה פעולה הוא רשומה של היצירה; תוצר ה־MP4 שהושלם הוא מה שאפשר לנגן ולהשתמש בו בעריכה. שמרו עם הווידאו כל מטא־נתוני מקור תוכן שסופקו.\n\nבדקו לאורך הקליפ המלא את מראה הנושא, הפעולה שהתבקשה, הטיפול במצלמה והקול. בדקו את מובנות הדיאלוג ואת הקשר בין הקול לאירועים הגלויים לפני שימוש בו בקומפוזיציה ארוכה יותר. התוצאה השימושית יכולה להיות שוט קונספט, חשיפת מוצר או קטע סיפורי קצר, עם כותרות, מעברים ועריכה נוספת שמתווספים בהמשך בתהליך ההפקה שמסביב.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/veo-3.1-fast",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.64",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.64",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "2d7f2a21e3339bbaa27b9ff1",
        "label": "הפניות למחירי תצורות וידאו",
        "profiles": [
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "אודיו: with_audio"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "אודיו: with_audio; רזולוציה: 4k"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "אודיו: without_audio"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "אודיו: with_audio; רזולוציה: 720p"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "אודיו: without_audio; רזולוציה: 4k"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "אודיו: without_audio; רזולוציה: 720p"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "google/veo-3.1-fast",
    "input": [
      "text"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every completed data[] signed owned URL and the full status metadata. Save every output, including its generated audio.",
            "errors": [
              {
                "code": null,
                "condition": "קריאת גוף הבקשה הגולמי נכשלת לפני פענוח פרופיל הווידאו",
                "http_status": 400,
                "recovery": "יש לשמור את התגובה שהוחזרה ולתקן את גוף הבקשה שלא ניתן לקרוא.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "פענוח פרופיל הווידאו המדויק נכשל, או שלפרופיל המלא שפוענח אין כרטיס מחיר מדויק ומוכן",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "יש לשמור את התגובה; יש להשתמש בפרופיל המלא והמדויק שאושר ובכרטיס המחיר שפורסם עבורו. הענף הזה מתבצע לפני שליחה לספק.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "GET לסטטוס או לתוכן המקוריים: המשימה אינה מפורסמת, המשימה המקורית אינה במצב failed/cancelled/expired, והמצב המקומי הוא unknown או שסטטוס המשימה המקורית הוא completed.",
                "friendly_fields": "error.reason=result_pending_check,error.param=null; error.operation_id and error.request_id when the existing context supplies them. error.message is rewritten/localized.",
                "headers": {
                  "Retry-After": null,
                  "X-Should-Retry": "false"
                },
                "http_status": 503,
                "recovery": "יש לשמור את id ואת operation_id המקוריים (אותו מזהה וידאו ציבורי), את התגובה ואת הכותרות; יש לקרוא רק את הסטטוס והתוכן המקוריים. אין לשלוח בקשת יצירה חדשה.",
                "response_fields": {
                  "charge_pending_check": true,
                  "error.code": "result_pending_check",
                  "error.type": "server_error",
                  "id": "original public video ID",
                  "operation_id": "same as id"
                },
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "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": "Use actual returned task_id or original public video id from response/media library. On HTTP503 result_pending_check from original video status/content GET, operation_id equals that original public video id. Do not assume unrelated operation IDs name media tasks.",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "יש לשמור כל כתובת URL חתומה ובבעלותכם מתוך data[] שהושלם ואת מטא־נתוני הסטטוס המלאים. יש לשמור כל פלט, כולל האודיו שנוצר בו. רצועת אודיו תקפה של AAC עשויה להיכלל גם כאשר generate_audio=false; יש לשמור את קובץ ה־MP4 המקורי במלואו, כולל האודיו הזה.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": "תגובת HTTP503 result_pending_check לסטטוס או לתוכן המקוריים: אותו מזהה ציבורי מקורי של פעולת הווידאו בשדה id.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "server_error בתגובת HTTP503 result_pending_check.",
                  "name": "error.type",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 4,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/veo-3.1-fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "all fields outside the exact required six-key profile",
              "image or reference inputs",
              "1080p or 4K"
            ]
          },
          "hints": [
            "יש לשמור את התגובה המלאה ואת המזהים המקוריים שהוחזרו.",
            "אין לשלוח שוב בקשת יצירה שמצבה אינו ידוע."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "parameters": [
              {
                "enum": [
                  "google/veo-3.1-fast"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  4,
                  6,
                  8
                ],
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "enum": [
                  "720p"
                ],
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "16:9",
                  "9:16"
                ],
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  false,
                  true
                ],
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "content": [
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "parameters": [
                  {
                    "availability": "source_interface",
                    "conditions": "Must be less than the actual returned output count.",
                    "default": 0,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": null,
                    "maximum_known": false,
                    "minimum": 0,
                    "name": "index",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "priced_duration": "Video-file duration is not the billing quantity; final charge follows the actual billed configuration."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "התעריף המוצג מאפשר לאמוד את העלות לפני היצירה. החיוב הסופי מחושב מהעלות שנרשמה עבור פעולת היצירה המקורית. משך הווידאו בפועל אינו כמות החיוב.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "0.64",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.64",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/veo-3.1-fast\", \"prompt\": \"a calm greenhouse\", \"duration\": 6, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": true}')\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/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · exact configured profile",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": true,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio; resolution: 4k",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.5",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_4k",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.5",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.64",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.64",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "google/veo-3.1-fast",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.24",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_720p",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.5",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_4k",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.5",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_720p",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.64",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.64",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/veo-3.1-fast",
        "request_model_id": "google/veo-3.1-fast",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Veo 3.1 Fast",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.64,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.64,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-fast-generate-preview",
          "resolution": "720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-fast-generate-preview",
              "resolution": "720p"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-fast-generate-preview",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.24",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-fast-generate-preview",
              "resolution": "1080p"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-fast-generate-preview",
          "resolution": "4k"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.60",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-fast-generate-preview",
              "resolution": "4k"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.24",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=true Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.24",
            "key": "duration_seconds_with_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=4k · audio=true Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.60",
            "key": "duration_seconds_with_audio_4k",
            "label": "output second",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=false Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.20",
            "key": "duration_seconds_without_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p · audio=true",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.20",
            "key": "duration_seconds_with_audio_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.50",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=4k · audio=false Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.50",
            "key": "duration_seconds_without_audio_4k",
            "label": "output second",
            "native_amount_usd_per_unit": "0.50",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p · audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.16",
            "key": "duration_seconds_without_audio_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "google/veo-3.1-fast",
    "short": "Veo 3.1 Fast הוא מודל הווידאו של Google לסצנות קצרות המבוססות על טקסט או תמונה, עם קול שנוצר. פרופיל ההפקה שלו מחזיר קליפי MP4 באורך ארבע, שש או שמונה שניות בקצב 24 פריימים לשנייה, עם פלט 720p או 1080p ופריימי פתיחה או סיום מונחים."
  },
  "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": "Veo 3.1 Fast הוא מודל הווידאו של Google לסצנות קצרות המבוססות על טקסט או תמונה, עם קול שנוצר. פרופיל ההפקה שלו מחזיר קליפי MP4 באורך ארבע, שש או שמונה שניות בקצב 24 פריימים לשנייה, עם פלט 720p או 1080p ופריימי פתיחה או סיום מונחים.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "eccc4d666a8b3cf4584db4be20938b39bd57000c80d569ef0bdea9dd99445f0e",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "7cd6434e57d6c274ae89c6d830dc3a8d90d81a08fd08d8478c42d03af6d06228"
}
