{
  "aboutHtml": "<p>MiniMax Hailuo 2.3 הוא מודל ליצירת וידאו עם מצבי יצירה מטקסט ומתמונה. הוא מבוסס על Hailuo 02 ומתמקד בפעולה פיזית, בסגנון חזותי, בהבעות פנים זעירות של דמויות ובתגובה להוראות תנועה. ספקו סצנה כתובה כדי ליצור שוט מאפס, או השתמשו בתמונת פתיחה כדי לקבוע את המראה הראשוני ותארו את התנועה שתבוא אחריו.</p><p>ביצוע פיזי הוא אחד מתחומי השיפור העיקריים של המהדורה. Hailuo 2.3 שואף להפוך תנועות גוף לזורמות ומבוקרות יותר, לרבות בסצנות עם מצלמה בתנועה. תכננו את הפעולה החשובה לפני הוספת פרטים דקורטיביים. דמות המרימה עצם, פונה לאדם אחר או עוברת בחדר מעניקה לשוט אירוע גלוי שאפשר להעריך. החליטו איזו תנועה נושאת את הסיפור, ואז שמרו על התאמה בין יתר ההוראות לבינה.</p><p>סגנון הוא מוקד נוסף. המודל תומך בעבודה באנימה ובאיור, וגם בסגנונות כגון ציור בדיו מדולל ו־CG של משחקים. תארו את הטיפול החזותי הרצוי ושמרו על מראה שתואם לסצנה. אם תמונת פתיחה כבר מגדירה סגנון ציור, השתמשו בטקסט כדי להנחות את האנימציה במקום להכניס תיאור מתחרה לעיצוב הדמות. בדקו לאורך הקליפ אם הסגנון הזה נשאר ברור בזמן התנועה.</p><p>המודל מתמקד גם במשחק פנים ובשינויים עדינים בהבעה. הכינו שוט דמות סביב התגובה החשובה: הבחנה בעצם, התעוררות סקרנות או תגובה בחיוך קטן. מבט מקרוב יכול להקל על הערכת השינוי, בעוד רצף מחוות נרחב עשוי להסיח ממנו את הדעת. בדקו את הפנים לפני התגובה, במהלכה ואחריה במקום לשפוט רק לפי פריים סטילס מייצג.</p><p>תנועת עצמים שימושית לסצנות שממוקדות במוצר. בריף מקורי עשוי להציג אגרטל קרמיקה קטן המסתובב באור צד חם בעוד המצלמה מתקרבת אליו בהדרגה. ציינו אילו תכונות חייבות להישאר מזוהות, כגון קווי המתאר, השפה וגימור המשטח. בדקו את הפרטים האלה לאורך התנועה, משום שאווירה משכנעת לבדה אינה מעידה על הצגת מוצר נאמנה.</p><p>ביצירה מטקסט לווידאו, התיאור הנדרש יכול להכיל עד 2,000 תווים. ציינו את הנושא, הפעולה, הסביבה והסגנון החזותי בסדר הגיוני. יצירה מתמונה לווידאו מחייבת תמונת פריים פתיחה, עם תיאור אופציונלי של עד 2,000 תווים. התמונה מקבעת את קומפוזיציית הפתיחה, לכן הכינו את הנושא והמסגור לפני בקשת התנועה. השאירו מרחב גלוי במקום שבו זרוע, עצם או דמות צריכים לנוע.</p><p>תמונת הפתיחה יכולה להיות בפורמט JPG, JPEG, PNG או WebP, חייבת להיות קטנה מ־20 MB, צריכה צלע קצרה הגדולה מ־300 פיקסלים ויחס ממדים שבין 2:5 ל־5:2. אפשר לספק אותה ככתובת URL ציבורית של תמונה או ככתובת URL של נתונים ב־Base64. בחרו תמונת פתיחה ברורה במקום לסמוך על האנימציה שתתקן פנים מוסתרות או פעולה שכבר נחתכה.</p><p>Hailuo 2.3 יוצר בקצב 24 פריימים לשנייה. שוט של שש שניות יכול להשתמש ב־768P או 1080P; שוט של עשר שניות משתמש ב־768P. ברירות המחדל הן שש שניות ו־768P. בחרו את האורך לפי הפעולה שתרצו לראות: תגובה קצרה עשויה להתאים לשוט קצר, ותנועה איטית יותר דורשת יותר מקום. קראו את הרוחב והגובה בפועל של התוצאה שהושלמה כשמשלבים את הקליפ בעריכה, משום שתווית רזולוציה לבדה אינה החלטת מסגור מלאה.</p><p>אפשר להנחות את המצלמה באמצעות פקודות בסוגריים מרובעים. הבקרות הזמינות כוללות תנועה אופקית של המצלמה, סיבוב אופקי, התקרבות, תנועה אנכית, הטיה, זום, רעידה, מעקב ושוט סטטי. פקודה כגון [Push in] מכוונת את ההתקרבות; פקודות המקובצות באותו זוג סוגריים פועלות יחד, ואילו פקודות המוצבות לפי סדר מתארות רצף. MiniMax ממליצה על שלוש פקודות בו־זמניות לכל היותר. התאימו את תנועת המצלמה לפעולת הנושא כדי שיהיה קל לעקוב אחר האירוע המרכזי.</p><p>אופטימיזציה אוטומטית של ההנחיה מופעלת כברירת מחדל ואפשר להשבית אותה לשליטה הדוקה יותר בניסוח שסופק. עיבוד מקדים מהיר ואופציונלי מקצר את זמן האופטימיזציה כשהיא מופעלת; זו הגדרה נפרדת מבחירת מודל Hailuo 2.3 Fast. Hailuo 2.3 הרגיל תומך בשני מצבי היצירה, ואילו Fast הוא מהדורה נפרדת ליצירת וידאו מתמונה. בחרו את המהדורה לפי השאלה אם הפרויקט מתחיל מטקסט בלבד או מפריים קיים.</p><p>תהליך היצירה מחזיר מזהה משימה אסינכרונית, ואז מדווח על הכנה, המתנה בתור, עיבוד, הצלחה או כישלון. בהצלחה, התוצאה מספקת מזהה קובץ ואת ממדי הווידאו בפועל, והסרטון שהושלם מאוחזר להורדה. שמרו את הקליפ בזמן שכתובת ההורדה שלו תקפה. תיעוד הורדת הווידאו הנוכחי של היצרן קובע שכתובת ה־URL להורדה שמוחזרת תקפה לשעה אחת. לרצף ערוך, שמרו כל שוט עם ההנחיה ותמונת הפתיחה שלו כדי שאפשר יהיה לעקוב אחר הכיוון היצירתי שנבחר במהלך התיקונים.</p><p>בדקו בקליפ השמור את הפעולה, הרציפות הפיזית, פרטי הפנים או המוצר, הסגנון החזותי והתנהגות המצלמה. צפו בשוט כולו ואז בדקו את תחילתו וסופו, שבהם הוא יתחבר לחומרים אחרים. אם הבקשה כוללת יותר מדי תנועות מתחרות, פשטו את הפעולה המרכזית; אם עיצוב הפתיחה אינו ברור, שפרו את תמונת הפתיחה. בחרו שוט שמעביר את האירוע הרצוי, ואז הוסיפו קריינות, כותרות ומעברים בתהליך העריכה.</p>",
  "aboutText": "MiniMax Hailuo 2.3 הוא מודל ליצירת וידאו עם מצבי יצירה מטקסט ומתמונה. הוא מבוסס על Hailuo 02 ומתמקד בפעולה פיזית, בסגנון חזותי, בהבעות פנים זעירות של דמויות ובתגובה להוראות תנועה. ספקו סצנה כתובה כדי ליצור שוט מאפס, או השתמשו בתמונת פתיחה כדי לקבוע את המראה הראשוני ותארו את התנועה שתבוא אחריו.\n\nביצוע פיזי הוא אחד מתחומי השיפור העיקריים של המהדורה. Hailuo 2.3 שואף להפוך תנועות גוף לזורמות ומבוקרות יותר, לרבות בסצנות עם מצלמה בתנועה. תכננו את הפעולה החשובה לפני הוספת פרטים דקורטיביים. דמות המרימה עצם, פונה לאדם אחר או עוברת בחדר מעניקה לשוט אירוע גלוי שאפשר להעריך. החליטו איזו תנועה נושאת את הסיפור, ואז שמרו על התאמה בין יתר ההוראות לבינה.\n\nסגנון הוא מוקד נוסף. המודל תומך בעבודה באנימה ובאיור, וגם בסגנונות כגון ציור בדיו מדולל ו־CG של משחקים. תארו את הטיפול החזותי הרצוי ושמרו על מראה שתואם לסצנה. אם תמונת פתיחה כבר מגדירה סגנון ציור, השתמשו בטקסט כדי להנחות את האנימציה במקום להכניס תיאור מתחרה לעיצוב הדמות. בדקו לאורך הקליפ אם הסגנון הזה נשאר ברור בזמן התנועה.\n\nהמודל מתמקד גם במשחק פנים ובשינויים עדינים בהבעה. הכינו שוט דמות סביב התגובה החשובה: הבחנה בעצם, התעוררות סקרנות או תגובה בחיוך קטן. מבט מקרוב יכול להקל על הערכת השינוי, בעוד רצף מחוות נרחב עשוי להסיח ממנו את הדעת. בדקו את הפנים לפני התגובה, במהלכה ואחריה במקום לשפוט רק לפי פריים סטילס מייצג.\n\nתנועת עצמים שימושית לסצנות שממוקדות במוצר. בריף מקורי עשוי להציג אגרטל קרמיקה קטן המסתובב באור צד חם בעוד המצלמה מתקרבת אליו בהדרגה. ציינו אילו תכונות חייבות להישאר מזוהות, כגון קווי המתאר, השפה וגימור המשטח. בדקו את הפרטים האלה לאורך התנועה, משום שאווירה משכנעת לבדה אינה מעידה על הצגת מוצר נאמנה.\n\nביצירה מטקסט לווידאו, התיאור הנדרש יכול להכיל עד 2,000 תווים. ציינו את הנושא, הפעולה, הסביבה והסגנון החזותי בסדר הגיוני. יצירה מתמונה לווידאו מחייבת תמונת פריים פתיחה, עם תיאור אופציונלי של עד 2,000 תווים. התמונה מקבעת את קומפוזיציית הפתיחה, לכן הכינו את הנושא והמסגור לפני בקשת התנועה. השאירו מרחב גלוי במקום שבו זרוע, עצם או דמות צריכים לנוע.\n\nתמונת הפתיחה יכולה להיות בפורמט JPG, JPEG, PNG או WebP, חייבת להיות קטנה מ־20 MB, צריכה צלע קצרה הגדולה מ־300 פיקסלים ויחס ממדים שבין 2:5 ל־5:2. אפשר לספק אותה ככתובת URL ציבורית של תמונה או ככתובת URL של נתונים ב־Base64. בחרו תמונת פתיחה ברורה במקום לסמוך על האנימציה שתתקן פנים מוסתרות או פעולה שכבר נחתכה.\n\nHailuo 2.3 יוצר בקצב 24 פריימים לשנייה. שוט של שש שניות יכול להשתמש ב־768P או 1080P; שוט של עשר שניות משתמש ב־768P. ברירות המחדל הן שש שניות ו־768P. בחרו את האורך לפי הפעולה שתרצו לראות: תגובה קצרה עשויה להתאים לשוט קצר, ותנועה איטית יותר דורשת יותר מקום. קראו את הרוחב והגובה בפועל של התוצאה שהושלמה כשמשלבים את הקליפ בעריכה, משום שתווית רזולוציה לבדה אינה החלטת מסגור מלאה.\n\nאפשר להנחות את המצלמה באמצעות פקודות בסוגריים מרובעים. הבקרות הזמינות כוללות תנועה אופקית של המצלמה, סיבוב אופקי, התקרבות, תנועה אנכית, הטיה, זום, רעידה, מעקב ושוט סטטי. פקודה כגון [Push in] מכוונת את ההתקרבות; פקודות המקובצות באותו זוג סוגריים פועלות יחד, ואילו פקודות המוצבות לפי סדר מתארות רצף. MiniMax ממליצה על שלוש פקודות בו־זמניות לכל היותר. התאימו את תנועת המצלמה לפעולת הנושא כדי שיהיה קל לעקוב אחר האירוע המרכזי.\n\nאופטימיזציה אוטומטית של ההנחיה מופעלת כברירת מחדל ואפשר להשבית אותה לשליטה הדוקה יותר בניסוח שסופק. עיבוד מקדים מהיר ואופציונלי מקצר את זמן האופטימיזציה כשהיא מופעלת; זו הגדרה נפרדת מבחירת מודל Hailuo 2.3 Fast. Hailuo 2.3 הרגיל תומך בשני מצבי היצירה, ואילו Fast הוא מהדורה נפרדת ליצירת וידאו מתמונה. בחרו את המהדורה לפי השאלה אם הפרויקט מתחיל מטקסט בלבד או מפריים קיים.\n\nתהליך היצירה מחזיר מזהה משימה אסינכרונית, ואז מדווח על הכנה, המתנה בתור, עיבוד, הצלחה או כישלון. בהצלחה, התוצאה מספקת מזהה קובץ ואת ממדי הווידאו בפועל, והסרטון שהושלם מאוחזר להורדה. שמרו את הקליפ בזמן שכתובת ההורדה שלו תקפה. תיעוד הורדת הווידאו הנוכחי של היצרן קובע שכתובת ה־URL להורדה שמוחזרת תקפה לשעה אחת. לרצף ערוך, שמרו כל שוט עם ההנחיה ותמונת הפתיחה שלו כדי שאפשר יהיה לעקוב אחר הכיוון היצירתי שנבחר במהלך התיקונים.\n\nבדקו בקליפ השמור את הפעולה, הרציפות הפיזית, פרטי הפנים או המוצר, הסגנון החזותי והתנהגות המצלמה. צפו בשוט כולו ואז בדקו את תחילתו וסופו, שבהם הוא יתחבר לחומרים אחרים. אם הבקשה כוללת יותר מדי תנועות מתחרות, פשטו את הפעולה המרכזית; אם עיצוב הפתיחה אינו ברור, שפרו את תמונת הפתיחה. בחרו שוט שמעביר את האירוע הרצוי, ואז הוסיפו קריינות, כותרות ומעברים בתהליך העריכה.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d1294bedc93c0965d5cd71c0919959804cb428632b1934bf968b5dab0b3db503",
    "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\">MM</span><h2 id=\"sheet-title\">MiniMax-Hailuo-2.3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>MiniMax-Hailuo-2.3</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=\"Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3\">וידאו</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3\">וידאו · Ultra</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\">MiniMax Hailuo 2.3 יוצר סרטונים מטקסט או מתמונת פתיחה, עם בקרות לתנועה ולהכוונת המצלמה. בחרו שש שניות ב־768P או 1080P, או עשר שניות ב־768P, להופעות דמויות, לסצנות מסוגננות ולשוטים של מוצרים שאפשר לבדוק ולערוך.</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>MiniMax Hailuo 2.3 הוא מודל ליצירת וידאו עם מצבי יצירה מטקסט ומתמונה. הוא מבוסס על Hailuo 02 ומתמקד בפעולה פיזית, בסגנון חזותי, בהבעות פנים זעירות של דמויות ובתגובה להוראות תנועה. ספקו סצנה כתובה כדי ליצור שוט מאפס, או השתמשו בתמונת פתיחה כדי לקבוע את המראה הראשוני ותארו את התנועה שתבוא אחריו.</p><p>ביצוע פיזי הוא אחד מתחומי השיפור העיקריים של המהדורה. Hailuo 2.3 שואף להפוך תנועות גוף לזורמות ומבוקרות יותר, לרבות בסצנות עם מצלמה בתנועה. תכננו את הפעולה החשובה לפני הוספת פרטים דקורטיביים. דמות המרימה עצם, פונה לאדם אחר או עוברת בחדר מעניקה לשוט אירוע גלוי שאפשר להעריך. החליטו איזו תנועה נושאת את הסיפור, ואז שמרו על התאמה בין יתר ההוראות לבינה.</p><p>סגנון הוא מוקד נוסף. המודל תומך בעבודה באנימה ובאיור, וגם בסגנונות כגון ציור בדיו מדולל ו־CG של משחקים. תארו את הטיפול החזותי הרצוי ושמרו על מראה שתואם לסצנה. אם תמונת פתיחה כבר מגדירה סגנון ציור, השתמשו בטקסט כדי להנחות את האנימציה במקום להכניס תיאור מתחרה לעיצוב הדמות. בדקו לאורך הקליפ אם הסגנון הזה נשאר ברור בזמן התנועה.</p><p>המודל מתמקד גם במשחק פנים ובשינויים עדינים בהבעה. הכינו שוט דמות סביב התגובה החשובה: הבחנה בעצם, התעוררות סקרנות או תגובה בחיוך קטן. מבט מקרוב יכול להקל על הערכת השינוי, בעוד רצף מחוות נרחב עשוי להסיח ממנו את הדעת. בדקו את הפנים לפני התגובה, במהלכה ואחריה במקום לשפוט רק לפי פריים סטילס מייצג.</p><p>תנועת עצמים שימושית לסצנות שממוקדות במוצר. בריף מקורי עשוי להציג אגרטל קרמיקה קטן המסתובב באור צד חם בעוד המצלמה מתקרבת אליו בהדרגה. ציינו אילו תכונות חייבות להישאר מזוהות, כגון קווי המתאר, השפה וגימור המשטח. בדקו את הפרטים האלה לאורך התנועה, משום שאווירה משכנעת לבדה אינה מעידה על הצגת מוצר נאמנה.</p><p>ביצירה מטקסט לווידאו, התיאור הנדרש יכול להכיל עד 2,000 תווים. ציינו את הנושא, הפעולה, הסביבה והסגנון החזותי בסדר הגיוני. יצירה מתמונה לווידאו מחייבת תמונת פריים פתיחה, עם תיאור אופציונלי של עד 2,000 תווים. התמונה מקבעת את קומפוזיציית הפתיחה, לכן הכינו את הנושא והמסגור לפני בקשת התנועה. השאירו מרחב גלוי במקום שבו זרוע, עצם או דמות צריכים לנוע.</p><p>תמונת הפתיחה יכולה להיות בפורמט JPG, JPEG, PNG או WebP, חייבת להיות קטנה מ־20 MB, צריכה צלע קצרה הגדולה מ־300 פיקסלים ויחס ממדים שבין 2:5 ל־5:2. אפשר לספק אותה ככתובת URL ציבורית של תמונה או ככתובת URL של נתונים ב־Base64. בחרו תמונת פתיחה ברורה במקום לסמוך על האנימציה שתתקן פנים מוסתרות או פעולה שכבר נחתכה.</p><p>Hailuo 2.3 יוצר בקצב 24 פריימים לשנייה. שוט של שש שניות יכול להשתמש ב־768P או 1080P; שוט של עשר שניות משתמש ב־768P. ברירות המחדל הן שש שניות ו־768P. בחרו את האורך לפי הפעולה שתרצו לראות: תגובה קצרה עשויה להתאים לשוט קצר, ותנועה איטית יותר דורשת יותר מקום. קראו את הרוחב והגובה בפועל של התוצאה שהושלמה כשמשלבים את הקליפ בעריכה, משום שתווית רזולוציה לבדה אינה החלטת מסגור מלאה.</p><p>אפשר להנחות את המצלמה באמצעות פקודות בסוגריים מרובעים. הבקרות הזמינות כוללות תנועה אופקית של המצלמה, סיבוב אופקי, התקרבות, תנועה אנכית, הטיה, זום, רעידה, מעקב ושוט סטטי. פקודה כגון [Push in] מכוונת את ההתקרבות; פקודות המקובצות באותו זוג סוגריים פועלות יחד, ואילו פקודות המוצבות לפי סדר מתארות רצף. MiniMax ממליצה על שלוש פקודות בו־זמניות לכל היותר. התאימו את תנועת המצלמה לפעולת הנושא כדי שיהיה קל לעקוב אחר האירוע המרכזי.</p><p>אופטימיזציה אוטומטית של ההנחיה מופעלת כברירת מחדל ואפשר להשבית אותה לשליטה הדוקה יותר בניסוח שסופק. עיבוד מקדים מהיר ואופציונלי מקצר את זמן האופטימיזציה כשהיא מופעלת; זו הגדרה נפרדת מבחירת מודל Hailuo 2.3 Fast. Hailuo 2.3 הרגיל תומך בשני מצבי היצירה, ואילו Fast הוא מהדורה נפרדת ליצירת וידאו מתמונה. בחרו את המהדורה לפי השאלה אם הפרויקט מתחיל מטקסט בלבד או מפריים קיים.</p><p>תהליך היצירה מחזיר מזהה משימה אסינכרונית, ואז מדווח על הכנה, המתנה בתור, עיבוד, הצלחה או כישלון. בהצלחה, התוצאה מספקת מזהה קובץ ואת ממדי הווידאו בפועל, והסרטון שהושלם מאוחזר להורדה. שמרו את הקליפ בזמן שכתובת ההורדה שלו תקפה. תיעוד הורדת הווידאו הנוכחי של היצרן קובע שכתובת ה־URL להורדה שמוחזרת תקפה לשעה אחת. לרצף ערוך, שמרו כל שוט עם ההנחיה ותמונת הפתיחה שלו כדי שאפשר יהיה לעקוב אחר הכיוון היצירתי שנבחר במהלך התיקונים.</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 · וידאו</b> <code>POST /v1/videos/generations</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>MiniMax-Hailuo-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\">prompt</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מזערי: ⁦1⁩</div><div>אורך מרבי: ⁦2,000⁩</div><div>יחידה: תווי Unicode</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">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>⁦6⁩, ⁦10⁩</div><div>תנאים: 10 שניות מחייבות 768P</div><div>יחידה: שניות</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>⁦6⁩</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>768P, 1080P</div><div>תנאים: 1080P מחייב 6 שניות</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>768P</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\">first_frame_image</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>https_url|data_image_url</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מספר בייטים מרבי לאחר פענוח: ⁦20,971,520⁩</div><div>סוגי MIME: image/jpeg, image/png, image/webp</div><div>מידה מזערית ללא ערך הגבול: ⁦300⁩</div><div>טווח יחסי ממדים: 2:5, 5:2</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_optimizer</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></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\">fast_pretreatment</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></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>מתמונה לווידאו</b> · נדרש: prompt, first_frame_image</p><p class=\"note-s\"><b>מטקסט לווידאו</b> · נדרש: prompt</p></details><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>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>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>null</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>optional_controls</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>null</td></tr></tbody></table></div><p>מחזור חיים: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">מבני המתודות והמזהים מדויקים; יכולת הספק נפרדת מקבלת הבקשה לביצוע.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><h4>תעריפי שיטות Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> וידאו</b><code>POST /v1/videos/generations</code></header><dl><div><dt>פלט</dt><dd>⁦‏0.28 ‏$⁩ <em>לכל וידאו באורך 6 שניות ברזולוציית 768p</em></dd></div></dl></section><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>MiniMax-Hailuo-2.3</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>MiniMax-Hailuo-2.3 · תצורת ברירת המחדל</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.00 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div><div><span>פלט · פלט</span> <b>⁦‏0.60 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>MiniMax-Hailuo-2.3 · תצורת ברירת המחדל</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.00 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div><div><span>פלט · פלט</span> <b>⁦‏1.20 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>MiniMax-Hailuo-2.3 · תצורת ברירת מחדל</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.00 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div><div><span>פלט · פלט</span> <b>⁦‏1.20 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">דוגמאות לבקשות</h3><h4>Ailoot · וידאו</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-374-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-374-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-374-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-374-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  -H &quot;Content-Type: application/json&quot; \\\n  -d &#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A person walks slowly through a quiet garden as the camera tracks from the side.&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;768P&quot;}&#39;</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot · וידאו</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>בדיקת מצב המשימה</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-375-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-375-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-375-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-375-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot;</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-376-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-376-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-376-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-376-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  --output video.mp4</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\">יש לשמור כל פריט נתונים ואינדקס פלט שהוחזרו. content_url מתייחס רק לראשון; יש לאחזר כל נתיב תוכן או נכס ממשיים. GET לתוכן ללא index אינו מחזיר את כל הפלטים.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></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>signed URL</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>signed URL</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>object</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">result_pending_check</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>boolean</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>תקנו את השדות שצוינו לפני בקשת יצירה חדשה.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦409⁩ · <code>video_not_ready</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>תוכן התוצאה המקורית עדיין אינו זמין</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span><code>server_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.</td></tr></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=\"Core\"><b>Ailoot</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a>, <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos/generations",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core"
      },
      "method_key": "Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Preserve every returned data item/output index. content_url is first only; fetch every actual content path/asset. GETcontentwithoutindex isnotalloutputs.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              },
              {
                "available": true,
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "יש לשמור כל פריט נתונים ואינדקס פלט שהוחזרו. content_url מתייחס רק לראשון; יש לאחזר כל נתיב תוכן או נכס ממשיים. GET לתוכן ללא index אינו מחזיר את כל הפלטים.",
              "content_selection": "Oneownedvideo; use actualreturnedcontent_url/data[] ororiginalcontentread. No indexedselection field is promised by thisCorehandler.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content_url",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "result_pending_check",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "conditions": "10 שניות מחייבות 768P",
                "default": 6,
                "default_known": true,
                "enum": [
                  6,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "שניות"
              },
              {
                "availability": "source_interface",
                "conditions": "1080P מחייב 6 שניות",
                "default": "768P",
                "default_known": true,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "aspect_ratio_range": [
                  "2:5",
                  "5:2"
                ],
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_decoded_bytes": 20971520,
                "mime_types": [
                  "image/jpeg",
                  "image/png",
                  "image/webp"
                ],
                "minimum_dimension_exclusive": 300,
                "name": "first_frame_image",
                "required": false,
                "type": "https_url|data_image_url"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_optimizer",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "fast_pretreatment",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "מבני המתודות והמזהים מדויקים; יכולת הספק נפרדת מקבלת הבקשה לביצוע."
          ],
          "input": {
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\", \"duration\": 6, \"resolution\": \"768P\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "וידאו",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.28,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_768p_6s_clip",
                "label": "per 6 s video at 768p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{id}",
          "GET /v1/videos/generations/{id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "video_output_768p_6s_clip",
        "units": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax-Hailuo-2.3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>MiniMax-Hailuo-2.3</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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3\">וידאו</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3\">וידאו · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">התחלה</h3><p class=\"mdesc-full\">MiniMax Hailuo 2.3 יוצר סרטונים מטקסט או מתמונת פתיחה, עם בקרות לתנועה ולהכוונת המצלמה. בחרו שש שניות ב־768P או 1080P, או עשר שניות ב־768P, להופעות דמויות, לסצנות מסוגננות ולשוטים של מוצרים שאפשר לבדוק ולערוך.</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>MiniMax Hailuo 2.3 הוא מודל ליצירת וידאו עם מצבי יצירה מטקסט ומתמונה. הוא מבוסס על Hailuo 02 ומתמקד בפעולה פיזית, בסגנון חזותי, בהבעות פנים זעירות של דמויות ובתגובה להוראות תנועה. ספקו סצנה כתובה כדי ליצור שוט מאפס, או השתמשו בתמונת פתיחה כדי לקבוע את המראה הראשוני ותארו את התנועה שתבוא אחריו.</p><p>ביצוע פיזי הוא אחד מתחומי השיפור העיקריים של המהדורה. Hailuo 2.3 שואף להפוך תנועות גוף לזורמות ומבוקרות יותר, לרבות בסצנות עם מצלמה בתנועה. תכננו את הפעולה החשובה לפני הוספת פרטים דקורטיביים. דמות המרימה עצם, פונה לאדם אחר או עוברת בחדר מעניקה לשוט אירוע גלוי שאפשר להעריך. החליטו איזו תנועה נושאת את הסיפור, ואז שמרו על התאמה בין יתר ההוראות לבינה.</p><p>סגנון הוא מוקד נוסף. המודל תומך בעבודה באנימה ובאיור, וגם בסגנונות כגון ציור בדיו מדולל ו־CG של משחקים. תארו את הטיפול החזותי הרצוי ושמרו על מראה שתואם לסצנה. אם תמונת פתיחה כבר מגדירה סגנון ציור, השתמשו בטקסט כדי להנחות את האנימציה במקום להכניס תיאור מתחרה לעיצוב הדמות. בדקו לאורך הקליפ אם הסגנון הזה נשאר ברור בזמן התנועה.</p><p>המודל מתמקד גם במשחק פנים ובשינויים עדינים בהבעה. הכינו שוט דמות סביב התגובה החשובה: הבחנה בעצם, התעוררות סקרנות או תגובה בחיוך קטן. מבט מקרוב יכול להקל על הערכת השינוי, בעוד רצף מחוות נרחב עשוי להסיח ממנו את הדעת. בדקו את הפנים לפני התגובה, במהלכה ואחריה במקום לשפוט רק לפי פריים סטילס מייצג.</p><p>תנועת עצמים שימושית לסצנות שממוקדות במוצר. בריף מקורי עשוי להציג אגרטל קרמיקה קטן המסתובב באור צד חם בעוד המצלמה מתקרבת אליו בהדרגה. ציינו אילו תכונות חייבות להישאר מזוהות, כגון קווי המתאר, השפה וגימור המשטח. בדקו את הפרטים האלה לאורך התנועה, משום שאווירה משכנעת לבדה אינה מעידה על הצגת מוצר נאמנה.</p><p>ביצירה מטקסט לווידאו, התיאור הנדרש יכול להכיל עד 2,000 תווים. ציינו את הנושא, הפעולה, הסביבה והסגנון החזותי בסדר הגיוני. יצירה מתמונה לווידאו מחייבת תמונת פריים פתיחה, עם תיאור אופציונלי של עד 2,000 תווים. התמונה מקבעת את קומפוזיציית הפתיחה, לכן הכינו את הנושא והמסגור לפני בקשת התנועה. השאירו מרחב גלוי במקום שבו זרוע, עצם או דמות צריכים לנוע.</p><p>תמונת הפתיחה יכולה להיות בפורמט JPG, JPEG, PNG או WebP, חייבת להיות קטנה מ־20 MB, צריכה צלע קצרה הגדולה מ־300 פיקסלים ויחס ממדים שבין 2:5 ל־5:2. אפשר לספק אותה ככתובת URL ציבורית של תמונה או ככתובת URL של נתונים ב־Base64. בחרו תמונת פתיחה ברורה במקום לסמוך על האנימציה שתתקן פנים מוסתרות או פעולה שכבר נחתכה.</p><p>Hailuo 2.3 יוצר בקצב 24 פריימים לשנייה. שוט של שש שניות יכול להשתמש ב־768P או 1080P; שוט של עשר שניות משתמש ב־768P. ברירות המחדל הן שש שניות ו־768P. בחרו את האורך לפי הפעולה שתרצו לראות: תגובה קצרה עשויה להתאים לשוט קצר, ותנועה איטית יותר דורשת יותר מקום. קראו את הרוחב והגובה בפועל של התוצאה שהושלמה כשמשלבים את הקליפ בעריכה, משום שתווית רזולוציה לבדה אינה החלטת מסגור מלאה.</p><p>אפשר להנחות את המצלמה באמצעות פקודות בסוגריים מרובעים. הבקרות הזמינות כוללות תנועה אופקית של המצלמה, סיבוב אופקי, התקרבות, תנועה אנכית, הטיה, זום, רעידה, מעקב ושוט סטטי. פקודה כגון [Push in] מכוונת את ההתקרבות; פקודות המקובצות באותו זוג סוגריים פועלות יחד, ואילו פקודות המוצבות לפי סדר מתארות רצף. MiniMax ממליצה על שלוש פקודות בו־זמניות לכל היותר. התאימו את תנועת המצלמה לפעולת הנושא כדי שיהיה קל לעקוב אחר האירוע המרכזי.</p><p>אופטימיזציה אוטומטית של ההנחיה מופעלת כברירת מחדל ואפשר להשבית אותה לשליטה הדוקה יותר בניסוח שסופק. עיבוד מקדים מהיר ואופציונלי מקצר את זמן האופטימיזציה כשהיא מופעלת; זו הגדרה נפרדת מבחירת מודל Hailuo 2.3 Fast. Hailuo 2.3 הרגיל תומך בשני מצבי היצירה, ואילו Fast הוא מהדורה נפרדת ליצירת וידאו מתמונה. בחרו את המהדורה לפי השאלה אם הפרויקט מתחיל מטקסט בלבד או מפריים קיים.</p><p>תהליך היצירה מחזיר מזהה משימה אסינכרונית, ואז מדווח על הכנה, המתנה בתור, עיבוד, הצלחה או כישלון. בהצלחה, התוצאה מספקת מזהה קובץ ואת ממדי הווידאו בפועל, והסרטון שהושלם מאוחזר להורדה. שמרו את הקליפ בזמן שכתובת ההורדה שלו תקפה. תיעוד הורדת הווידאו הנוכחי של היצרן קובע שכתובת ה־URL להורדה שמוחזרת תקפה לשעה אחת. לרצף ערוך, שמרו כל שוט עם ההנחיה ותמונת הפתיחה שלו כדי שאפשר יהיה לעקוב אחר הכיוון היצירתי שנבחר במהלך התיקונים.</p><p>בדקו בקליפ השמור את הפעולה, הרציפות הפיזית, פרטי הפנים או המוצר, הסגנון החזותי והתנהגות המצלמה. צפו בשוט כולו ואז בדקו את תחילתו וסופו, שבהם הוא יתחבר לחומרים אחרים. אם הבקשה כוללת יותר מדי תנועות מתחרות, פשטו את הפעולה המרכזית; אם עיצוב הפתיחה אינו ברור, שפרו את תמונת הפתיחה. בחרו שוט שמעביר את האירוע הרצוי, ואז הוסיפו קריינות, כותרות ומעברים בתהליך העריכה.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · וידאו</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code></dd></div><div><dt>סוגי פלט</dt><dd><code>video</code></dd></div><div><dt>פורמט פלט</dt><dd>mp4</dd></div><div><dt>מספר פלטים</dt><dd>עד ⁦1⁩ פלט</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>MiniMax-Hailuo-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\">prompt</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מזערי: ⁦1⁩</div><div>אורך מרבי: ⁦2,000⁩</div><div>תנאים: עבור 768P: לכל היותר 2000 נקודות קוד של Unicode. עבור 1080P: פחות מ־200 נקודות קוד של Unicode (לכל היותר 199). ההנחיה חייבת להכיל טקסט שאינו רק תווי רווח.</div><div>יחידה: תווי Unicode</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">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>⁦6⁩</div><div>יחידה: שניות</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">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>768P, 1080P</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b>מטקסט לווידאו</b> · נדרש: prompt</p></details><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>content_type</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>application/json</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>model, prompt, duration, resolution</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>other_options</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>duration</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>6</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>resolution</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>768P, 1080P</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>prompt_max_characters</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>2000</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>prompt_max_characters_by_resolution</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>{&quot;768P&quot;:2000,&quot;1080P&quot;:199}</td></tr></tbody></table></div><p>כינויים לשיטה: <code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><p>מחזור חיים: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">יש ליצור פעם אחת ולשמור את המזהה שהוחזר.</p><p class=\"note-s\">יש לבדוק במחזוריות את הסטטוס המקורי; יש לשמור כל נכס שהושלם ואת משכו.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב Flex</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב flex</span></dd><dt>מאמץ חשיבה מרבי</dt><dd>לא צוין <span class=\"note-s\">כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>תעריפי Ailoot</h4><h4>מחירים לפי תצורה</h4><p class=\"note-s\">התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>טבלת תעריפים</th><th>משך נומינלי של קטע, בשניות</th><th>רזולוציה</th><th>יחידת חיוב</th><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>Ultra</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"משך נומינלי של קטע, בשניות\"><span class=\"card-cell-label\">משך נומינלי של קטע, בשניות</span>⁦6⁩</td><td data-cell-label=\"רזולוציה\"><span class=\"card-cell-label\">רזולוציה</span>1080P</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>לכל קטע פלט באורך נומינלי של 6s</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מקטע פלט באורך נומינלי של 6s</span> <b>$1.2</b> <span class=\"price-unit\">לכל קטע פלט באורך נומינלי של 6s</span></div></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>Ultra</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"משך נומינלי של קטע, בשניות\"><span class=\"card-cell-label\">משך נומינלי של קטע, בשניות</span>⁦6⁩</td><td data-cell-label=\"רזולוציה\"><span class=\"card-cell-label\">רזולוציה</span>768P</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>לכל קטע פלט באורך נומינלי של 6s</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · מקטע פלט באורך נומינלי של 6s</span> <b>$0.6</b> <span class=\"price-unit\">לכל קטע פלט באורך נומינלי של 6s</span></div></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>MiniMax-Hailuo-2.3</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>MiniMax-Hailuo-2.3 · תצורת ברירת המחדל</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.00 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div><div><span>פלט · פלט</span> <b>⁦‏0.60 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>MiniMax-Hailuo-2.3 · תצורת ברירת המחדל</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.00 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div><div><span>פלט · פלט</span> <b>⁦‏1.20 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>מחירים לפי תצורה</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>תנאי חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>MiniMax-Hailuo-2.3 · תצורת ברירת מחדל</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.00 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div><div><span>פלט · פלט</span> <b>⁦‏1.20 ‏$⁩</b> <span class=\"price-unit\">לקריאה</span></div></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-377-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-377-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-377-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-377-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · 1080P / 6 שניות</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-377-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-377-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;768P&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-377-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-377-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;1080P&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · וידאו</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>בדיקת מצב המשימה</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-378-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-378-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-378-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-378-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o status.json\npython3 - &lt;&lt;&#39;PY_STATUS&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nprint(json.dumps(r))\nif r.get(&quot;status&quot;)==&quot;completed&quot;:\n    for x in r.get(&quot;data&quot;,[]):print(x)\nPY_STATUS\n</code></pre></div></div></div><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-379-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-379-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-379-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-379-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\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-380-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-380-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-380-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-380-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o video.mp4\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\">data[] שהושלם מכיל את כל כתובות ה־URL החתומות לתוכן שבבעלותכם. יש לאחזר כל כתובת URL שהוחזרה, או להשתמש בנקודת הקצה לתוכן עם index המוגדר לאינדקס של פלט ממשי. משימה מקורית שנכשלה עשויה להחזיר charge_pending_check; יש לבדוק את המשימה המקורית הזו במקום ליצור אותה שוב.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.</p></div><p class=\"note-s\">מספר פלטים מרבי: ⁦1⁩.</p><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>signed content URL</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>boolean</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">requested_nominal_duration_seconds</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">measured_duration_seconds</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>number</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</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</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>תקנו את השדות שצוינו לפני בקשת יצירה חדשה.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦409⁩ · <code>video_not_ready</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>תוכן התוצאה המקורית עדיין אינו זמין</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span><code>server_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.</td></tr></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=\"Core\"><b>Ailoot</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a>, <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "data[] שהושלם מכיל את כל כתובות ה־URL החתומות לתוכן שבבעלותכם. יש לאחזר כל כתובת URL שהוחזרה, או להשתמש בנקודת הקצה לתוכן עם index המוגדר לאינדקס של פלט ממשי. משימה מקורית שנכשלה עשויה להחזיר charge_pending_check; יש לבדוק את המשימה המקורית הזו במקום ליצור אותה שוב.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "requested_nominal_duration_seconds",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "measured_duration_seconds",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "width",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "height",
                  "type": "integer"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "עבור 768P: לכל היותר 2000 נקודות קוד של Unicode. עבור 1080P: פחות מ־200 נקודות קוד של Unicode (לכל היותר 199). ההנחיה חייבת להכיל טקסט שאינו רק תווי רווח.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  6
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "שניות"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "request_schema": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "resolution": {
                        "const": "1080P"
                      }
                    },
                    "required": [
                      "resolution"
                    ]
                  },
                  "then": {
                    "properties": {
                      "prompt": {
                        "maxLength": 199
                      }
                    }
                  }
                }
              ],
              "properties": {
                "duration": {
                  "enum": [
                    6
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "MiniMax-Hailuo-2.3"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Non-whitespace UTF-8 text. Length counts Unicode code points; the 1080P conditional maximum is 199.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "768P",
                    "1080P"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration",
                "resolution"
              ],
              "type": "object"
            },
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "יש ליצור פעם אחת ולשמור את המזהה שהוחזר.",
            "יש לבדוק במחזוריות את הסטטוס המקורי; יש לשמור כל נכס שהושלם ואת משכו."
          ],
          "input": {
            "content_type": "application/json",
            "duration": [
              6
            ],
            "material_types": [
              "text"
            ],
            "other_options": false,
            "prompt_max_characters": 2000,
            "prompt_max_characters_by_resolution": {
              "1080P": 199,
              "768P": 2000
            },
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution"
            ],
            "resolution": [
              "768P",
              "1080P"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "count": 1,
            "family": "video",
            "format": "mp4",
            "result": "owned validated complete MP4"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    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 Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"1080P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · 1080P / 6 seconds",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "video",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "video_output_1080p_6s_clip": 1.2,
            "video_output_768p_6s_clip": 0.6
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ]
      }
    }
  ],
  "model_id": "MiniMax-Hailuo-2.3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "50c2eb6306fbfa090174b95337af14a6c8678fa0d14749d1a9e4a34692adcbb5",
    "input_html_sha256": "b9f78a803e1590fb484f1e5284bb89fec9623b2e46cd25ac0cedcc8c3e3e697b",
    "private_audit_sha256": "84ba9f70b47d4e260e397aeae0747da81e5dc7d6641b620249fac62cf49d95cd",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/minimax-hailuo-2-3/",
    "description": "MiniMax Hailuo 2.3 יוצר סרטונים מטקסט או מתמונת פתיחה, עם בקרות לתנועה ולהכוונת המצלמה. בחרו שש שניות ב־768P או 1080P, או עשר שניות ב־768P, להופעות דמויות, לסצנות מסוגננות ולשוטים של מוצרים שאפשר לבדוק ולערוך.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/minimax-hailuo-2-3/index.md",
    "title": "MiniMax-Hailuo-2.3 — Ailoot",
    "url": "https://ailoot.ai/models/he/minimax-hailuo-2-3/"
  },
  "rawModel": {
    "about": "MiniMax Hailuo 2.3 הוא מודל ליצירת וידאו עם מצבי יצירה מטקסט ומתמונה. הוא מבוסס על Hailuo 02 ומתמקד בפעולה פיזית, בסגנון חזותי, בהבעות פנים זעירות של דמויות ובתגובה להוראות תנועה. ספקו סצנה כתובה כדי ליצור שוט מאפס, או השתמשו בתמונת פתיחה כדי לקבוע את המראה הראשוני ותארו את התנועה שתבוא אחריו.\n\nביצוע פיזי הוא אחד מתחומי השיפור העיקריים של המהדורה. Hailuo 2.3 שואף להפוך תנועות גוף לזורמות ומבוקרות יותר, לרבות בסצנות עם מצלמה בתנועה. תכננו את הפעולה החשובה לפני הוספת פרטים דקורטיביים. דמות המרימה עצם, פונה לאדם אחר או עוברת בחדר מעניקה לשוט אירוע גלוי שאפשר להעריך. החליטו איזו תנועה נושאת את הסיפור, ואז שמרו על התאמה בין יתר ההוראות לבינה.\n\nסגנון הוא מוקד נוסף. המודל תומך בעבודה באנימה ובאיור, וגם בסגנונות כגון ציור בדיו מדולל ו־CG של משחקים. תארו את הטיפול החזותי הרצוי ושמרו על מראה שתואם לסצנה. אם תמונת פתיחה כבר מגדירה סגנון ציור, השתמשו בטקסט כדי להנחות את האנימציה במקום להכניס תיאור מתחרה לעיצוב הדמות. בדקו לאורך הקליפ אם הסגנון הזה נשאר ברור בזמן התנועה.\n\nהמודל מתמקד גם במשחק פנים ובשינויים עדינים בהבעה. הכינו שוט דמות סביב התגובה החשובה: הבחנה בעצם, התעוררות סקרנות או תגובה בחיוך קטן. מבט מקרוב יכול להקל על הערכת השינוי, בעוד רצף מחוות נרחב עשוי להסיח ממנו את הדעת. בדקו את הפנים לפני התגובה, במהלכה ואחריה במקום לשפוט רק לפי פריים סטילס מייצג.\n\nתנועת עצמים שימושית לסצנות שממוקדות במוצר. בריף מקורי עשוי להציג אגרטל קרמיקה קטן המסתובב באור צד חם בעוד המצלמה מתקרבת אליו בהדרגה. ציינו אילו תכונות חייבות להישאר מזוהות, כגון קווי המתאר, השפה וגימור המשטח. בדקו את הפרטים האלה לאורך התנועה, משום שאווירה משכנעת לבדה אינה מעידה על הצגת מוצר נאמנה.\n\nביצירה מטקסט לווידאו, התיאור הנדרש יכול להכיל עד 2,000 תווים. ציינו את הנושא, הפעולה, הסביבה והסגנון החזותי בסדר הגיוני. יצירה מתמונה לווידאו מחייבת תמונת פריים פתיחה, עם תיאור אופציונלי של עד 2,000 תווים. התמונה מקבעת את קומפוזיציית הפתיחה, לכן הכינו את הנושא והמסגור לפני בקשת התנועה. השאירו מרחב גלוי במקום שבו זרוע, עצם או דמות צריכים לנוע.\n\nתמונת הפתיחה יכולה להיות בפורמט JPG, JPEG, PNG או WebP, חייבת להיות קטנה מ־20 MB, צריכה צלע קצרה הגדולה מ־300 פיקסלים ויחס ממדים שבין 2:5 ל־5:2. אפשר לספק אותה ככתובת URL ציבורית של תמונה או ככתובת URL של נתונים ב־Base64. בחרו תמונת פתיחה ברורה במקום לסמוך על האנימציה שתתקן פנים מוסתרות או פעולה שכבר נחתכה.\n\nHailuo 2.3 יוצר בקצב 24 פריימים לשנייה. שוט של שש שניות יכול להשתמש ב־768P או 1080P; שוט של עשר שניות משתמש ב־768P. ברירות המחדל הן שש שניות ו־768P. בחרו את האורך לפי הפעולה שתרצו לראות: תגובה קצרה עשויה להתאים לשוט קצר, ותנועה איטית יותר דורשת יותר מקום. קראו את הרוחב והגובה בפועל של התוצאה שהושלמה כשמשלבים את הקליפ בעריכה, משום שתווית רזולוציה לבדה אינה החלטת מסגור מלאה.\n\nאפשר להנחות את המצלמה באמצעות פקודות בסוגריים מרובעים. הבקרות הזמינות כוללות תנועה אופקית של המצלמה, סיבוב אופקי, התקרבות, תנועה אנכית, הטיה, זום, רעידה, מעקב ושוט סטטי. פקודה כגון [Push in] מכוונת את ההתקרבות; פקודות המקובצות באותו זוג סוגריים פועלות יחד, ואילו פקודות המוצבות לפי סדר מתארות רצף. MiniMax ממליצה על שלוש פקודות בו־זמניות לכל היותר. התאימו את תנועת המצלמה לפעולת הנושא כדי שיהיה קל לעקוב אחר האירוע המרכזי.\n\nאופטימיזציה אוטומטית של ההנחיה מופעלת כברירת מחדל ואפשר להשבית אותה לשליטה הדוקה יותר בניסוח שסופק. עיבוד מקדים מהיר ואופציונלי מקצר את זמן האופטימיזציה כשהיא מופעלת; זו הגדרה נפרדת מבחירת מודל Hailuo 2.3 Fast. Hailuo 2.3 הרגיל תומך בשני מצבי היצירה, ואילו Fast הוא מהדורה נפרדת ליצירת וידאו מתמונה. בחרו את המהדורה לפי השאלה אם הפרויקט מתחיל מטקסט בלבד או מפריים קיים.\n\nתהליך היצירה מחזיר מזהה משימה אסינכרונית, ואז מדווח על הכנה, המתנה בתור, עיבוד, הצלחה או כישלון. בהצלחה, התוצאה מספקת מזהה קובץ ואת ממדי הווידאו בפועל, והסרטון שהושלם מאוחזר להורדה. שמרו את הקליפ בזמן שכתובת ההורדה שלו תקפה. תיעוד הורדת הווידאו הנוכחי של היצרן קובע שכתובת ה־URL להורדה שמוחזרת תקפה לשעה אחת. לרצף ערוך, שמרו כל שוט עם ההנחיה ותמונת הפתיחה שלו כדי שאפשר יהיה לעקוב אחר הכיוון היצירתי שנבחר במהלך התיקונים.\n\nבדקו בקליפ השמור את הפעולה, הרציפות הפיזית, פרטי הפנים או המוצר, הסגנון החזותי והתנהגות המצלמה. צפו בשוט כולו ואז בדקו את תחילתו וסופו, שבהם הוא יתחבר לחומרים אחרים. אם הבקשה כוללת יותר מדי תנועות מתחרות, פשטו את הפעולה המרכזית; אם עיצוב הפתיחה אינו ברור, שפרו את תמונת הפתיחה. בחרו שוט שמעביר את האירוע הרצוי, ואז הוסיפו קריינות, כותרות ומעברים בתהליך העריכה.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "available": null,
    "canonical_model": "MiniMax-Hailuo-2.3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Core",
        "rates": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      },
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "fbaf58dadd2536629a45",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "תצורת ברירת מחדל"
            },
            "label": "MiniMax-Hailuo-2.3 · תצורת ברירת המחדל",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "19ab01e12c389ee949ca7020",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "773fea089d2ce55d46c2a7b1",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "09daf355a38c30492684",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "תצורת ברירת מחדל"
            },
            "label": "MiniMax-Hailuo-2.3 · תצורת ברירת המחדל",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "daa8a5932b5bcaac702117f1",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "3fd346a74d57c55dc3f1d22b",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "bf657018f1f319cdd9bf",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Default configuration"
            },
            "label": "MiniMax-Hailuo-2.3 · Default configuration",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "9d0b136d74c27e74edf7a782",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "219fbf3c287f8104ea30a466",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "MiniMax-Hailuo-2.3",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Preserve every returned data item/output index. content_url is first only; fetch every actual content path/asset. GETcontentwithoutindex isnotalloutputs.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              },
              {
                "available": true,
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "יש לשמור כל פריט נתונים ואינדקס פלט שהוחזרו. content_url מתייחס רק לראשון; יש לאחזר כל נתיב תוכן או נכס ממשיים. GET לתוכן ללא index אינו מחזיר את כל הפלטים.",
              "content_selection": "Oneownedvideo; use actualreturnedcontent_url/data[] ororiginalcontentread. No indexedselection field is promised by thisCorehandler.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content_url",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "result_pending_check",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "conditions": "10 שניות מחייבות 768P",
                "default": 6,
                "default_known": true,
                "enum": [
                  6,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "שניות"
              },
              {
                "availability": "source_interface",
                "conditions": "1080P מחייב 6 שניות",
                "default": "768P",
                "default_known": true,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "aspect_ratio_range": [
                  "2:5",
                  "5:2"
                ],
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_decoded_bytes": 20971520,
                "mime_types": [
                  "image/jpeg",
                  "image/png",
                  "image/webp"
                ],
                "minimum_dimension_exclusive": 300,
                "name": "first_frame_image",
                "required": false,
                "type": "https_url|data_image_url"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_optimizer",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "fast_pretreatment",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "מבני המתודות והמזהים מדויקים; יכולת הספק נפרדת מקבלת הבקשה לביצוע."
          ],
          "input": {
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\", \"duration\": 6, \"resolution\": \"768P\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "וידאו",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.28,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_768p_6s_clip",
                "label": "per 6 s video at 768p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{id}",
          "GET /v1/videos/generations/{id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "video_output_768p_6s_clip",
        "units": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "שדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים",
                "http_status": 400,
                "recovery": "תקנו את השדות שצוינו לפני בקשת יצירה חדשה.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "יש לקרוא את המשימה המקורית הקיימת; אין לשלוח שוב בקשה שתוצאת שליחתה אינה ידועה.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "data[] שהושלם מכיל את כל כתובות ה־URL החתומות לתוכן שבבעלותכם. יש לאחזר כל כתובת URL שהוחזרה, או להשתמש בנקודת הקצה לתוכן עם index המוגדר לאינדקס של פלט ממשי. משימה מקורית שנכשלה עשויה להחזיר charge_pending_check; יש לבדוק את המשימה המקורית הזו במקום ליצור אותה שוב.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "requested_nominal_duration_seconds",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "measured_duration_seconds",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "width",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "height",
                  "type": "integer"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "עבור 768P: לכל היותר 2000 נקודות קוד של Unicode. עבור 1080P: פחות מ־200 נקודות קוד של Unicode (לכל היותר 199). ההנחיה חייבת להכיל טקסט שאינו רק תווי רווח.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "תווי Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  6
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "שניות"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "request_schema": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "resolution": {
                        "const": "1080P"
                      }
                    },
                    "required": [
                      "resolution"
                    ]
                  },
                  "then": {
                    "properties": {
                      "prompt": {
                        "maxLength": 199
                      }
                    }
                  }
                }
              ],
              "properties": {
                "duration": {
                  "enum": [
                    6
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "MiniMax-Hailuo-2.3"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Non-whitespace UTF-8 text. Length counts Unicode code points; the 1080P conditional maximum is 199.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "768P",
                    "1080P"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration",
                "resolution"
              ],
              "type": "object"
            },
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "יש ליצור פעם אחת ולשמור את המזהה שהוחזר.",
            "יש לבדוק במחזוריות את הסטטוס המקורי; יש לשמור כל נכס שהושלם ואת משכו."
          ],
          "input": {
            "content_type": "application/json",
            "duration": [
              6
            ],
            "material_types": [
              "text"
            ],
            "other_options": false,
            "prompt_max_characters": 2000,
            "prompt_max_characters_by_resolution": {
              "1080P": 199,
              "768P": 2000
            },
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution"
            ],
            "resolution": [
              "768P",
              "1080P"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "count": 1,
            "family": "video",
            "format": "mp4",
            "result": "owned validated complete MP4"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    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 Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"1080P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · 1080P / 6 seconds",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "video",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "video_output_1080p_6s_clip": 1.2,
            "video_output_768p_6s_clip": 0.6
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "MiniMax-Hailuo-2.3",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "MiniMax-Hailuo-2.3",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax-Hailuo-2.3",
    "price": {
      "in": null,
      "in_label": null,
      "out": 1.2,
      "out_label": "per nominal 6s output clip",
      "sort_in": null,
      "sort_out": 1.2,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 768P, 6S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 768P, 6S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.6",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 768P, 10S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 768P, 10S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "1.2",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 1080P, 6S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 1080P, 6S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "1.2",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      }
    ],
    "public_id": "MiniMax-Hailuo-2.3",
    "short": "MiniMax Hailuo 2.3 יוצר סרטונים מטקסט או מתמונת פתיחה, עם בקרות לתנועה ולהכוונת המצלמה. בחרו שש שניות ב־768P או 1080P, או עשר שניות ב־768P, להופעות דמויות, לסצנות מסוגננות ולשוטים של מוצרים שאפשר לבדוק ולערוך."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "MiniMax Hailuo 2.3 יוצר סרטונים מטקסט או מתמונת פתיחה, עם בקרות לתנועה ולהכוונת המצלמה. בחרו שש שניות ב־768P או 1080P, או עשר שניות ב־768P, להופעות דמויות, לסצנות מסוגננות ולשוטים של מוצרים שאפשר לבדוק ולערוך.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "85f9fb94e4270a7e524e172f4abf33a8547e340d87113445d869371afc7ef4b6",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "215e6d330ed168536d3d1a0502233a0fc6325c1e7e62ef454d358e471916c834"
}
