{
  "aboutHtml": "<p>MiniMax Hailuo 2.3 Fast הוא פרופיל Fast המוגדר ליצירת וידאו מתמונה. התחילו בתמונת פריים ראשון עם קומפוזיציה מוכנה ותארו כיצד הנושא או המצלמה צריכים לנוע. תמונת מוצר, תנוחת דמות או פריים מלוח סיפור מעניקים לשוט נקודת פתיחה חזותית מוחשית.</p><h4>הכינו את התמונה ואת בריף התנועה</h4><p>ספקו תמונת PNG או JPEG ריבועית באמצעות כתובת HTTPS, עם כל צלע בין 300 ל־4,096 פיקסלים. קובץ התמונה שיורד חייב להיות בגודל שאינו עולה על 20,000,000 בתים. שמרו על הנחיה באורך שבין 1 ל־199 תווים, הממוקדת בפעולה גלויה אחת ובתנועה החשובה לשוט.</p><h4>עקבו אחר הקליפ עד להשלמתו</h4><p>הפרופיל הזה מוגדר לקליפ MP4 אחד בגודל 768 × 768 ובמשך נומינלי של שש שניות. שלחו את הבקשה פעם אחת, שמרו את המזהה שהוחזר ועקבו אחר אותה בקשה מקורית עד להשלמתה. הורידו את הווידאו שהוחזר ושמרו עם התוצאה את הממדים שעליהם דווח ואת המשך שנמדד. אם תוצאת היצירה אינה ודאית, המשיכו לבדוק את הבקשה המקורית במקום ליצור אותה מחדש.</p>",
  "aboutText": "MiniMax Hailuo 2.3 Fast הוא פרופיל Fast המוגדר ליצירת וידאו מתמונה. התחילו בתמונת פריים ראשון עם קומפוזיציה מוכנה ותארו כיצד הנושא או המצלמה צריכים לנוע. תמונת מוצר, תנוחת דמות או פריים מלוח סיפור מעניקים לשוט נקודת פתיחה חזותית מוחשית.\n\n### הכינו את התמונה ואת בריף התנועה\n\nספקו תמונת PNG או JPEG ריבועית באמצעות כתובת HTTPS, עם כל צלע בין 300 ל־4,096 פיקסלים. קובץ התמונה שיורד חייב להיות בגודל שאינו עולה על 20,000,000 בתים. שמרו על הנחיה באורך שבין 1 ל־199 תווים, הממוקדת בפעולה גלויה אחת ובתנועה החשובה לשוט.\n\n### עקבו אחר הקליפ עד להשלמתו\n\nהפרופיל הזה מוגדר לקליפ MP4 אחד בגודל 768 × 768 ובמשך נומינלי של שש שניות. שלחו את הבקשה פעם אחת, שמרו את המזהה שהוחזר ועקבו אחר אותה בקשה מקורית עד להשלמתה. הורידו את הווידאו שהוחזר ושמרו עם התוצאה את הממדים שעליהם דווח ואת המשך שנמדד. אם תוצאת היצירה אינה ודאית, המשיכו לבדוק את הבקשה המקורית במקום ליצור אותה מחדש.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0c78370c476964414589af0c227585d56b726549fbc847c1943d8bf509aeb839",
    "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\">Hailuo 2.3 Fast</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-Fast</code><button type=\"button\" id=\"copy-id\">העתקת ID</button></div><nav class=\"card-jump-nav\" aria-label=\"חלקי כרטיס המודל\"><button type=\"button\" data-card-jump=\"overview\">התחלה</button><button type=\"button\" data-card-jump=\"methods\">קלט ושיטות</button><button type=\"button\" data-card-jump=\"pricing\">תעריפים</button><button type=\"button\" data-card-jump=\"examples\">דוגמאות</button><button type=\"button\" data-card-jump=\"results\">תוצאות</button><button type=\"button\" data-card-jump=\"aliases\">כינויים</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"שיטות API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3-Fast\">וידאו</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">התחלה</h3><p class=\"mdesc-full\">MiniMax Hailuo 2.3 Fast מנפיש תמונת פריים ראשון באמצעות הנחיית תנועה קצרה. בחרו בפרופיל הזה ליצירת וידאו מתמונה עבור שוט של מוצר, תנוחת דמות או תמונת סטילס מלוח סיפור.</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 Fast הוא פרופיל Fast המוגדר ליצירת וידאו מתמונה. התחילו בתמונת פריים ראשון עם קומפוזיציה מוכנה ותארו כיצד הנושא או המצלמה צריכים לנוע. תמונת מוצר, תנוחת דמות או פריים מלוח סיפור מעניקים לשוט נקודת פתיחה חזותית מוחשית.</p><h4>הכינו את התמונה ואת בריף התנועה</h4><p>ספקו תמונת PNG או JPEG ריבועית באמצעות כתובת HTTPS, עם כל צלע בין 300 ל־4,096 פיקסלים. קובץ התמונה שיורד חייב להיות בגודל שאינו עולה על 20,000,000 בתים. שמרו על הנחיה באורך שבין 1 ל־199 תווים, הממוקדת בפעולה גלויה אחת ובתנועה החשובה לשוט.</p><h4>עקבו אחר הקליפ עד להשלמתו</h4><p>הפרופיל הזה מוגדר לקליפ MP4 אחד בגודל 768 × 768 ובמשך נומינלי של שש שניות. שלחו את הבקשה פעם אחת, שמרו את המזהה שהוחזר ועקבו אחר אותה בקשה מקורית עד להשלמתה. הורידו את הווידאו שהוחזר ושמרו עם התוצאה את הממדים שעליהם דווח ואת המשך שנמדד. אם תוצאת היצירה אינה ודאית, המשיכו לבדוק את הבקשה המקורית במקום ליצור אותה מחדש.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · וידאו</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>סוגי פלט</dt><dd><code>video</code></dd></div><div><dt>פורמט פלט</dt><dd>mp4</dd></div><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-Fast</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מזערי: ⁦1⁩</div><div>אורך מרבי: ⁦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</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\">first_frame_image</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>https_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,000,000⁩</div><div>סוגי MIME: image/png, image/jpeg</div><div>מידה מזערית: ⁦300⁩</div><div>מידה מרבית: ⁦4,096⁩</div><div>ריבוע בלבד: כן</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, first_frame_image</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, first_frame_image</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</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>199</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>first_frame_image</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>{&quot;type&quot;:&quot;https_url&quot;,&quot;format&quot;:[&quot;png&quot;,&quot;jpeg&quot;],&quot;dimensions&quot;:&quot;ריבוע בגודל 300..4096 פיקסלים&quot;,&quot;full_image_validation_before_send&quot;:true,&quot;maximum_file_bytes&quot;:20000000}</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text, image</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>additional_properties</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>false</td></tr></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>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.4</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-Fast</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-Fast · תצורת ברירת המחדל</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.40 ‏$⁩</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-Fast</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-Fast · תצורת ברירת המחדל</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.80 ‏$⁩</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-Fast</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-Fast · תצורת ברירת מחדל</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.80 ‏$⁩</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-890-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-890-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · יצירה לפי הבקשה השמורה במדויק</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"העתקת הקוד\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-890-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-890-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}&quot;\nexport AILOOT_IMAGE_URL\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-Fast&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;)\nfrom urllib.parse import urlsplit\nu=os.environ[&quot;AILOOT_IMAGE_URL&quot;]\nz=urlsplit(u)\nif z.scheme!=&quot;https&quot; or not z.netloc or z.username or z.password:raise SystemExit(&quot;Choose the actual HTTPS first-frame image URL&quot;)\np[&quot;first_frame_image&quot;]=u\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-891-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-891-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-891-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-891-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><details class=\"card-about\"><summary>קריאות תוכן נוספות</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-892-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-892-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-892-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-892-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל וידאו שהושלם או קובץ שהוחזר; אחזרו כל נכס מכל URL שהוחזר בפועל.</p><p class=\"note-s\">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><th>משמעות</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>signed content URL</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>boolean</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">requested_nominal_duration_seconds</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">measured_duration_seconds</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>number</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>integer</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">operation_id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>מוחזר כאשר status=unknown; המזהה הציבורי הממשי של פעולת הווידאו המקורית</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">request_id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td><td data-cell-label=\"משמעות\"><span class=\"card-cell-label\">משמעות</span>אופציונלי כאשר status=unknown; מוחזר רק אם למשימה המקורית יש מזהה בקשה</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>קריאת גוף הבקשה הגולמי נכשלת לפני פענוח פרופיל הווידאו</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לשמור את התגובה שהוחזרה ולתקן את גוף הבקשה שלא ניתן לקרוא.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦422⁩ · <code>price_unavailable</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>פענוח פרופיל הווידאו המדויק נכשל, או שלפרופיל המלא שפוענח אין כרטיס מחיר מדויק ומוכן</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לשמור את התגובה; יש להשתמש בפרופיל המלא והמדויק שאושר ובכרטיס המחיר שפורסם עבורו. הענף הזה מתבצע לפני שליחה לספק.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦409⁩ · <code>video_not_ready</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>תוכן התוצאה המקורית עדיין אינו זמין</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span><code>server_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦200⁩ · <code>video_result_unverified</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>מצב משימת Fast המקורית אינו ידוע; status=unknown ו־charge_pending_check=true</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>יש לשמור את id/operation_id שהוחזרו בפועל ואת request_id האופציונלי; יש לקרוא רק את המשימה המקורית. אין לשלוח שוב.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">כינויים</h3><h4>כינויים למודל</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3-Fast&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3-Fast&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3-Fast</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3-Fast&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3-Fast&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3-Fast</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3-Fast",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "MiniMax-Hailuo-2.3-Fast",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3-Fast",
      "ordinal": 0,
      "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": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "יש לשמור את התגובה; יש להשתמש בפרופיל המלא והמדויק שאושר ובכרטיס המחיר שפורסם עבורו. הענף הזה מתבצע לפני שליחה לספק.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              },
              {
                "code": "video_result_unverified",
                "condition": "מצב משימת Fast המקורית אינו ידוע; status=unknown ו־charge_pending_check=true",
                "http_status": 200,
                "message": "The video result and its charge are being checked; do not resubmit this operation.",
                "recovery": "יש לשמור את id/operation_id שהוחזרו בפועל ואת request_id האופציונלי; יש לקרוא רק את המשימה המקורית. אין לשלוח שוב.",
                "type": null
              }
            ],
            "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": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              }
            ],
            "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": [
              "image_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"
                },
                {
                  "description": "מוחזר כאשר status=unknown; המזהה הציבורי הממשי של פעולת הווידאו המקורית",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "אופציונלי כאשר status=unknown; מוחזר רק אם למשימה המקורית יש מזהה בקשה",
                  "name": "request_id",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed",
                "unknown"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3-Fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 199,
                "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"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_dimension": 4096,
                "maximum_file_bytes": 20000000,
                "mime_types": [
                  "image/png",
                  "image/jpeg"
                ],
                "minimum_dimension": 300,
                "name": "first_frame_image",
                "required": true,
                "square_only": true,
                "type": "https_url"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "יש ליצור פעם אחת ולשמור את המזהה שהוחזר.",
            "יש לבדוק במחזוריות את הסטטוס המקורי; יש לשמור כל נכס שהושלם ואת משכו."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "duration": [
              6
            ],
            "first_frame_image": {
              "dimensions": "ריבוע בגודל 300..4096 פיקסלים",
              "format": [
                "png",
                "jpeg"
              ],
              "full_image_validation_before_send": true,
              "maximum_file_bytes": 20000000,
              "type": "https_url"
            },
            "material_types": [
              "text",
              "image"
            ],
            "other_options": false,
            "prompt_max_characters": 199,
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "first_frame_image"
            ],
            "resolution": [
              "768P"
            ]
          },
          "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": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "image_to_video"
          ],
          "output": {
            "all_results": "Completed data[] contains all owned signed content URLs. Fetch each returned URL, or use the content endpoint with index set to an actual output index. A failed original job may return charge_pending_check; check that original job rather than creating it again.",
            "create_status": 202,
            "dimensions": {
              "height": 768,
              "width": 768
            },
            "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"
              },
              {
                "description": "Returned when status=unknown; actual original public video operation ID",
                "name": "operation_id",
                "type": "string"
              },
              {
                "description": "Optional when status=unknown; returned only if the original task has a request ID",
                "name": "request_id",
                "type": "string"
              }
            ],
            "format": "mp4",
            "maximum_outputs": 1,
            "status_enum": [
              "in_progress",
              "completed",
              "failed",
              "unknown"
            ]
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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}\"\n: \"${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3-Fast\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\nfrom urllib.parse import urlsplit\nu=os.environ[\"AILOOT_IMAGE_URL\"]\nz=urlsplit(u)\nif z.scheme!=\"https\" or not z.netloc or z.username or z.password:raise SystemExit(\"Choose the actual HTTPS first-frame image URL\")\np[\"first_frame_image\"]=u\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 · exact retained creation",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "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_768p_6s_clip": 0.4
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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-Fast",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.4",
            "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.4",
            "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-Fast",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3b74190580e533e298e1cbaea07f00cb2bb253aa7d898a0e316cacad92ae9788",
    "input_html_sha256": "18a36822e1c78a42e95d4b7ae7419038750ee28a255a26df667638f5f7628d9b",
    "private_audit_sha256": "8f800f80b9a88ebc4542351b6be98a9f6e30da44798dfec0e0116a2945615f4f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/minimax-hailuo-2-3-fast/",
    "description": "MiniMax Hailuo 2.3 Fast מנפיש תמונת פריים ראשון באמצעות הנחיית תנועה קצרה. בחרו בפרופיל הזה ליצירת וידאו מתמונה עבור שוט של מוצר, תנוחת דמות או תמונת סטילס מלוח סיפור.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/minimax-hailuo-2-3-fast/index.md",
    "title": "Hailuo 2.3 Fast — Ailoot",
    "url": "https://ailoot.ai/models/he/minimax-hailuo-2-3-fast/"
  },
  "rawModel": {
    "about": "MiniMax Hailuo 2.3 Fast הוא פרופיל Fast המוגדר ליצירת וידאו מתמונה. התחילו בתמונת פריים ראשון עם קומפוזיציה מוכנה ותארו כיצד הנושא או המצלמה צריכים לנוע. תמונת מוצר, תנוחת דמות או פריים מלוח סיפור מעניקים לשוט נקודת פתיחה חזותית מוחשית.\n\n### הכינו את התמונה ואת בריף התנועה\n\nספקו תמונת PNG או JPEG ריבועית באמצעות כתובת HTTPS, עם כל צלע בין 300 ל־4,096 פיקסלים. קובץ התמונה שיורד חייב להיות בגודל שאינו עולה על 20,000,000 בתים. שמרו על הנחיה באורך שבין 1 ל־199 תווים, הממוקדת בפעולה גלויה אחת ובתנועה החשובה לשוט.\n\n### עקבו אחר הקליפ עד להשלמתו\n\nהפרופיל הזה מוגדר לקליפ MP4 אחד בגודל 768 × 768 ובמשך נומינלי של שש שניות. שלחו את הבקשה פעם אחת, שמרו את המזהה שהוחזר ועקבו אחר אותה בקשה מקורית עד להשלמתה. הורידו את הווידאו שהוחזר ושמרו עם התוצאה את הממדים שעליהם דווח ואת המשך שנמדד. אם תוצאת היצירה אינה ודאית, המשיכו לבדוק את הבקשה המקורית במקום ליצור אותה מחדש.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.4",
            "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.4",
            "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": "a7fb828112d4f8512a6c",
        "label": "MiniMax-Hailuo-2.3-Fast",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "תצורת ברירת מחדל"
            },
            "label": "MiniMax-Hailuo-2.3-Fast · תצורת ברירת המחדל",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "80fe70316d9250227dcf82af",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "82631df9afee57af2f6c8804",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "7b0f29fa413532e53099",
        "label": "MiniMax-Hailuo-2.3-Fast",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "תצורת ברירת מחדל"
            },
            "label": "MiniMax-Hailuo-2.3-Fast · תצורת ברירת המחדל",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "8578b82c69e8df4c42f68460",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "839fc651d2a5ed215bbf477c",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "0f52b1d0f07e48b8e889",
        "label": "MiniMax-Hailuo-2.3-Fast",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Default configuration"
            },
            "label": "MiniMax-Hailuo-2.3-Fast · Default configuration",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "8768b8eaaf4b4cf626af1f43",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.8",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "be39469cb01d943ec9d6b9ab",
                "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-Fast",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "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": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "יש לשמור את התגובה; יש להשתמש בפרופיל המלא והמדויק שאושר ובכרטיס המחיר שפורסם עבורו. הענף הזה מתבצע לפני שליחה לספק.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "תוכן התוצאה המקורית עדיין אינו זמין",
                "http_status": 409,
                "recovery": "יש לבדוק במחזוריות את המזהה המקורי שהוחזר ולכבד את Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "התשובה שהוחזרה מציינת שהפעולה או התוצאה דורשת בדיקה",
                "http_status": null,
                "recovery": "שמרו את מזהה הפעולה/המשימה המקורי שהוחזר, את כותרות הבקשה ואת התשובה; המשיכו לבצע פעולות קריאה נתמכות של אותה פעולה מקורית. אל תשלחו שוב את בקשת היצירה.",
                "type": "server_error"
              },
              {
                "code": "video_result_unverified",
                "condition": "מצב משימת Fast המקורית אינו ידוע; status=unknown ו־charge_pending_check=true",
                "http_status": 200,
                "message": "The video result and its charge are being checked; do not resubmit this operation.",
                "recovery": "יש לשמור את id/operation_id שהוחזרו בפועל ואת request_id האופציונלי; יש לקרוא רק את המשימה המקורית. אין לשלוח שוב.",
                "type": null
              }
            ],
            "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": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              }
            ],
            "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": [
              "image_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"
                },
                {
                  "description": "מוחזר כאשר status=unknown; המזהה הציבורי הממשי של פעולת הווידאו המקורית",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "אופציונלי כאשר status=unknown; מוחזר רק אם למשימה המקורית יש מזהה בקשה",
                  "name": "request_id",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed",
                "unknown"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3-Fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 199,
                "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"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_dimension": 4096,
                "maximum_file_bytes": 20000000,
                "mime_types": [
                  "image/png",
                  "image/jpeg"
                ],
                "minimum_dimension": 300,
                "name": "first_frame_image",
                "required": true,
                "square_only": true,
                "type": "https_url"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "יש ליצור פעם אחת ולשמור את המזהה שהוחזר.",
            "יש לבדוק במחזוריות את הסטטוס המקורי; יש לשמור כל נכס שהושלם ואת משכו."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "duration": [
              6
            ],
            "first_frame_image": {
              "dimensions": "ריבוע בגודל 300..4096 פיקסלים",
              "format": [
                "png",
                "jpeg"
              ],
              "full_image_validation_before_send": true,
              "maximum_file_bytes": 20000000,
              "type": "https_url"
            },
            "material_types": [
              "text",
              "image"
            ],
            "other_options": false,
            "prompt_max_characters": 199,
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "first_frame_image"
            ],
            "resolution": [
              "768P"
            ]
          },
          "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": "Read existing original job; never resubmit unknown send.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "image_to_video"
          ],
          "output": {
            "all_results": "Completed data[] contains all owned signed content URLs. Fetch each returned URL, or use the content endpoint with index set to an actual output index. A failed original job may return charge_pending_check; check that original job rather than creating it again.",
            "create_status": 202,
            "dimensions": {
              "height": 768,
              "width": 768
            },
            "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"
              },
              {
                "description": "Returned when status=unknown; actual original public video operation ID",
                "name": "operation_id",
                "type": "string"
              },
              {
                "description": "Optional when status=unknown; returned only if the original task has a request ID",
                "name": "request_id",
                "type": "string"
              }
            ],
            "format": "mp4",
            "maximum_outputs": 1,
            "status_enum": [
              "in_progress",
              "completed",
              "failed",
              "unknown"
            ]
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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}\"\n: \"${AILOOT_IMAGE_URL:?Set the actual HTTPS first-frame image URL}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3-Fast\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\nfrom urllib.parse import urlsplit\nu=os.environ[\"AILOOT_IMAGE_URL\"]\nz=urlsplit(u)\nif z.scheme!=\"https\" or not z.netloc or z.username or z.password:raise SystemExit(\"Choose the actual HTTPS first-frame image URL\")\np[\"first_frame_image\"]=u\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 · exact retained creation",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "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_768p_6s_clip": 0.4
          }
        },
        "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": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.4",
                "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.4",
                "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-Fast",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.4",
            "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.4",
            "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-Fast",
        "request_model_id": "MiniMax-Hailuo-2.3-Fast",
        "route_label": "Ultra"
      }
    ],
    "name": "Hailuo 2.3 Fast",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.4,
      "out_label": "per nominal 6s output clip",
      "sort_in": null,
      "sort_out": 0.4,
      "varies": true
    },
    "short": "MiniMax Hailuo 2.3 Fast מנפיש תמונת פריים ראשון באמצעות הנחיית תנועה קצרה. בחרו בפרופיל הזה ליצירת וידאו מתמונה עבור שוט של מוצר, תנוחת דמות או תמונת סטילס מלוח סיפור."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "MiniMax Hailuo 2.3 Fast מנפיש תמונת פריים ראשון באמצעות הנחיית תנועה קצרה. בחרו בפרופיל הזה ליצירת וידאו מתמונה עבור שוט של מוצר, תנוחת דמות או תמונת סטילס מלוח סיפור.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d6e0028f893bfcd0cab6cc8c3c091e08749e051663af7316028bc93040504d4e",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "a04b7725df04c32e92aa2a28ca3b812f8d2f98994bfc9bdaf4ad980d6f8bd18d"
}
