{
  "aboutHtml": "<p>Grok Imagine Video 1.5 Lite הוא גרסת היצירה הפשוטה של משפחת הווידאו Grok Imagine. היצרן ממליץ עליו לעבודת טקסט־לווידאו ותמונה־לווידאו פשוטה. סצנה כתובה יכולה להפוך לקטע קצר, או שתמונת סטילס שסופקה יכולה לשמש כפריים הפתיחה לשוט מונפש. הפלט כולל שמע שנוצר, עם תמיכה בדיבור מסונכרן לשפתיים בגרסה זו. תוצרים שימושיים כוללים תנועת מוצר קצרה, שוט התמצאות אווירתי או רגע פשוט שבו דמות מדברת.</p><p>בטקסט־לווידאו, תארו מה נראה, מה קורה במהלך השוט וכיצד המצלמה צריכה להתבונן בו. כללו תאורה, קצב וצליל רלוונטי. היצרן מסביר ש־Lite מרנדר תחילה תמונה מההנחיה ואז מנפיש אותה; תמונת הביניים אינה מוחזרת כנכס נפרד. כהכנה מעשית, תנו לקטע הקצר אירוע ברור אחד ומספיק מקום להתפתחותו. סביבה חיצונית רחבה, פרט מוצר מקרוב ודיוקן מדבר זקוקים להוראות קומפוזיציה ותנועה שונות.</p><p>לדוגמה, בריף מקורי יכול לבקש תנועה איטית לעבר כוס קרמיקה על שולחן ארוחת בוקר שקט בעת שאדים עולים, עם אור בוקר רך וצלילי רקע שקטים של החדר. התוצאה החשובה לבדיקה היא אם הכוס נשארת מזוהה, האדים נעים בטבעיות והמצלמה עוקבת אחר הכיוון המיועד. שמרו על תנועה פשוטה בדוגמה בעת הערכת השוט. אם דמות מדברת, כללו את השורה המיועדת ותיאור הגשה תמציתי, ואז בדקו בתוצאה את המילים ואת תנועת הפה הנראית.</p><p>בתמונה־לווידאו, התמונה קובעת את הפריים הראשון וההנחיה מתארת מה קורה אחריו. בחרו תמונת פתיחה שהנושא, המסגור והפרטים החזותיים המיועדים כבר מופיעים בה. תנו הוראות תנועה המתאימות לקומפוזיציה הקיימת, כגון סיבוב ראש קטן, תנועת מצלמה עדינה או רוח המשפיעה על בד. הפלט עוקב אחר יחס הממדים של התמונה; במצב זה המערכת מתעלמת מהגדרת יחס הממדים הנפרדת. הכינו מראש חיתוך אנכי כאשר הקטע הסופי זקוק למסגור אנכי.</p><p>משך הפלט המתועד הוא 1–15 שניות, עם ברירת מחדל של שמונה שניות. טקסט־לווידאו מציע קומפוזיציות ריבועיות, אופקיות, אנכיות ורחבות יותר, לרבות 1:1, ‏16:9, ‏9:16, ‏4:3, ‏3:4, ‏3:2, ‏2:3, ‏21:9 ו־5:2. החליטו כיצד ישמש השוט לפני בחירת המסגור. קטע אנכי לרשתות חברתיות עשוי להזדקק למקום לכתוביות מאוחרות, ואילו קטע שילוב אופקי עשוי להזדקק למרחב סביב הנושא כדי שעורך יוכל לחתוך בנוחות. התאימו את הפעולה המבוקשת לאורך הקטע במקום לדחוס רצף ארוך לשוט קצר אחד.</p><p>Lite מציע פלט 480p ו־720p, וכן אפשרות 1080p המופקת מהגדלת 720p. הבחנה זו חשובה בתכנון חומר הרגיש לפרטים: פריים פלט גדול יותר אינו אומר שהגרסה מרנדרת את הסצנה באופן מקורי ב־1080p. בדקו כיתוב קטן, קצוות מוצר ופנים בגודל התצוגה המיועד. סרטונים שנוצרים כוללים שמע כברירת מחדל, ותצורת היצירה של היצרן מאפשרת גם תוצאה אילמת. הגדירו את כוונת הצליל בקפדנות דומה לפעולה הנראית כאשר הקטע ישמש עם רצועת השמע שנוצרה.</p><p>היצירה אסינכרונית בממשק היצרן המתועד. מזהה בקשה עוקב אחר העבודה בזמן שהיא ממתינה; תגובה שהושלמה מספקת את מיקום הווידאו ואת משכו. הדוגמה שהושלמה במדריך מפנה לקטע MP4 ומסבירה שמיקומי הפלט זמניים. שמרו את התוצר שהושלם בעת הכנת עריכה, יחד עם ההנחיה, תמונת המקור וההגדרות שנבחרו. משימה שנשלחה עדיין נמצאת בשלב עיבוד; תוצאת ההפקה השימושית היא קטע שניתן לנגן עם התמונה והצליל הדרושים.</p><p>בחירת הגרסה נובעת מהבקרות הדרושות לשוט. Grok Imagine Video 1.5 המלא מוסיף ייחוס מרובה תמונות, קולות ייחוס נבחרים, פריימים ראשונים או אחרונים מדויקים ופריימים נעוצים באמצע, ומרנדר טקסט־לווידאו או תמונה־לווידאו ב־1080p מקורי. Lite מתמקד בהנחיה או בתמונת פתיחה אחת. גרסת Grok Imagine Video הקלאסית מספקת תהליכי עריכת וידאו והארכה. הבחנות אלו מסייעות לבחור מודל בהתאם לחומרי הקלט שכבר זמינים, במקום להתייחס לכל חברי המשפחה כאותו מחולל.</p><p>בדקו בשוט שהושלם המשכיות נושא, תנועה סבירה, מסגור ואת הצליל שהתבקש. בדיאלוג, בדקו גם את המילים וגם את סנכרונן עם הדמות. בהכנת כמה קטעים לרצף, שמרו על תיאור הנושא או מראה הפתיחה הרלוונטיים בכל בריף והעריכו את החיבורים בעריכה. קל יותר לאבחן שוט קצר המוגדר היטב: הבדיקה יכולה לזהות אם השינוי הבא נוגע לתמונת המקור, לפעולה, למצלמה או לשורה המדוברת.</p>",
  "aboutText": "Grok Imagine Video 1.5 Lite הוא גרסת היצירה הפשוטה של משפחת הווידאו Grok Imagine. היצרן ממליץ עליו לעבודת טקסט־לווידאו ותמונה־לווידאו פשוטה. סצנה כתובה יכולה להפוך לקטע קצר, או שתמונת סטילס שסופקה יכולה לשמש כפריים הפתיחה לשוט מונפש. הפלט כולל שמע שנוצר, עם תמיכה בדיבור מסונכרן לשפתיים בגרסה זו. תוצרים שימושיים כוללים תנועת מוצר קצרה, שוט התמצאות אווירתי או רגע פשוט שבו דמות מדברת.\n\nבטקסט־לווידאו, תארו מה נראה, מה קורה במהלך השוט וכיצד המצלמה צריכה להתבונן בו. כללו תאורה, קצב וצליל רלוונטי. היצרן מסביר ש־Lite מרנדר תחילה תמונה מההנחיה ואז מנפיש אותה; תמונת הביניים אינה מוחזרת כנכס נפרד. כהכנה מעשית, תנו לקטע הקצר אירוע ברור אחד ומספיק מקום להתפתחותו. סביבה חיצונית רחבה, פרט מוצר מקרוב ודיוקן מדבר זקוקים להוראות קומפוזיציה ותנועה שונות.\n\nלדוגמה, בריף מקורי יכול לבקש תנועה איטית לעבר כוס קרמיקה על שולחן ארוחת בוקר שקט בעת שאדים עולים, עם אור בוקר רך וצלילי רקע שקטים של החדר. התוצאה החשובה לבדיקה היא אם הכוס נשארת מזוהה, האדים נעים בטבעיות והמצלמה עוקבת אחר הכיוון המיועד. שמרו על תנועה פשוטה בדוגמה בעת הערכת השוט. אם דמות מדברת, כללו את השורה המיועדת ותיאור הגשה תמציתי, ואז בדקו בתוצאה את המילים ואת תנועת הפה הנראית.\n\nבתמונה־לווידאו, התמונה קובעת את הפריים הראשון וההנחיה מתארת מה קורה אחריו. בחרו תמונת פתיחה שהנושא, המסגור והפרטים החזותיים המיועדים כבר מופיעים בה. תנו הוראות תנועה המתאימות לקומפוזיציה הקיימת, כגון סיבוב ראש קטן, תנועת מצלמה עדינה או רוח המשפיעה על בד. הפלט עוקב אחר יחס הממדים של התמונה; במצב זה המערכת מתעלמת מהגדרת יחס הממדים הנפרדת. הכינו מראש חיתוך אנכי כאשר הקטע הסופי זקוק למסגור אנכי.\n\nמשך הפלט המתועד הוא 1–15 שניות, עם ברירת מחדל של שמונה שניות. טקסט־לווידאו מציע קומפוזיציות ריבועיות, אופקיות, אנכיות ורחבות יותר, לרבות 1:1, ‏16:9, ‏9:16, ‏4:3, ‏3:4, ‏3:2, ‏2:3, ‏21:9 ו־5:2. החליטו כיצד ישמש השוט לפני בחירת המסגור. קטע אנכי לרשתות חברתיות עשוי להזדקק למקום לכתוביות מאוחרות, ואילו קטע שילוב אופקי עשוי להזדקק למרחב סביב הנושא כדי שעורך יוכל לחתוך בנוחות. התאימו את הפעולה המבוקשת לאורך הקטע במקום לדחוס רצף ארוך לשוט קצר אחד.\n\nLite מציע פלט 480p ו־720p, וכן אפשרות 1080p המופקת מהגדלת 720p. הבחנה זו חשובה בתכנון חומר הרגיש לפרטים: פריים פלט גדול יותר אינו אומר שהגרסה מרנדרת את הסצנה באופן מקורי ב־1080p. בדקו כיתוב קטן, קצוות מוצר ופנים בגודל התצוגה המיועד. סרטונים שנוצרים כוללים שמע כברירת מחדל, ותצורת היצירה של היצרן מאפשרת גם תוצאה אילמת. הגדירו את כוונת הצליל בקפדנות דומה לפעולה הנראית כאשר הקטע ישמש עם רצועת השמע שנוצרה.\n\nהיצירה אסינכרונית בממשק היצרן המתועד. מזהה בקשה עוקב אחר העבודה בזמן שהיא ממתינה; תגובה שהושלמה מספקת את מיקום הווידאו ואת משכו. הדוגמה שהושלמה במדריך מפנה לקטע MP4 ומסבירה שמיקומי הפלט זמניים. שמרו את התוצר שהושלם בעת הכנת עריכה, יחד עם ההנחיה, תמונת המקור וההגדרות שנבחרו. משימה שנשלחה עדיין נמצאת בשלב עיבוד; תוצאת ההפקה השימושית היא קטע שניתן לנגן עם התמונה והצליל הדרושים.\n\nבחירת הגרסה נובעת מהבקרות הדרושות לשוט. Grok Imagine Video 1.5 המלא מוסיף ייחוס מרובה תמונות, קולות ייחוס נבחרים, פריימים ראשונים או אחרונים מדויקים ופריימים נעוצים באמצע, ומרנדר טקסט־לווידאו או תמונה־לווידאו ב־1080p מקורי. Lite מתמקד בהנחיה או בתמונת פתיחה אחת. גרסת Grok Imagine Video הקלאסית מספקת תהליכי עריכת וידאו והארכה. הבחנות אלו מסייעות לבחור מודל בהתאם לחומרי הקלט שכבר זמינים, במקום להתייחס לכל חברי המשפחה כאותו מחולל.\n\nבדקו בשוט שהושלם המשכיות נושא, תנועה סבירה, מסגור ואת הצליל שהתבקש. בדיאלוג, בדקו גם את המילים וגם את סנכרונן עם הדמות. בהכנת כמה קטעים לרצף, שמרו על תיאור הנושא או מראה הפתיחה הרלוונטיים בכל בריף והעריכו את החיבורים בעריכה. קל יותר לאבחן שוט קצר המוגדר היטב: הבדיקה יכולה לזהות אם השינוי הבא נוגע לתמונת המקור, לפעולה, למצלמה או לשורה המדוברת.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "b3647ab0cb2bd27c34523d7d6d840ae8b00b42b88c256e73ad03145e2cdee152",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "he",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">SpaceXAI: Grok Imagine Video 1.5 Lite</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>SpaceXAI /</span><code>x-ai/grok-imagine-video-1.5-lite</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|x-ai%2Fgrok-imagine-video-1.5-lite\">וידאו</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">התחלה</h3><p class=\"mdesc-full\">Grok Imagine Video 1.5 Lite יוצר קטעים קצרים עם שמע מתוך סצנה כתובה או תמונת פתיחה. הוא תומך בפלט של 1–15 שניות, במסגור אופקי ואנכי ובדיבור מסונכרן לשפתיים. בחרו 480p או 720p ישירות, או פלט 1080p המוגדל מ־720p; בקרות ייחוס ופריימים מתקדמות שייכות ל־1.5 המלא.</p><dl class=\"card-io\" data-card-io><div><dt>סוגי קלט נתמכים</dt><dd>טקסט · תמונות</dd></div><div><dt>תוצאות</dt><dd>וידאו</dd></div></dl><details class=\"card-about\"><summary>על המודל</summary><p class=\"note-s\" data-model-method-boundary>התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.</p><div class=\"mabout\" id=\"m-about\"><p>Grok Imagine Video 1.5 Lite הוא גרסת היצירה הפשוטה של משפחת הווידאו Grok Imagine. היצרן ממליץ עליו לעבודת טקסט־לווידאו ותמונה־לווידאו פשוטה. סצנה כתובה יכולה להפוך לקטע קצר, או שתמונת סטילס שסופקה יכולה לשמש כפריים הפתיחה לשוט מונפש. הפלט כולל שמע שנוצר, עם תמיכה בדיבור מסונכרן לשפתיים בגרסה זו. תוצרים שימושיים כוללים תנועת מוצר קצרה, שוט התמצאות אווירתי או רגע פשוט שבו דמות מדברת.</p><p>בטקסט־לווידאו, תארו מה נראה, מה קורה במהלך השוט וכיצד המצלמה צריכה להתבונן בו. כללו תאורה, קצב וצליל רלוונטי. היצרן מסביר ש־Lite מרנדר תחילה תמונה מההנחיה ואז מנפיש אותה; תמונת הביניים אינה מוחזרת כנכס נפרד. כהכנה מעשית, תנו לקטע הקצר אירוע ברור אחד ומספיק מקום להתפתחותו. סביבה חיצונית רחבה, פרט מוצר מקרוב ודיוקן מדבר זקוקים להוראות קומפוזיציה ותנועה שונות.</p><p>לדוגמה, בריף מקורי יכול לבקש תנועה איטית לעבר כוס קרמיקה על שולחן ארוחת בוקר שקט בעת שאדים עולים, עם אור בוקר רך וצלילי רקע שקטים של החדר. התוצאה החשובה לבדיקה היא אם הכוס נשארת מזוהה, האדים נעים בטבעיות והמצלמה עוקבת אחר הכיוון המיועד. שמרו על תנועה פשוטה בדוגמה בעת הערכת השוט. אם דמות מדברת, כללו את השורה המיועדת ותיאור הגשה תמציתי, ואז בדקו בתוצאה את המילים ואת תנועת הפה הנראית.</p><p>בתמונה־לווידאו, התמונה קובעת את הפריים הראשון וההנחיה מתארת מה קורה אחריו. בחרו תמונת פתיחה שהנושא, המסגור והפרטים החזותיים המיועדים כבר מופיעים בה. תנו הוראות תנועה המתאימות לקומפוזיציה הקיימת, כגון סיבוב ראש קטן, תנועת מצלמה עדינה או רוח המשפיעה על בד. הפלט עוקב אחר יחס הממדים של התמונה; במצב זה המערכת מתעלמת מהגדרת יחס הממדים הנפרדת. הכינו מראש חיתוך אנכי כאשר הקטע הסופי זקוק למסגור אנכי.</p><p>משך הפלט המתועד הוא 1–15 שניות, עם ברירת מחדל של שמונה שניות. טקסט־לווידאו מציע קומפוזיציות ריבועיות, אופקיות, אנכיות ורחבות יותר, לרבות 1:1, ‏16:9, ‏9:16, ‏4:3, ‏3:4, ‏3:2, ‏2:3, ‏21:9 ו־5:2. החליטו כיצד ישמש השוט לפני בחירת המסגור. קטע אנכי לרשתות חברתיות עשוי להזדקק למקום לכתוביות מאוחרות, ואילו קטע שילוב אופקי עשוי להזדקק למרחב סביב הנושא כדי שעורך יוכל לחתוך בנוחות. התאימו את הפעולה המבוקשת לאורך הקטע במקום לדחוס רצף ארוך לשוט קצר אחד.</p><p>Lite מציע פלט 480p ו־720p, וכן אפשרות 1080p המופקת מהגדלת 720p. הבחנה זו חשובה בתכנון חומר הרגיש לפרטים: פריים פלט גדול יותר אינו אומר שהגרסה מרנדרת את הסצנה באופן מקורי ב־1080p. בדקו כיתוב קטן, קצוות מוצר ופנים בגודל התצוגה המיועד. סרטונים שנוצרים כוללים שמע כברירת מחדל, ותצורת היצירה של היצרן מאפשרת גם תוצאה אילמת. הגדירו את כוונת הצליל בקפדנות דומה לפעולה הנראית כאשר הקטע ישמש עם רצועת השמע שנוצרה.</p><p>היצירה אסינכרונית בממשק היצרן המתועד. מזהה בקשה עוקב אחר העבודה בזמן שהיא ממתינה; תגובה שהושלמה מספקת את מיקום הווידאו ואת משכו. הדוגמה שהושלמה במדריך מפנה לקטע MP4 ומסבירה שמיקומי הפלט זמניים. שמרו את התוצר שהושלם בעת הכנת עריכה, יחד עם ההנחיה, תמונת המקור וההגדרות שנבחרו. משימה שנשלחה עדיין נמצאת בשלב עיבוד; תוצאת ההפקה השימושית היא קטע שניתן לנגן עם התמונה והצליל הדרושים.</p><p>בחירת הגרסה נובעת מהבקרות הדרושות לשוט. Grok Imagine Video 1.5 המלא מוסיף ייחוס מרובה תמונות, קולות ייחוס נבחרים, פריימים ראשונים או אחרונים מדויקים ופריימים נעוצים באמצע, ומרנדר טקסט־לווידאו או תמונה־לווידאו ב־1080p מקורי. Lite מתמקד בהנחיה או בתמונת פתיחה אחת. גרסת Grok Imagine Video הקלאסית מספקת תהליכי עריכת וידאו והארכה. הבחנות אלו מסייעות לבחור מודל בהתאם לחומרי הקלט שכבר זמינים, במקום להתייחס לכל חברי המשפחה כאותו מחולל.</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>, <code>image</code></dd></div><div><dt>סוגי פלט</dt><dd><code>video</code></dd></div><div><dt>פורמט פלט</dt><dd>הבתים המקוריים של MP4; ללא נרמול או המרת קידוד</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>שדה</th><th>סוג</th><th>דרישה</th><th>ערכים ומגבלות</th><th>ברירת מחדל</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>x-ai/grok-imagine-video-1.5-lite</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></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>⁦1⁩, ⁦2⁩, ⁦3⁩, ⁦4⁩, ⁦5⁩, ⁦6⁩, ⁦7⁩, ⁦8⁩, ⁦9⁩, ⁦10⁩, ⁦11⁩, ⁦12⁩, ⁦13⁩, ⁦14⁩, ⁦15⁩</div><div>מינימום: ⁦1⁩</div><div>מקסימום: ⁦600⁩</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>480p, 720p, 1080p</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, 1:1, 4:3, 3:4, 3:2, 2:3</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</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\">frame_images</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>array</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מספר פריטים מזערי: ⁦1⁩</div><div>מספר פריטים מרבי: ⁦1⁩</div><div>תוכן הקלט: מערך אובייקטים של פריימים. כל אובייקט כולל type=image_url, שדה image_url המכיל url, ו־frame_type. יש להשתמש בכתובת URL של תמונה ב־HTTPS ולהגדיר frame_type לערך first_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר.</div><div>מפתחות מדויקים: type, image_url, frame_type</div><div>תנאים: המפתחות האלה מתארים כל אובייקט פריים; image_url מכיל רק url. יש להשמיט frame_images בבקשה המבוססת על טקסט בלבד.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>array</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">callback_url</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>תבנית: ^https://</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\">session_id</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></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\">trace</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>object</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">user</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></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> · הנחיה כתובה. · נדרש: model, prompt, duration</p><p class=\"note-s\"><code>יש לספק prompt כטקסט ו־duration בשניות שלמות. יש לבחור רזולוציה נתמכת ובמידת הצורך גם יחס גובה־רוחב.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: סוג: string · x-ai/grok-imagine-video-1.5-lite</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: סוג: string · מספר בייטים מרבי ב-UTF-8: ⁦10,000⁩ · נדרשים תווים שאינם רווחים: כן</p><p class=\"note-s\"><b>מתמונה לווידאו</b> · הנחיה כתובה ותמונה של הפריים הראשון. · נדרש: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images הוא מערך. כל אובייקט פריים כולל type, image_url ו־frame_type; השדה image_url מכיל url. יש להגדיר type לערך image_url. יש להשתמש ב־first_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר. יש לספק כתובת URL ציבורית של תמונה ב־HTTPS לכל פריים. יש לבחור רזולוציה נתמכת ובמידת הצורך גם יחס גובה־רוחב.</code></p><p class=\"note-s\">המפתחות המדויקים: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: סוג: string · x-ai/grok-imagine-video-1.5-lite</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: סוג: string · מספר בייטים מרבי ב-UTF-8: ⁦10,000⁩ · נדרשים תווים שאינם רווחים: כן</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</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, image</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>optional_controls</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>מחזור חיים: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}/content</code></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></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><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><div><span>קלט · תמונת קלט · אומדן להשוואה בלבד</span> <b>$0.02</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>resolution: 1080p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.28</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>resolution: 480p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.04</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>resolution: 720p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו · אומדן להשוואה בלבד</span> <b>$0.06</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><div><span>פלט · עלות יצירה משוערת · אומדן להשוואה בלבד</span> <b>$0.04</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>לא הוגדר תנאי נוסף במפתח תמחור זה.</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · תמונת קלט</span> <b>$0.02</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>resolution: 480p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.04</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>resolution: 720p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.06</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>resolution: 1080p</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מחיר וידאו</span> <b>$0.28</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-2726-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2726-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-2726-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2726-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;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;aspect_ratio&quot;:&quot;16:9&quot;,&quot;duration&quot;:8,&quot;model&quot;:&quot;x-ai/grok-imagine-video-1.5-lite&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;resolution&quot;:&quot;720p&quot;}&#39;, encoding=&#39;utf-8&#39;)\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\">כתובות חתומות לתוכן שבבעלותכם</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_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-2727-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2727-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-2727-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2727-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-2728-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2728-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-2728-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2728-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\">יש לשמור כל פלט ממשי שבבעלותכם ואת המטא־נתונים המדודים שהוחזרו איתו.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">503 result_pending_check + originalid + X-Should-Retry:false; אין לשלוח שוב את הבקשה המקורית</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th><th>משמעות</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">index</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</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\">content_url</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>כתובת URL חתומה להורדת הווידאו שהושלם ב־HTTPS.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>תקציר SHA-256 של בתי הווידאו המקורי; null אם אינו זמין.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>גודל קובץ הווידאו המקורי בבתים; null אם אינו זמין.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>משך הווידאו המדוד באלפיות שנייה; null אם אינו זמין.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>רוחב הווידאו בפיקסלים; null אם אינו זמין.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>גובה הווידאו בפיקסלים; null אם אינו זמין.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>מזהה מקודד הווידאו; null אם לא נרשם.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>boolean | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>האם הווידאו מכיל רצועת אודיו; null אם לא נמדד.</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string | null</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>מזהה מקודד האודיו; null כאשר לא נרשם מזהה.</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>⁦404⁩ · <code>not_found_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>הגישה לווידאו אינה זמינה, או שמזהה הווידאו הזה לא נמצא.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לבדוק את הגישה לווידאו. עבור וידאו קיים, יש להשתמש במזהה הציבורי המקורי שלו ובאותו מפתח API.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦401⁩ · <code>authentication_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>מפתח ה־API אינו תואם לחשבון המאומת.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לבדוק את מפתח ה־API ואת הגישה לחשבון לפני השליחה.</td></tr><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>⁦422⁩ · <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>יש להשתמש בקלטי HTTPS תקפים. להמשך, יש להשתמש במזהה הציבורי של הווידאו המקורי שלכם שהושלם, עם אותו מפתח API.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦402⁩ · <code>billing_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>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>יש לבדוק את תוצאת הווידאו המקורית ואת החיוב.</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>owned_result_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>יש לבדוק את הסטטוס של המשימה המקורית. יש להוריד לאחר שהיא מדווחת completed; אם היא מדווחת failed, יש לפעול לפי ההודעה שלה על בדיקת החיוב.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=x-ai%2Fgrok-imagine-video-1.5-lite&amp;route=Ultra&amp;caller=x-ai%2Fgrok-imagine-video-1.5-lite&amp;fmt=videos\"><code>x-ai/grok-imagine-video-1.5-lite</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\">השתמשו בנתיבי השיטות המוצגים למעלה.</p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=x-ai%2Fgrok-imagine-video-1.5-lite&amp;route=Ultra&amp;caller=x-ai%2Fgrok-imagine-video-1.5-lite&amp;fmt=videos\"><code>x-ai/grok-imagine-video-1.5-lite</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "x-ai/grok-imagine-video-1.5-lite",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "x-ai/grok-imagine-video-1.5-lite",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|x-ai%2Fgrok-imagine-video-1.5-lite",
      "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": "יש לשמור כל פלט ממשי שבבעלותכם ואת המטא־נתונים המדודים שהוחזרו איתו.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "הגישה לווידאו אינה זמינה, או שמזהה הווידאו הזה לא נמצא.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את הגישה לווידאו. עבור וידאו קיים, יש להשתמש במזהה הציבורי המקורי שלו ובאותו מפתח API.",
                "type": "not_found_error"
              },
              {
                "condition": "מפתח ה־API אינו תואם לחשבון המאומת.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את מפתח ה־API ואת הגישה לחשבון לפני השליחה.",
                "type": "authentication_error"
              },
              {
                "condition": "לא ניתן היה לקרוא את הבקשה, או שאינדקס ההורדה אינו תקף.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "יש לתקן את גוף הבקשה. להורדה, יש לבחור אינדקס פלט שהוחזר על ידי המשימה המקורית.",
                "type": "invalid_request_error"
              },
              {
                "condition": "לא ניתן לתמחר את תצורת הווידאו שנבחרה.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "יש לבחור תצורת וידאו נתמכת ולהשלים את האפשרויות הנדרשות בה לפני שליחת בקשה מתוקנת.",
                "type": "price_unavailable"
              },
              {
                "condition": "קלט וידאו או משימת המשך מקורית אינם תקפים.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "יש להשתמש בקלטי HTTPS תקפים. להמשך, יש להשתמש במזהה הציבורי של הווידאו המקורי שלכם שהושלם, עם אותו מפתח API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "היתרה הזמינה או המגבלות אינן מאפשרות לשריין סכום.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את היתרה הזמינה ואת המגבלות לפני שליחת בקשה חדשה.",
                "type": "billing_error"
              },
              {
                "condition": "אימות הווידאו, האחסון או הגישה לשירות אינם זמינים זמנית.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "יש להמתין לזמינות השירות. אם כבר יש לכם מזהה וידאו, יש לבדוק את המשימה המקורית הזו במקום ליצור וידאו נוסף.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "יש לבדוק את תוצאת הווידאו המקורית ואת החיוב.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "יש לשמור את מזהה הווידאו שהוחזר ולבדוק את המשימה הזו. אין לשלוח בקשת יצירה חלופית בזמן הבדיקה.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "הורדת הווידאו הקיים אינה זמינה זמנית.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "יש לבדוק את אותה משימת וידאו בהמשך ולהוריד את הפלט הקיים שלה. יצירה חדשה יוצרת פעולה נפרדת.",
                "type": "server_error"
              },
              {
                "condition": "תוכן הווידאו לא פורסם.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את הסטטוס של המשימה המקורית. יש להוריד לאחר שהיא מדווחת completed; אם היא מדווחת failed, יש לפעול לפי ההודעה שלה על בדיקת החיוב.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; אין לשלוח שוב את הבקשה המקורית"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-video-1.5-lite"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "יש לספק prompt כטקסט ו־duration בשניות שלמות. יש לבחור רזולוציה נתמכת ובמידת הצורך גם יחס גובה־רוחב.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "הנחיה כתובה."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-video-1.5-lite"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images הוא מערך. כל אובייקט פריים כולל type, image_url ו־frame_type; השדה image_url מכיל url. יש להגדיר type לערך image_url. יש להשתמש ב־first_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר. יש לספק כתובת URL ציבורית של תמונה ב־HTTPS לכל פריים. יש לבחור רזולוציה נתמכת ובמידת הצורך גם יחס גובה־רוחב.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "הנחיה כתובה ותמונה של הפריים הראשון."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "מיקום הווידאו הזה ברשימת הפלטים, בספירה המתחילה מאפס.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "כתובת URL חתומה להורדת הווידאו שהושלם ב־HTTPS.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "תקציר SHA-256 של בתי הווידאו המקורי; null אם אינו זמין.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "גודל קובץ הווידאו המקורי בבתים; null אם אינו זמין.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "משך הווידאו המדוד באלפיות שנייה; null אם אינו זמין.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "רוחב הווידאו בפיקסלים; null אם אינו זמין.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "גובה הווידאו בפיקסלים; null אם אינו זמין.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "מזהה מקודד הווידאו; null אם לא נרשם.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "האם הווידאו מכיל רצועת אודיו; null אם לא נמדד.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "מזהה מקודד האודיו; null כאשר לא נרשם מזהה.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "כתובות חתומות לתוכן שבבעלותכם",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "x-ai/grok-imagine-video-1.5-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "x-ai/grok-imagine-video-1.5-lite"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "המפתחות האלה מתארים כל אובייקט פריים; image_url מכיל רק url. יש להשמיט frame_images בבקשה המבוססת על טקסט בלבד.",
                "content": "מערך אובייקטים של פריימים. כל אובייקט כולל type=image_url, שדה image_url המכיל url, ו־frame_type. יש להשתמש בכתובת URL של תמונה ב־HTTPS ולהגדיר frame_type לערך first_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "x-ai/grok-imagine-video-1.5-lite"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "seed": false,
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": false,
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Frame images plus image references are rejected because mixed additive input count is unproved; pure frame or pure reference mode remains separately priced."
              ]
            },
            "unsupported": [
              "size",
              "seed",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "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": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.04",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.04",
                "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": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "0.04",
                "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.04",
                "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'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"x-ai/grok-imagine-video-1.5-lite\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\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 · create video",
            "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": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "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": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.04",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.04",
                "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": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "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.04",
                "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.04",
                "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": "x-ai/grok-imagine-video-1.5-lite",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_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.02",
            "amount_unit": "usd_per_image",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_image_input",
            "label": "Input image",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "public_unit_label": "per image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.28",
            "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.04",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_480p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.04",
            "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.06",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.06",
            "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.04",
            "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.04",
            "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": "x-ai/grok-imagine-video-1.5-lite",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "555a59ddb5ed433cca12933acf4838a474dd0b3935618f9569b1974392b4eb21",
    "input_html_sha256": "aebe73ce29150c119302e0bf4128b9743b69d7cc5d2a236f9baacbe5e09e555e",
    "private_audit_sha256": "f6b47b361e4fe638b0294ab3780c470e5d8deed25c3a74982ad895efe1b1c2b8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/x-ai-grok-imagine-video-1-5-lite/",
    "description": "Grok Imagine Video 1.5 Lite יוצר קטעים קצרים עם שמע מתוך סצנה כתובה או תמונת פתיחה. הוא תומך בפלט של 1–15 שניות, במסגור אופקי ואנכי ובדיבור מסונכרן לשפתיים. בחרו 480p או 720p ישירות, או פלט 1080p המוגדל מ־720p; בקרות ייחוס ופריימים מתקדמות שייכות ל־1.5 המלא.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/x-ai-grok-imagine-video-1-5-lite/index.md",
    "title": "SpaceXAI: Grok Imagine Video 1.5 Lite — Ailoot",
    "url": "https://ailoot.ai/models/he/x-ai-grok-imagine-video-1-5-lite/"
  },
  "rawModel": {
    "about": "Grok Imagine Video 1.5 Lite הוא גרסת היצירה הפשוטה של משפחת הווידאו Grok Imagine. היצרן ממליץ עליו לעבודת טקסט־לווידאו ותמונה־לווידאו פשוטה. סצנה כתובה יכולה להפוך לקטע קצר, או שתמונת סטילס שסופקה יכולה לשמש כפריים הפתיחה לשוט מונפש. הפלט כולל שמע שנוצר, עם תמיכה בדיבור מסונכרן לשפתיים בגרסה זו. תוצרים שימושיים כוללים תנועת מוצר קצרה, שוט התמצאות אווירתי או רגע פשוט שבו דמות מדברת.\n\nבטקסט־לווידאו, תארו מה נראה, מה קורה במהלך השוט וכיצד המצלמה צריכה להתבונן בו. כללו תאורה, קצב וצליל רלוונטי. היצרן מסביר ש־Lite מרנדר תחילה תמונה מההנחיה ואז מנפיש אותה; תמונת הביניים אינה מוחזרת כנכס נפרד. כהכנה מעשית, תנו לקטע הקצר אירוע ברור אחד ומספיק מקום להתפתחותו. סביבה חיצונית רחבה, פרט מוצר מקרוב ודיוקן מדבר זקוקים להוראות קומפוזיציה ותנועה שונות.\n\nלדוגמה, בריף מקורי יכול לבקש תנועה איטית לעבר כוס קרמיקה על שולחן ארוחת בוקר שקט בעת שאדים עולים, עם אור בוקר רך וצלילי רקע שקטים של החדר. התוצאה החשובה לבדיקה היא אם הכוס נשארת מזוהה, האדים נעים בטבעיות והמצלמה עוקבת אחר הכיוון המיועד. שמרו על תנועה פשוטה בדוגמה בעת הערכת השוט. אם דמות מדברת, כללו את השורה המיועדת ותיאור הגשה תמציתי, ואז בדקו בתוצאה את המילים ואת תנועת הפה הנראית.\n\nבתמונה־לווידאו, התמונה קובעת את הפריים הראשון וההנחיה מתארת מה קורה אחריו. בחרו תמונת פתיחה שהנושא, המסגור והפרטים החזותיים המיועדים כבר מופיעים בה. תנו הוראות תנועה המתאימות לקומפוזיציה הקיימת, כגון סיבוב ראש קטן, תנועת מצלמה עדינה או רוח המשפיעה על בד. הפלט עוקב אחר יחס הממדים של התמונה; במצב זה המערכת מתעלמת מהגדרת יחס הממדים הנפרדת. הכינו מראש חיתוך אנכי כאשר הקטע הסופי זקוק למסגור אנכי.\n\nמשך הפלט המתועד הוא 1–15 שניות, עם ברירת מחדל של שמונה שניות. טקסט־לווידאו מציע קומפוזיציות ריבועיות, אופקיות, אנכיות ורחבות יותר, לרבות 1:1, ‏16:9, ‏9:16, ‏4:3, ‏3:4, ‏3:2, ‏2:3, ‏21:9 ו־5:2. החליטו כיצד ישמש השוט לפני בחירת המסגור. קטע אנכי לרשתות חברתיות עשוי להזדקק למקום לכתוביות מאוחרות, ואילו קטע שילוב אופקי עשוי להזדקק למרחב סביב הנושא כדי שעורך יוכל לחתוך בנוחות. התאימו את הפעולה המבוקשת לאורך הקטע במקום לדחוס רצף ארוך לשוט קצר אחד.\n\nLite מציע פלט 480p ו־720p, וכן אפשרות 1080p המופקת מהגדלת 720p. הבחנה זו חשובה בתכנון חומר הרגיש לפרטים: פריים פלט גדול יותר אינו אומר שהגרסה מרנדרת את הסצנה באופן מקורי ב־1080p. בדקו כיתוב קטן, קצוות מוצר ופנים בגודל התצוגה המיועד. סרטונים שנוצרים כוללים שמע כברירת מחדל, ותצורת היצירה של היצרן מאפשרת גם תוצאה אילמת. הגדירו את כוונת הצליל בקפדנות דומה לפעולה הנראית כאשר הקטע ישמש עם רצועת השמע שנוצרה.\n\nהיצירה אסינכרונית בממשק היצרן המתועד. מזהה בקשה עוקב אחר העבודה בזמן שהיא ממתינה; תגובה שהושלמה מספקת את מיקום הווידאו ואת משכו. הדוגמה שהושלמה במדריך מפנה לקטע MP4 ומסבירה שמיקומי הפלט זמניים. שמרו את התוצר שהושלם בעת הכנת עריכה, יחד עם ההנחיה, תמונת המקור וההגדרות שנבחרו. משימה שנשלחה עדיין נמצאת בשלב עיבוד; תוצאת ההפקה השימושית היא קטע שניתן לנגן עם התמונה והצליל הדרושים.\n\nבחירת הגרסה נובעת מהבקרות הדרושות לשוט. Grok Imagine Video 1.5 המלא מוסיף ייחוס מרובה תמונות, קולות ייחוס נבחרים, פריימים ראשונים או אחרונים מדויקים ופריימים נעוצים באמצע, ומרנדר טקסט־לווידאו או תמונה־לווידאו ב־1080p מקורי. Lite מתמקד בהנחיה או בתמונת פתיחה אחת. גרסת Grok Imagine Video הקלאסית מספקת תהליכי עריכת וידאו והארכה. הבחנות אלו מסייעות לבחור מודל בהתאם לחומרי הקלט שכבר זמינים, במקום להתייחס לכל חברי המשפחה כאותו מחולל.\n\nבדקו בשוט שהושלם המשכיות נושא, תנועה סבירה, מסגור ואת הצליל שהתבקש. בדיאלוג, בדקו גם את המילים וגם את סנכרונן עם הדמות. בהכנת כמה קטעים לרצף, שמרו על תיאור הנושא או מראה הפתיחה הרלוונטיים בכל בריף והעריכו את החיבורים בעריכה. קל יותר לאבחן שוט קצר המוגדר היטב: הבדיקה יכולה לזהות אם השינוי הבא נוגע לתמונת המקור, לפעולה, למצלמה או לשורה המדוברת.",
    "alias_of": null,
    "aliases": [],
    "author": "SpaceXAI",
    "available": null,
    "canonical_model": "x-ai/grok-imagine-video-1.5-lite",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.04",
            "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.04",
            "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": "7aefe13f6858e4c0ef9fd646",
        "label": "הפניות למחירי תצורות וידאו",
        "profiles": [
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "לא הוגדר תנאי נוסף במפתח תמחור זה."
            },
            "label": "תמונת קלט",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "key": "input_image",
                "label": "Input image",
                "public_unit_label": "per image",
                "quantity": 1,
                "rate_role": "typed_video_image_reference",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "basis": "מחיר הייחוס שפורסם עבור התצורה המוצגת. החיובים הסופיים נקבעים לפי התצורה שחויבה בפועל.",
            "dimensions": {
              "conditions": "resolution: 480p"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.04",
                "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": "resolution: 720p"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.06",
                "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": "resolution: 1080p"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.28",
                "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": "x-ai/grok-imagine-video-1.5-lite",
    "input": [
      "text",
      "image"
    ],
    "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": "יש לשמור כל פלט ממשי שבבעלותכם ואת המטא־נתונים המדודים שהוחזרו איתו.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "הגישה לווידאו אינה זמינה, או שמזהה הווידאו הזה לא נמצא.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את הגישה לווידאו. עבור וידאו קיים, יש להשתמש במזהה הציבורי המקורי שלו ובאותו מפתח API.",
                "type": "not_found_error"
              },
              {
                "condition": "מפתח ה־API אינו תואם לחשבון המאומת.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את מפתח ה־API ואת הגישה לחשבון לפני השליחה.",
                "type": "authentication_error"
              },
              {
                "condition": "לא ניתן היה לקרוא את הבקשה, או שאינדקס ההורדה אינו תקף.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "יש לתקן את גוף הבקשה. להורדה, יש לבחור אינדקס פלט שהוחזר על ידי המשימה המקורית.",
                "type": "invalid_request_error"
              },
              {
                "condition": "לא ניתן לתמחר את תצורת הווידאו שנבחרה.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "יש לבחור תצורת וידאו נתמכת ולהשלים את האפשרויות הנדרשות בה לפני שליחת בקשה מתוקנת.",
                "type": "price_unavailable"
              },
              {
                "condition": "קלט וידאו או משימת המשך מקורית אינם תקפים.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "יש להשתמש בקלטי HTTPS תקפים. להמשך, יש להשתמש במזהה הציבורי של הווידאו המקורי שלכם שהושלם, עם אותו מפתח API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "היתרה הזמינה או המגבלות אינן מאפשרות לשריין סכום.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את היתרה הזמינה ואת המגבלות לפני שליחת בקשה חדשה.",
                "type": "billing_error"
              },
              {
                "condition": "אימות הווידאו, האחסון או הגישה לשירות אינם זמינים זמנית.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "יש להמתין לזמינות השירות. אם כבר יש לכם מזהה וידאו, יש לבדוק את המשימה המקורית הזו במקום ליצור וידאו נוסף.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "יש לבדוק את תוצאת הווידאו המקורית ואת החיוב.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "יש לשמור את מזהה הווידאו שהוחזר ולבדוק את המשימה הזו. אין לשלוח בקשת יצירה חלופית בזמן הבדיקה.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "הורדת הווידאו הקיים אינה זמינה זמנית.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "יש לבדוק את אותה משימת וידאו בהמשך ולהוריד את הפלט הקיים שלה. יצירה חדשה יוצרת פעולה נפרדת.",
                "type": "server_error"
              },
              {
                "condition": "תוכן הווידאו לא פורסם.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "יש לבדוק את הסטטוס של המשימה המקורית. יש להוריד לאחר שהיא מדווחת completed; אם היא מדווחת failed, יש לפעול לפי ההודעה שלה על בדיקת החיוב.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; אין לשלוח שוב את הבקשה המקורית"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-video-1.5-lite"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "יש לספק prompt כטקסט ו־duration בשניות שלמות. יש לבחור רזולוציה נתמכת ובמידת הצורך גם יחס גובה־רוחב.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "הנחיה כתובה."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "x-ai/grok-imagine-video-1.5-lite"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images הוא מערך. כל אובייקט פריים כולל type, image_url ו־frame_type; השדה image_url מכיל url. יש להגדיר type לערך image_url. יש להשתמש ב־first_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר. יש לספק כתובת URL ציבורית של תמונה ב־HTTPS לכל פריים. יש לבחור רזולוציה נתמכת ובמידת הצורך גם יחס גובה־רוחב.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "הנחיה כתובה ותמונה של הפריים הראשון."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "מיקום הווידאו הזה ברשימת הפלטים, בספירה המתחילה מאפס.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "כתובת URL חתומה להורדת הווידאו שהושלם ב־HTTPS.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "תקציר SHA-256 של בתי הווידאו המקורי; null אם אינו זמין.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "גודל קובץ הווידאו המקורי בבתים; null אם אינו זמין.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "משך הווידאו המדוד באלפיות שנייה; null אם אינו זמין.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "רוחב הווידאו בפיקסלים; null אם אינו זמין.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "גובה הווידאו בפיקסלים; null אם אינו זמין.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "מזהה מקודד הווידאו; null אם לא נרשם.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "האם הווידאו מכיל רצועת אודיו; null אם לא נמדד.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "מזהה מקודד האודיו; null כאשר לא נרשם מזהה.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "כתובות חתומות לתוכן שבבעלותכם",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "x-ai/grok-imagine-video-1.5-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "x-ai/grok-imagine-video-1.5-lite"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "המפתחות האלה מתארים כל אובייקט פריים; image_url מכיל רק url. יש להשמיט frame_images בבקשה המבוססת על טקסט בלבד.",
                "content": "מערך אובייקטים של פריימים. כל אובייקט כולל type=image_url, שדה image_url המכיל url, ו־frame_type. יש להשתמש בכתובת URL של תמונה ב־HTTPS ולהגדיר frame_type לערך first_frame. כל תפקיד של פריים מופיע פעם אחת לכל היותר.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "x-ai/grok-imagine-video-1.5-lite"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p",
                    "1080p"
                  ]
                },
                "seed": false,
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": false,
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Frame images plus image references are rejected because mixed additive input count is unproved; pure frame or pure reference mode remains separately priced."
              ]
            },
            "unsupported": [
              "size",
              "seed",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "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": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "מחיר וידאו",
            "units": [
              {
                "amount": "0.04",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.04",
                "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": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "0.04",
                "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.04",
                "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'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"x-ai/grok-imagine-video-1.5-lite\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\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 · create video",
            "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": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per image"
            },
            "label": "Input image",
            "units": [
              {
                "amount": "0.02",
                "amount_unit": "usd_per_image",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_image_input",
                "label": "Input image",
                "native_amount_usd_per_unit": "0.02",
                "native_quantity": 1,
                "public_unit_label": "per image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.28",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.28",
                "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": "resolution: 480p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.04",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_480p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.04",
                "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": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_video_output_second_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "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.04",
                "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.04",
                "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": "x-ai/grok-imagine-video-1.5-lite",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_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.02",
            "amount_unit": "usd_per_image",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_image_input",
            "label": "Input image",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "public_unit_label": "per image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.28",
            "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.04",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_480p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.04",
            "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.06",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_video_output_second_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.06",
            "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.04",
            "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.04",
            "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": "x-ai/grok-imagine-video-1.5-lite",
        "request_model_id": "x-ai/grok-imagine-video-1.5-lite",
        "route_label": "Ultra"
      }
    ],
    "name": "SpaceXAI: Grok Imagine Video 1.5 Lite",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.04,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.04,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "input_assets_additive": true,
          "resolution": "480p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.04",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "input_assets_additive": true,
              "resolution": "480p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "input_assets_additive": true,
          "resolution": "720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.06",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "input_assets_additive": true,
              "resolution": "720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "input_assets_additive": true,
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "input_assets_additive": true,
              "resolution": "1080p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "adds_to_output": true,
          "start_frame_or_reference_image_charged": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.02",
            "amount_unit": "usd_per_input_image",
            "conditions": {
              "adds_to_output": true,
              "start_frame_or_reference_image_charged": true
            },
            "key": "input_image",
            "label": "input image",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_image"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.02",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "image input",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "2",
            "key": "cents_per_image_input",
            "label": "image input",
            "native_amount_usd_per_unit": "0.02",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.04",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=480p",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "4",
            "key": "cents_per_video_output_second_480p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.04",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "6",
            "key": "cents_per_video_output_second_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.28",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=1080p",
            "billing_original_currency": "USD_cent",
            "billing_original_rate": "28",
            "key": "cents_per_video_output_second_1080p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.28",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "x-ai/grok-imagine-video-1.5-lite",
    "short": "Grok Imagine Video 1.5 Lite יוצר קטעים קצרים עם שמע מתוך סצנה כתובה או תמונת פתיחה. הוא תומך בפלט של 1–15 שניות, במסגור אופקי ואנכי ובדיבור מסונכרן לשפתיים. בחרו 480p או 720p ישירות, או פלט 1080p המוגדל מ־720p; בקרות ייחוס ופריימים מתקדמות שייכות ל־1.5 המלא."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Grok Imagine Video 1.5 Lite יוצר קטעים קצרים עם שמע מתוך סצנה כתובה או תמונת פתיחה. הוא תומך בפלט של 1–15 שניות, במסגור אופקי ואנכי ובדיבור מסונכרן לשפתיים. בחרו 480p או 720p ישירות, או פלט 1080p המוגדל מ־720p; בקרות ייחוס ופריימים מתקדמות שייכות ל־1.5 המלא.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "12fb3a8b863f4ba9e79874674d1111cab9bd6c3f10caef0eff961510aea2d685",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "2b7f011855a8a7ab70a6e460185ffba161a139e92b209505bf5893172e8a43d9"
}
