{
  "aboutHtml": "<p>Seedance 1.0 Pro יוצר וידאו מטקסט או מסצנה המונחית באמצעות תמונה. המזהה doubao-seedance-1-0-pro-250528 תומך בשני מצבי הקלט, ולכן נקודת ההתחלה יכולה להיות רעיון כתוב או קומפוזיציה חזותית קיימת. השתמשו בהנחיות טקסט ליצירת סצנה חדשה, או ספקו תמונה כשהנושא, הסידור ומבט הפתיחה צריכים להיקבע חזותית. פרופיל 1.0 הזה מפיק וידאו ללא קול; שמע מסונכרן שייך לפרופיל 1.5 Pro המתואר בנפרד.</p><p>לטקסט לווידאו, הגדירו את נושא הצילום, הסביבה, התנועה, המסגור והמצלמה בסצנה אחת עקבית. הדוגמה המתועדת עוברת בהדרגה משדה חינניות למבט קרוב בפרח עם טל על עלי הכותרת. המבנה הזה מועיל גם לחשיפות אחרות: בססו את הסביבה, התקרבו לנושא וסיימו בפרט החשוב. לרעיון מוצר, תארו את החומר והתאורה לצד הפעולה, ותנו למצלמה מסלול שאפשר לבצע בשוט הקצר.</p><p>לתמונה לווידאו, מקמו את תמונת הייחוס בפריט תוכן image_url והסבירו מה אמור להשתנות ממבט הפתיחה הזה. דיוקן שהוכן מראש יכול להגדיר את האדם והחיתוך, בעוד שההנחיות מתארות סיבוב קל, שיער נע או התרחקות עדינה של המצלמה. תמונת מוצר יכולה לבסס את האובייקט והרקע, בעוד שהפרומפט מבקש חשיפה מבוקרת. התאימו את התנועה המבוקשת לקומפוזיציית המקור; תמונה של צד אחד באובייקט אינה מספקת מבט מדויק שלא נראה על כל צד אחר.</p><p>שדה התמונה מקבל כתובת URL נגישה או data URL המכיל נתוני תמונה ב-Base64. הפורמטים המתועדים הם JPEG, PNG, WEBP, BMP, TIFF ו-GIF. התמונות צריכות להיות קטנות מ-30 MB, עם יחס רוחב לגובה שנמצא ממש בין 0.4 ל-2.5 וכל ממד ממש בין 300 ל-6000 פיקסלים, בלי לכלול את ערכי הגבול. הכינו מקור ברור בחיתוך המיועד, במקום להסתמך על תמונה ממוזערת שפרטיה המזהים כבר חסרים. ליצירת תמונה לווידאו, המדריך ממליץ על מסגור adaptive כדי לעקוב אחר יחסי הממדים של תמונת הייחוס.</p><p>המשך המתועד של 1.0 הוא שתיים עד שתים עשרה שניות וקצב הפריימים הוא 24 fps. בקרות הפלט כוללות רמות 480p, 720p ו-1080p, כש-1080p היא ברירת המחדל של Pro; המדריך שולל 1080p בתרחיש תמונת הייחוס. הצורות הקבועות כוללות 16:9, 4:3, 1:1, 3:4, 9:16 ו-21:9. בחרו שילוב התואם לתמונה בשוט המובל על ידה, במקום להעביר ללא שינוי את כל הגדרות הטקסט לווידאו. בדקו את המסגור שהוחזר בפועל לפני הצבת הקליפ בפריסה.</p><p>בקרות seed וסימן מים מתועדות לצד camerafixed. הוראת המצלמה הקבועה אינה נתמכת בתרחיש תמונת ייחוס, וגם במקום שבו היא חלה, המדריך אינו מבטיח מצלמה נייחת לחלוטין. הוראות פרמטרים המוטמעות בפרומפט גוברות על שדות אופציונליים נפרדים. שמרו הגדרה קובעת אחת למשך, לרזולוציה וליחס, והתאימו אליה את תיאור המצלמה. כך הנחיות הסצנה אינן דורסות בלי לשים לב את ההגדרות שנבחרו לבקשה.</p><p>השימוש נמדד בטוקני וידאו: רוחב הפלט × גובה הפלט × קצב הפריימים × משך הפלט / 1024. המשימה שהושלמה מדווחת על הכמות הזאת ב-usage.completion_tokens. שמרו את השימוש שדווח עם הקליפ המוגמר וההגדרות שהתבקשו עבורו.</p><p>תהליך העבודה מחזיר תחילה מזהה משימה ולאחר העיבוד מיקום של וידאו שהושלם. שמרו את המזהה כשבודקים סטטוס המתנה בתור או ריצה; משימה שהצליחה מספקת content.video_url ומידע שימוש. תקופת השמירה המתועדת של הקבצים שנוצרו היא שבעה ימים. שמרו את הקליפ שהושלם, את תמונת המקור ואת הפרומפט המדויק כתיעוד לגרסה, ואז בדקו את מראה נושא הצילום, התנועה, הרציפות לתמונה והקומפוזיציה הסופית לאורך התוצאה כולה.</p>",
  "aboutText": "Seedance 1.0 Pro יוצר וידאו מטקסט או מסצנה המונחית באמצעות תמונה. המזהה doubao-seedance-1-0-pro-250528 תומך בשני מצבי הקלט, ולכן נקודת ההתחלה יכולה להיות רעיון כתוב או קומפוזיציה חזותית קיימת. השתמשו בהנחיות טקסט ליצירת סצנה חדשה, או ספקו תמונה כשהנושא, הסידור ומבט הפתיחה צריכים להיקבע חזותית. פרופיל 1.0 הזה מפיק וידאו ללא קול; שמע מסונכרן שייך לפרופיל 1.5 Pro המתואר בנפרד.\n\nלטקסט לווידאו, הגדירו את נושא הצילום, הסביבה, התנועה, המסגור והמצלמה בסצנה אחת עקבית. הדוגמה המתועדת עוברת בהדרגה משדה חינניות למבט קרוב בפרח עם טל על עלי הכותרת. המבנה הזה מועיל גם לחשיפות אחרות: בססו את הסביבה, התקרבו לנושא וסיימו בפרט החשוב. לרעיון מוצר, תארו את החומר והתאורה לצד הפעולה, ותנו למצלמה מסלול שאפשר לבצע בשוט הקצר.\n\nלתמונה לווידאו, מקמו את תמונת הייחוס בפריט תוכן image_url והסבירו מה אמור להשתנות ממבט הפתיחה הזה. דיוקן שהוכן מראש יכול להגדיר את האדם והחיתוך, בעוד שההנחיות מתארות סיבוב קל, שיער נע או התרחקות עדינה של המצלמה. תמונת מוצר יכולה לבסס את האובייקט והרקע, בעוד שהפרומפט מבקש חשיפה מבוקרת. התאימו את התנועה המבוקשת לקומפוזיציית המקור; תמונה של צד אחד באובייקט אינה מספקת מבט מדויק שלא נראה על כל צד אחר.\n\nשדה התמונה מקבל כתובת URL נגישה או data URL המכיל נתוני תמונה ב-Base64. הפורמטים המתועדים הם JPEG, PNG, WEBP, BMP, TIFF ו-GIF. התמונות צריכות להיות קטנות מ-30 MB, עם יחס רוחב לגובה שנמצא ממש בין 0.4 ל-2.5 וכל ממד ממש בין 300 ל-6000 פיקסלים, בלי לכלול את ערכי הגבול. הכינו מקור ברור בחיתוך המיועד, במקום להסתמך על תמונה ממוזערת שפרטיה המזהים כבר חסרים. ליצירת תמונה לווידאו, המדריך ממליץ על מסגור adaptive כדי לעקוב אחר יחסי הממדים של תמונת הייחוס.\n\nהמשך המתועד של 1.0 הוא שתיים עד שתים עשרה שניות וקצב הפריימים הוא 24 fps. בקרות הפלט כוללות רמות 480p, 720p ו-1080p, כש-1080p היא ברירת המחדל של Pro; המדריך שולל 1080p בתרחיש תמונת הייחוס. הצורות הקבועות כוללות 16:9, 4:3, 1:1, 3:4, 9:16 ו-21:9. בחרו שילוב התואם לתמונה בשוט המובל על ידה, במקום להעביר ללא שינוי את כל הגדרות הטקסט לווידאו. בדקו את המסגור שהוחזר בפועל לפני הצבת הקליפ בפריסה.\n\nבקרות seed וסימן מים מתועדות לצד camerafixed. הוראת המצלמה הקבועה אינה נתמכת בתרחיש תמונת ייחוס, וגם במקום שבו היא חלה, המדריך אינו מבטיח מצלמה נייחת לחלוטין. הוראות פרמטרים המוטמעות בפרומפט גוברות על שדות אופציונליים נפרדים. שמרו הגדרה קובעת אחת למשך, לרזולוציה וליחס, והתאימו אליה את תיאור המצלמה. כך הנחיות הסצנה אינן דורסות בלי לשים לב את ההגדרות שנבחרו לבקשה.\n\nהשימוש נמדד בטוקני וידאו: רוחב הפלט × גובה הפלט × קצב הפריימים × משך הפלט / 1024. המשימה שהושלמה מדווחת על הכמות הזאת ב-usage.completion_tokens. שמרו את השימוש שדווח עם הקליפ המוגמר וההגדרות שהתבקשו עבורו.\n\nתהליך העבודה מחזיר תחילה מזהה משימה ולאחר העיבוד מיקום של וידאו שהושלם. שמרו את המזהה כשבודקים סטטוס המתנה בתור או ריצה; משימה שהצליחה מספקת content.video_url ומידע שימוש. תקופת השמירה המתועדת של הקבצים שנוצרו היא שבעה ימים. שמרו את הקליפ שהושלם, את תמונת המקור ואת הפרומפט המדויק כתיעוד לגרסה, ואז בדקו את מראה נושא הצילום, התנועה, הרציפות לתמונה והקומפוזיציה הסופית לאורך התוצאה כולה.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "bfaf8f7a8ae360a233ad8cd3b61f20d64c6c98d39322722ede19343258cf1924",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "he",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ByteDance: Seedance 1.0 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>ByteDance /</span><code>doubao-seedance-1-0-pro-250528</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|doubao-seedance-1-0-pro-250528\">וידאו</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\">Seedance 1.0 Pro יוצר וידאו ללא קול מטקסט או מתמונת פתיחה. תארו את הפעולה והמצלמה, או הנפישו קומפוזיציה קיימת, עם משך של 2–12 שניות, 24 fps ובקרות מפורשות למסגור ולרזולוציה של הפלט.</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>Seedance 1.0 Pro יוצר וידאו מטקסט או מסצנה המונחית באמצעות תמונה. המזהה doubao-seedance-1-0-pro-250528 תומך בשני מצבי הקלט, ולכן נקודת ההתחלה יכולה להיות רעיון כתוב או קומפוזיציה חזותית קיימת. השתמשו בהנחיות טקסט ליצירת סצנה חדשה, או ספקו תמונה כשהנושא, הסידור ומבט הפתיחה צריכים להיקבע חזותית. פרופיל 1.0 הזה מפיק וידאו ללא קול; שמע מסונכרן שייך לפרופיל 1.5 Pro המתואר בנפרד.</p><p>לטקסט לווידאו, הגדירו את נושא הצילום, הסביבה, התנועה, המסגור והמצלמה בסצנה אחת עקבית. הדוגמה המתועדת עוברת בהדרגה משדה חינניות למבט קרוב בפרח עם טל על עלי הכותרת. המבנה הזה מועיל גם לחשיפות אחרות: בססו את הסביבה, התקרבו לנושא וסיימו בפרט החשוב. לרעיון מוצר, תארו את החומר והתאורה לצד הפעולה, ותנו למצלמה מסלול שאפשר לבצע בשוט הקצר.</p><p>לתמונה לווידאו, מקמו את תמונת הייחוס בפריט תוכן image_url והסבירו מה אמור להשתנות ממבט הפתיחה הזה. דיוקן שהוכן מראש יכול להגדיר את האדם והחיתוך, בעוד שההנחיות מתארות סיבוב קל, שיער נע או התרחקות עדינה של המצלמה. תמונת מוצר יכולה לבסס את האובייקט והרקע, בעוד שהפרומפט מבקש חשיפה מבוקרת. התאימו את התנועה המבוקשת לקומפוזיציית המקור; תמונה של צד אחד באובייקט אינה מספקת מבט מדויק שלא נראה על כל צד אחר.</p><p>שדה התמונה מקבל כתובת URL נגישה או data URL המכיל נתוני תמונה ב-Base64. הפורמטים המתועדים הם JPEG, PNG, WEBP, BMP, TIFF ו-GIF. התמונות צריכות להיות קטנות מ-30 MB, עם יחס רוחב לגובה שנמצא ממש בין 0.4 ל-2.5 וכל ממד ממש בין 300 ל-6000 פיקסלים, בלי לכלול את ערכי הגבול. הכינו מקור ברור בחיתוך המיועד, במקום להסתמך על תמונה ממוזערת שפרטיה המזהים כבר חסרים. ליצירת תמונה לווידאו, המדריך ממליץ על מסגור adaptive כדי לעקוב אחר יחסי הממדים של תמונת הייחוס.</p><p>המשך המתועד של 1.0 הוא שתיים עד שתים עשרה שניות וקצב הפריימים הוא 24 fps. בקרות הפלט כוללות רמות 480p, 720p ו-1080p, כש-1080p היא ברירת המחדל של Pro; המדריך שולל 1080p בתרחיש תמונת הייחוס. הצורות הקבועות כוללות 16:9, 4:3, 1:1, 3:4, 9:16 ו-21:9. בחרו שילוב התואם לתמונה בשוט המובל על ידה, במקום להעביר ללא שינוי את כל הגדרות הטקסט לווידאו. בדקו את המסגור שהוחזר בפועל לפני הצבת הקליפ בפריסה.</p><p>בקרות seed וסימן מים מתועדות לצד camerafixed. הוראת המצלמה הקבועה אינה נתמכת בתרחיש תמונת ייחוס, וגם במקום שבו היא חלה, המדריך אינו מבטיח מצלמה נייחת לחלוטין. הוראות פרמטרים המוטמעות בפרומפט גוברות על שדות אופציונליים נפרדים. שמרו הגדרה קובעת אחת למשך, לרזולוציה וליחס, והתאימו אליה את תיאור המצלמה. כך הנחיות הסצנה אינן דורסות בלי לשים לב את ההגדרות שנבחרו לבקשה.</p><p>השימוש נמדד בטוקני וידאו: רוחב הפלט × גובה הפלט × קצב הפריימים × משך הפלט / 1024. המשימה שהושלמה מדווחת על הכמות הזאת ב-usage.completion_tokens. שמרו את השימוש שדווח עם הקליפ המוגמר וההגדרות שהתבקשו עבורו.</p><p>תהליך העבודה מחזיר תחילה מזהה משימה ולאחר העיבוד מיקום של וידאו שהושלם. שמרו את המזהה כשבודקים סטטוס המתנה בתור או ריצה; משימה שהצליחה מספקת content.video_url ומידע שימוש. תקופת השמירה המתועדת של הקבצים שנוצרו היא שבעה ימים. שמרו את הקליפ שהושלם, את תמונת המקור ואת הפרומפט המדויק כתיעוד לגרסה, ואז בדקו את מראה נושא הצילום, התנועה, הרציפות לתמונה והקומפוזיציה הסופית לאורך התוצאה כולה.</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></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>doubao-seedance-1-0-pro-250528</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\">content</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>array</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: אובייקטי טקסט ומדיה בפורמט המקורי; המערך החיצוני חייב להיות לא ריק. הבנאי הכללי הזה של Ailoot אינו מאמת את הטיפוסים של הצמתים המקוננים.</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>מינימום: ⁦2⁩</div><div>מקסימום: ⁦12⁩</div><div>תנאים: הסכמה הראשית של 1.x מציינת 2–12; תיאור משותף מאוחר יותר מציין עבור 1.5 את הטווח 4–12 או -1. הדוגמה משתמשת ב־5, המתועד בשניהם.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>⁦5⁩</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: הערכים המאושרים ליצירת וידאו מטקסט הם 480p ו־1080p. קלט של תמונת עזר אינו מאפשר 1080p. ערך ה־enum המשותף 720p סותר את התיאור הייחודי למודל, ולכן התמיכה ב־720p נותרת בלתי מוכרעת בשני המצבים.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>1080p</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\">ratio</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive</div><div>תנאים: ברירות מחדל התלויות בסצנה ובמודל; התיעוד לקלט תמונה ממליץ על adaptive.</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\">service_tier</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>default, flex</div><div>תנאים: default=online, flex=offline; יש לבחור לפני היצירה.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>default</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\">seed</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>integer</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מינימום: ⁦‎-1⁩</div><div>מקסימום: ⁦4,294,967,295⁩</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>⁦‎-1⁩</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\">camerafixed</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>boolean</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: נדרש על ידי Ailoot; שליטה במצלמה על בסיס תמונת עזר מתועדת כלא נתמכת, והשפעתה אינה מובטחת.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>false</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\">watermark</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>boolean</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>false</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\">execution_expires_after</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>מינימום: ⁦3,600⁩</div><div>מקסימום: ⁦259,200⁩</div><div>יחידה: שניות</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"known\"><span class=\"card-cell-label\">ברירת מחדל</span>⁦172,800⁩</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>שילובים של חומרי קלט</summary><p class=\"note-s\"><b></b></p><p class=\"note-s\"><b></b></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>camerafixed, content, execution_expires_after, model, seed, watermark</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>optional</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>duration, resolution, ratio, service_tier</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>true</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>validation_scope</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>Ailoot בודקת את הטיפוסים של שדות החובה ושמערך model/content אינו ריק. יתר שדות הבקשה נשמרים עבור המודל שנבחר.</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>image_constraints</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>{&quot;formats&quot;:[&quot;jpeg&quot;,&quot;png&quot;,&quot;webp&quot;,&quot;bmp&quot;,&quot;tiff&quot;,&quot;gif&quot;],&quot;aspect_ratio_exclusive&quot;:[0.4,2.5],&quot;dimensions_px_exclusive&quot;:[300,6000],&quot;file_size_mb_exclusive&quot;:30,&quot;mb_bytes_definition&quot;:null}</td></tr></tbody></table></div><p>כינויים לשיטה: <code>/v1/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\">יש ליצור פעם אחת ולשמור את id/polling_url הציבוריים שהוחזרו.</p><p class=\"note-s\">יש לבדוק במחזוריות את המשימה המקורית; יש להוריד את content.video_url הממשי שבבעלותכם לאחר succeeded.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div class=\"card-result-process\" data-billing-basis><h5>אופן חישוב החיוב הסופי</h5><p class=\"note-s\">התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב Flex</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב flex</span></dd><dt>מאמץ חשיבה מרבי</dt><dd>לא צוין <span class=\"note-s\">כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>תעריפים משוערים להשוואה</h4><h4>מחירים לפי תצורה</h4><p class=\"note-s\">התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>טבלת תעריפים</th><th>כמות חזויה</th><th>יחידת חיוב</th><th>חיוב</th></tr></thead><tbody><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>תעריפי בסיס לטוקנים</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>תעריף בסיס</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>—</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>—</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>קלט · טוקני קלט · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>פלט · טוקני פלט · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · קריאה מהמטמון · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון, 1 שעה · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>Ultra</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>—</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>לכל 1K טוקני וידאו</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · אומדן להשוואה בלבד</span> <b>$0.0044</b> <span class=\"price-unit\">לכל 1K טוקני וידאו</span></div></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>עלות יצירה משוערת</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>אומדן ליצירה אחת</td><td data-cell-label=\"יחידת חיוב\"><span class=\"card-cell-label\">יחידת חיוב</span>—</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · עלות יצירה משוערת · אומדן להשוואה בלבד</span> <b>$0.2112</b> <span class=\"price-unit\">אומדן לפני היצירה</span></div><p class=\"note-s\">אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.</p></td></tr></tbody></table></div></div><p class=\"note-s\">לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. <a href=\"/docs/he/billing/reserve/\">איך פועלים שריון הסכום והסדרת החיוב →</a></p></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-2776-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2776-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · צרו סרטון</button><button class=\"cg-tab\" id=\"model-code-2776-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2776-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · קראו את המשימה המקורית</button><button class=\"cg-tab\" id=\"model-code-2776-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2776-panel-2\" aria-selected=\"false\" tabindex=\"-1\">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-2776-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2776-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON_REQUEST&#39;\n{&quot;model&quot;:&quot;doubao-seedance-1-0-pro-250528&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动&quot;}],&quot;resolution&quot;:&quot;480p&quot;,&quot;ratio&quot;:&quot;1:1&quot;,&quot;duration&quot;:5,&quot;service_tier&quot;:&quot;default&quot;,&quot;seed&quot;:-1,&quot;camerafixed&quot;:false,&quot;watermark&quot;:false,&quot;execution_expires_after&quot;:172800}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2776-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2776-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_POLL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(&quot;result.json&quot;).read_text())\ni=r.get(&quot;id&quot;)\nif not isinstance(i,str) or not i.startswith(&quot;native302_&quot;):raise SystemExit(&quot;Keep original response/headers/id; do not resubmit creation.&quot;)\nu=urljoin(&quot;https://api.ailoot.ai&quot;,r.get(&quot;polling_url&quot;) or &quot;/v1/videos/&quot;+quote(i,safe=&quot;&quot;))\np=urlsplit(u)\nif p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or not p.path.startswith(&quot;/v1/videos/&quot;):raise SystemExit(&quot;Use actual Ailoot lookup path.&quot;)\nPath(&quot;poll-url.txt&quot;).write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error &quot;$(cat poll-url.txt)&quot; -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2776-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2776-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nif r.get(&quot;status&quot;)!=&quot;succeeded&quot;:raise SystemExit(&quot;Poll same original job until an owned result is returned.&quot;)\nu=r.get(&quot;content&quot;,{}).get(&quot;video_url&quot;)\nurls=[u] if isinstance(u,str) else u\nif not isinstance(urls,list) or not urls:raise SystemExit(&quot;No completed video URL.&quot;)\nfor u in urls:\n    if not isinstance(u,str):raise SystemExit(&quot;Invalid returned URL.&quot;)\n    p=urlsplit(u)\n    if p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or not p.path.startswith(&quot;/v1/media/assets/&quot;) or not p.path.endswith(&quot;/content&quot;) or not p.query:raise SystemExit(&quot;Wait for actual Ailoot-owned signed result.&quot;)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_ASSETS\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; -o &quot;video-${index}.bin&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\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\">JSON בפורמט המקורי עם id/polling_url ציבוריים. לאחר הפרסום, content.video_url מכיל כתובות URL חתומות בבעלות Ailoot; לפני הפרסום, כתובות ה־URL של הפלטים שנבחרו מרוקנות.</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><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל וידאו שהושלם או קובץ שהוחזר; אחזרו כל נכס מכל URL שהוחזר בפועל.</p><p class=\"note-s\">יש לשמור כל כתובת URL ממשית ב־content.video_url; האינדקס חייב לזהות פלט ממשי שהוחזר.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">יש לשמור את התגובה המקורית, הכותרות והמזהה ולבדוק במחזוריות את הפעולה הזו; אין לשלוח שוב בקשת יצירה שמצבה אינו ידוע.</p></div><details class=\"card-about\" data-output-fields><summary>שדות התגובה</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>שדה</th><th>סוג</th></tr></thead><tbody><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">provider_task_id</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">polling_url</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string when supplied</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">content.video_url</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string|string[]</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>object when supplied</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>JSON/model, טיפוסים של שדות חובה או אינדקס תוכן לא תקפים.</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>⁦401⁩ · <code>authentication_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>מפתח API לא תקף של Ailoot.</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>⁦404⁩ · <code>not_found_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>המשימה או הפלט חסרים או אינם בבעלות אותו משתמש, מפתח API וקבוצה.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span></td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦502⁩ · <code>result_pending_check</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>השליחה או הסטטוס המקוריים אינם שלמים; יש לשמור את המזהה המקורי ולא לשלוח שוב.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span></td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦503⁩ · <code>result_pending_check</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>המדיה, הנתיב או השלמת החיוב המקוריים נבדקים; יש להמשיך את הפעולה המקורית.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span></td></tr></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=doubao-seedance-1-0-pro-250528&amp;route=Ultra&amp;caller=doubao-seedance-1-0-pro-250528&amp;fmt=videos\"><code>doubao-seedance-1-0-pro-250528</code></a></span></p><h4>כינויים לנתיבי שיטות</h4><p class=\"note-s\"><code>/v1/videos/generations</code></p><h4>מזהי מודלים קשורים IDs</h4><p class=\"note-s\"><a href=\"#m=doubao-seedance-1-0-pro-250528&amp;route=Ultra&amp;caller=doubao-seedance-1-0-pro-250528&amp;fmt=videos\"><code>doubao-seedance-1-0-pro-250528</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "doubao-seedance-1-0-pro-250528",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|doubao-seedance-1-0-pro-250528",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "errors": [
              {
                "condition": "JSON/model, טיפוסים של שדות חובה או אינדקס תוכן לא תקפים.",
                "http_status": 400,
                "type": "invalid_request_error"
              },
              {
                "condition": "מפתח API לא תקף של Ailoot.",
                "http_status": 401,
                "type": "authentication_error"
              },
              {
                "condition": "המשימה או הפלט חסרים או אינם בבעלות אותו משתמש, מפתח API וקבוצה.",
                "http_status": 404,
                "type": "not_found_error"
              },
              {
                "condition": "השליחה או הסטטוס המקוריים אינם שלמים; יש לשמור את המזהה המקורי ולא לשלוח שוב.",
                "http_status": 502,
                "type": "result_pending_check"
              },
              {
                "condition": "המדיה, הנתיב או השלמת החיוב המקוריים נבדקים; יש להמשיך את הפעולה המקורית.",
                "http_status": 503,
                "type": "result_pending_check"
              }
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "completed_states": [
                "succeeded"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "content_pending": "Original status JSON until publication.",
              "content_ready": {
                "http_status": 303,
                "location": "actual signed Ailoot-owned asset URL"
              },
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [
                "failed",
                "expired"
              ],
              "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
              "mode": "submit_once_poll_original",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "pending_states": [
                "queued",
                "running"
              ],
              "signed_asset_lifetime_seconds": 86400,
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 200,
              "unknown": "יש לשמור את התגובה המקורית, הכותרות והמזהה ולבדוק במחזוריות את הפעולה הזו; אין לשלוח שוב בקשת יצירה שמצבה אינו ידוע.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              [
                "text"
              ],
              [
                "text",
                "image"
              ]
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video"
            ],
            "outputs": {
              "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
              "all_results": "יש לשמור כל כתובת URL ממשית ב־content.video_url; האינדקס חייב לזהות פלט ממשי שהוחזר.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string when supplied"
                },
                {
                  "description": null,
                  "name": "content.video_url",
                  "type": "string|string[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object when supplied"
                }
              ],
              "format": null,
              "maximum_outputs": null,
              "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
              "result": "JSON בפורמט המקורי עם id/polling_url ציבוריים. לאחר הפרסום, content.video_url מכיל כתובות URL חתומות בבעלות Ailoot; לפני הפרסום, כתובות ה־URL של הפלטים שנבחרו מרוקנות."
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "doubao-seedance-1-0-pro-250528"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "אובייקטי טקסט ומדיה בפורמט המקורי; המערך החיצוני חייב להיות לא ריק. הבנאי הכללי הזה של Ailoot אינו מאמת את הטיפוסים של הצמתים המקוננים.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "content",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "הסכמה הראשית של 1.x מציינת 2–12; תיאור משותף מאוחר יותר מציין עבור 1.5 את הטווח 4–12 או -1. הדוגמה משתמשת ב־5, המתועד בשניהם.",
                "default": 5,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 12,
                "minimum": 2,
                "name": "duration",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "הערכים המאושרים ליצירת וידאו מטקסט הם 480p ו־1080p. קלט של תמונת עזר אינו מאפשר 1080p. ערך ה־enum המשותף 720p סותר את התיאור הייחודי למודל, ולכן התמיכה ב־720p נותרת בלתי מוכרעת בשני המצבים.",
                "default": "1080p",
                "default_conditions": "1080p is the documented model default for text-to-video. Reference-image input excludes 1080p; its default is not established here.",
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "resolution",
                "required": false,
                "supported_values_by_mode": {
                  "image_to_video": {
                    "confirmed": [
                      "480p"
                    ],
                    "excluded": [
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  },
                  "text_to_video": {
                    "confirmed": [
                      "480p",
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  }
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "ברירות מחדל התלויות בסצנה ובמודל; התיעוד לקלט תמונה ממליץ על adaptive.",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "4:3",
                  "1:1",
                  "3:4",
                  "9:16",
                  "21:9",
                  "adaptive"
                ],
                "enum_known": true,
                "name": "ratio",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "default=online, flex=offline; יש לבחור לפני היצירה.",
                "default": "default",
                "default_known": true,
                "enum": [
                  "default",
                  "flex"
                ],
                "enum_known": true,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": -1,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 4294967295,
                "minimum": -1,
                "name": "seed",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "נדרש על ידי Ailoot; שליטה במצלמה על בסיס תמונת עזר מתועדת כלא נתמכת, והשפעתה אינה מובטחת.",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "camerafixed",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "watermark",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": 172800,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 259200,
                "minimum": 3600,
                "name": "execution_expires_after",
                "required": true,
                "type": "integer",
                "unit": "שניות"
              }
            ],
            "profile_binding": "Exact model ID and documented Ailoot video interface.",
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "camerafixed": {
                  "type": "boolean"
                },
                "content": {
                  "items": {
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "duration": {
                  "maximum": 12,
                  "minimum": 2,
                  "type": "integer"
                },
                "execution_expires_after": {
                  "maximum": 259200,
                  "minimum": 3600,
                  "type": "integer"
                },
                "model": {
                  "const": "doubao-seedance-1-0-pro-250528",
                  "type": "string"
                },
                "ratio": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16",
                    "21:9",
                    "adaptive"
                  ],
                  "type": "string"
                },
                "resolution": {
                  "description": "Use the explicit resolution supported_values_by_mode conditions: reference-image input excludes 1080p; 720p support is unresolved. No unconditional per-model enum is asserted.",
                  "type": "string"
                },
                "seed": {
                  "maximum": 4294967295,
                  "minimum": -1,
                  "type": "integer"
                },
                "service_tier": {
                  "enum": [
                    "default",
                    "flex"
                  ],
                  "type": "string"
                },
                "watermark": {
                  "type": "boolean"
                }
              },
              "required": [
                "camerafixed",
                "content",
                "execution_expires_after",
                "model",
                "seed",
                "watermark"
              ],
              "type": "object"
            },
            "source_ambiguities": [
              "Primary content.items.required says type+text even for its image example without text; preserve intended example branches and outer-array validation boundary.",
              "Pro/pro-fast inline-resolution and top-level enum differ; copyable example uses documented 480p."
            ],
            "unsupported": [
              "Separate cancel/delete for this generic method",
              "Separate edit/extension endpoint for this method"
            ]
          },
          "hints": [
            "יש ליצור פעם אחת ולשמור את id/polling_url הציבוריים שהוחזרו.",
            "יש לבדוק במחזוריות את המשימה המקורית; יש להוריד את content.video_url הממשי שבבעלותכם לאחר succeeded."
          ],
          "input": {
            "additional_properties": true,
            "content_type": "application/json",
            "image_constraints": {
              "aspect_ratio_exclusive": [
                0.4,
                2.5
              ],
              "dimensions_px_exclusive": [
                300,
                6000
              ],
              "file_size_mb_exclusive": 30,
              "formats": [
                "jpeg",
                "png",
                "webp",
                "bmp",
                "tiff",
                "gif"
              ],
              "mb_bytes_definition": null
            },
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "duration",
              "resolution",
              "ratio",
              "service_tier"
            ],
            "required": [
              "camerafixed",
              "content",
              "execution_expires_after",
              "model",
              "seed",
              "watermark"
            ],
            "validation_scope": "Ailoot בודקת את הטיפוסים של שדות החובה ושמערך model/content אינו ריק. יתר שדות הבקשה נשמרים עבור המודל שנבחר."
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "completed_states": [
              "succeeded"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "content_pending": "Original status JSON until publication.",
            "content_ready": {
              "http_status": 303,
              "location": "actual signed Ailoot-owned asset URL"
            },
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [
              "failed",
              "expired"
            ],
            "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
            "mode": "submit_once_poll_original",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "pending_states": [
              "queued",
              "running"
            ],
            "signed_asset_lifetime_seconds": 86400,
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 200,
            "unknown": "Preserve original response/headers/id and poll that operation; never resubmit unknown creation.",
            "unknown_no_replay": true
          },
          "manufacturer_capability": {
            "documented_material_types": [
              "text",
              "image"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "operation_modes": [
            "text_to_video",
            "image_to_video"
          ],
          "output": {
            "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
            "all_results": "Retain every actual URL in content.video_url; index must identify a real returned output.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "description": null,
                "name": "polling_url",
                "type": "string"
              },
              {
                "description": null,
                "name": "status",
                "type": "string when supplied"
              },
              {
                "description": null,
                "name": "content.video_url",
                "type": "string|string[]"
              },
              {
                "description": null,
                "name": "usage",
                "type": "object when supplied"
              }
            ],
            "format": null,
            "maximum_outputs": null,
            "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
            "result": "Native JSON with public id/polling_url. After publication content.video_url contains Ailoot-owned signed URL(s); before publication selected output URLs are blanked."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON_REQUEST'\n{\"model\":\"doubao-seedance-1-0-pro-250528\",\"content\":[{\"type\":\"text\",\"text\":\"女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动\"}],\"resolution\":\"480p\",\"ratio\":\"1:1\",\"duration\":5,\"service_tier\":\"default\",\"seed\":-1,\"camerafixed\":false,\"watermark\":false,\"execution_expires_after\":172800}\nJSON_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 · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_POLL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\ni=r.get(\"id\")\nif not isinstance(i,str) or not i.startswith(\"native302_\"):raise SystemExit(\"Keep original response/headers/id; do not resubmit creation.\")\nu=urljoin(\"https://api.ailoot.ai\",r.get(\"polling_url\") or \"/v1/videos/\"+quote(i,safe=\"\"))\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/videos/\"):raise SystemExit(\"Use actual Ailoot lookup path.\")\nPath(\"poll-url.txt\").write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error \"$(cat poll-url.txt)\" -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\n",
            "label": "curl · read original task",
            "language": "bash"
          },
          {
            "code": "set -eu\npython3 - <<'PY_ASSETS'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nif r.get(\"status\")!=\"succeeded\":raise SystemExit(\"Poll same original job until an owned result is returned.\")\nu=r.get(\"content\",{}).get(\"video_url\")\nurls=[u] if isinstance(u,str) else u\nif not isinstance(urls,list) or not urls:raise SystemExit(\"No completed video URL.\")\nfor u in urls:\n    if not isinstance(u,str):raise SystemExit(\"Invalid returned URL.\")\n    p=urlsplit(u)\n    if p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/media/assets/\") or not p.path.endswith(\"/content\") or not p.query:raise SystemExit(\"Wait for actual Ailoot-owned signed result.\")\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_ASSETS\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" -o \"video-${index}.bin\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "curl · download owned video",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and retain returned public id/polling_url.",
          "Poll the original job; download actual owned content.video_url after succeeded."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "וידאו",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0044000",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_output_token",
            "label": "per 1,000 video tokens",
            "native_amount_usd_per_unit": "0.0000044",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_output_token"
          },
          {
            "amount": "0.2112",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2112",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "doubao-seedance-1-0-pro-250528",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "2f7553b1d6d74473383f65a580afb66ab659dfdbcb1a128cc3a08704299d7971",
    "input_html_sha256": "1f48446a8ff7d37d51580da591caabbee8565bbad2299b5c3ab5106c4fee75d4",
    "private_audit_sha256": "8fb2001a3d35714ebeea56556eed3178e1a26c5f6185e9ce5181109c96f73478",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/doubao-seedance-1-0-pro-250528/",
    "description": "Seedance 1.0 Pro יוצר וידאו ללא קול מטקסט או מתמונת פתיחה. תארו את הפעולה והמצלמה, או הנפישו קומפוזיציה קיימת, עם משך של 2–12 שניות, 24 fps ובקרות מפורשות למסגור ולרזולוציה של הפלט.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/doubao-seedance-1-0-pro-250528/index.md",
    "title": "ByteDance: Seedance 1.0 Pro — Ailoot",
    "url": "https://ailoot.ai/models/he/doubao-seedance-1-0-pro-250528/"
  },
  "rawModel": {
    "about": "Seedance 1.0 Pro יוצר וידאו מטקסט או מסצנה המונחית באמצעות תמונה. המזהה doubao-seedance-1-0-pro-250528 תומך בשני מצבי הקלט, ולכן נקודת ההתחלה יכולה להיות רעיון כתוב או קומפוזיציה חזותית קיימת. השתמשו בהנחיות טקסט ליצירת סצנה חדשה, או ספקו תמונה כשהנושא, הסידור ומבט הפתיחה צריכים להיקבע חזותית. פרופיל 1.0 הזה מפיק וידאו ללא קול; שמע מסונכרן שייך לפרופיל 1.5 Pro המתואר בנפרד.\n\nלטקסט לווידאו, הגדירו את נושא הצילום, הסביבה, התנועה, המסגור והמצלמה בסצנה אחת עקבית. הדוגמה המתועדת עוברת בהדרגה משדה חינניות למבט קרוב בפרח עם טל על עלי הכותרת. המבנה הזה מועיל גם לחשיפות אחרות: בססו את הסביבה, התקרבו לנושא וסיימו בפרט החשוב. לרעיון מוצר, תארו את החומר והתאורה לצד הפעולה, ותנו למצלמה מסלול שאפשר לבצע בשוט הקצר.\n\nלתמונה לווידאו, מקמו את תמונת הייחוס בפריט תוכן image_url והסבירו מה אמור להשתנות ממבט הפתיחה הזה. דיוקן שהוכן מראש יכול להגדיר את האדם והחיתוך, בעוד שההנחיות מתארות סיבוב קל, שיער נע או התרחקות עדינה של המצלמה. תמונת מוצר יכולה לבסס את האובייקט והרקע, בעוד שהפרומפט מבקש חשיפה מבוקרת. התאימו את התנועה המבוקשת לקומפוזיציית המקור; תמונה של צד אחד באובייקט אינה מספקת מבט מדויק שלא נראה על כל צד אחר.\n\nשדה התמונה מקבל כתובת URL נגישה או data URL המכיל נתוני תמונה ב-Base64. הפורמטים המתועדים הם JPEG, PNG, WEBP, BMP, TIFF ו-GIF. התמונות צריכות להיות קטנות מ-30 MB, עם יחס רוחב לגובה שנמצא ממש בין 0.4 ל-2.5 וכל ממד ממש בין 300 ל-6000 פיקסלים, בלי לכלול את ערכי הגבול. הכינו מקור ברור בחיתוך המיועד, במקום להסתמך על תמונה ממוזערת שפרטיה המזהים כבר חסרים. ליצירת תמונה לווידאו, המדריך ממליץ על מסגור adaptive כדי לעקוב אחר יחסי הממדים של תמונת הייחוס.\n\nהמשך המתועד של 1.0 הוא שתיים עד שתים עשרה שניות וקצב הפריימים הוא 24 fps. בקרות הפלט כוללות רמות 480p, 720p ו-1080p, כש-1080p היא ברירת המחדל של Pro; המדריך שולל 1080p בתרחיש תמונת הייחוס. הצורות הקבועות כוללות 16:9, 4:3, 1:1, 3:4, 9:16 ו-21:9. בחרו שילוב התואם לתמונה בשוט המובל על ידה, במקום להעביר ללא שינוי את כל הגדרות הטקסט לווידאו. בדקו את המסגור שהוחזר בפועל לפני הצבת הקליפ בפריסה.\n\nבקרות seed וסימן מים מתועדות לצד camerafixed. הוראת המצלמה הקבועה אינה נתמכת בתרחיש תמונת ייחוס, וגם במקום שבו היא חלה, המדריך אינו מבטיח מצלמה נייחת לחלוטין. הוראות פרמטרים המוטמעות בפרומפט גוברות על שדות אופציונליים נפרדים. שמרו הגדרה קובעת אחת למשך, לרזולוציה וליחס, והתאימו אליה את תיאור המצלמה. כך הנחיות הסצנה אינן דורסות בלי לשים לב את ההגדרות שנבחרו לבקשה.\n\nהשימוש נמדד בטוקני וידאו: רוחב הפלט × גובה הפלט × קצב הפריימים × משך הפלט / 1024. המשימה שהושלמה מדווחת על הכמות הזאת ב-usage.completion_tokens. שמרו את השימוש שדווח עם הקליפ המוגמר וההגדרות שהתבקשו עבורו.\n\nתהליך העבודה מחזיר תחילה מזהה משימה ולאחר העיבוד מיקום של וידאו שהושלם. שמרו את המזהה כשבודקים סטטוס המתנה בתור או ריצה; משימה שהצליחה מספקת content.video_url ומידע שימוש. תקופת השמירה המתועדת של הקבצים שנוצרו היא שבעה ימים. שמרו את הקליפ שהושלם, את תמונת המקור ואת הפרומפט המדויק כתיעוד לגרסה, ואז בדקו את מראה נושא הצילום, התנועה, הרציפות לתמונה והקומפוזיציה הסופית לאורך התוצאה כולה.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.2112",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2112",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "התמחור המלא של התצורה מופיע בפרטים."
      }
    ],
    "ctx": null,
    "display_name": "ByteDance: Seedance 1.0 Pro",
    "formats": [
      "videos"
    ],
    "id": "doubao-seedance-1-0-pro-250528",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "errors": [
              {
                "condition": "JSON/model, טיפוסים של שדות חובה או אינדקס תוכן לא תקפים.",
                "http_status": 400,
                "type": "invalid_request_error"
              },
              {
                "condition": "מפתח API לא תקף של Ailoot.",
                "http_status": 401,
                "type": "authentication_error"
              },
              {
                "condition": "המשימה או הפלט חסרים או אינם בבעלות אותו משתמש, מפתח API וקבוצה.",
                "http_status": 404,
                "type": "not_found_error"
              },
              {
                "condition": "השליחה או הסטטוס המקוריים אינם שלמים; יש לשמור את המזהה המקורי ולא לשלוח שוב.",
                "http_status": 502,
                "type": "result_pending_check"
              },
              {
                "condition": "המדיה, הנתיב או השלמת החיוב המקוריים נבדקים; יש להמשיך את הפעולה המקורית.",
                "http_status": 503,
                "type": "result_pending_check"
              }
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "completed_states": [
                "succeeded"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "content_pending": "Original status JSON until publication.",
              "content_ready": {
                "http_status": 303,
                "location": "actual signed Ailoot-owned asset URL"
              },
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [
                "failed",
                "expired"
              ],
              "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
              "mode": "submit_once_poll_original",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "pending_states": [
                "queued",
                "running"
              ],
              "signed_asset_lifetime_seconds": 86400,
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 200,
              "unknown": "יש לשמור את התגובה המקורית, הכותרות והמזהה ולבדוק במחזוריות את הפעולה הזו; אין לשלוח שוב בקשת יצירה שמצבה אינו ידוע.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              [
                "text"
              ],
              [
                "text",
                "image"
              ]
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video"
            ],
            "outputs": {
              "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
              "all_results": "יש לשמור כל כתובת URL ממשית ב־content.video_url; האינדקס חייב לזהות פלט ממשי שהוחזר.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string when supplied"
                },
                {
                  "description": null,
                  "name": "content.video_url",
                  "type": "string|string[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object when supplied"
                }
              ],
              "format": null,
              "maximum_outputs": null,
              "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
              "result": "JSON בפורמט המקורי עם id/polling_url ציבוריים. לאחר הפרסום, content.video_url מכיל כתובות URL חתומות בבעלות Ailoot; לפני הפרסום, כתובות ה־URL של הפלטים שנבחרו מרוקנות."
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "doubao-seedance-1-0-pro-250528"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "אובייקטי טקסט ומדיה בפורמט המקורי; המערך החיצוני חייב להיות לא ריק. הבנאי הכללי הזה של Ailoot אינו מאמת את הטיפוסים של הצמתים המקוננים.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "content",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "הסכמה הראשית של 1.x מציינת 2–12; תיאור משותף מאוחר יותר מציין עבור 1.5 את הטווח 4–12 או -1. הדוגמה משתמשת ב־5, המתועד בשניהם.",
                "default": 5,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 12,
                "minimum": 2,
                "name": "duration",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "הערכים המאושרים ליצירת וידאו מטקסט הם 480p ו־1080p. קלט של תמונת עזר אינו מאפשר 1080p. ערך ה־enum המשותף 720p סותר את התיאור הייחודי למודל, ולכן התמיכה ב־720p נותרת בלתי מוכרעת בשני המצבים.",
                "default": "1080p",
                "default_conditions": "1080p is the documented model default for text-to-video. Reference-image input excludes 1080p; its default is not established here.",
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "resolution",
                "required": false,
                "supported_values_by_mode": {
                  "image_to_video": {
                    "confirmed": [
                      "480p"
                    ],
                    "excluded": [
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  },
                  "text_to_video": {
                    "confirmed": [
                      "480p",
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  }
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "ברירות מחדל התלויות בסצנה ובמודל; התיעוד לקלט תמונה ממליץ על adaptive.",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "4:3",
                  "1:1",
                  "3:4",
                  "9:16",
                  "21:9",
                  "adaptive"
                ],
                "enum_known": true,
                "name": "ratio",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "default=online, flex=offline; יש לבחור לפני היצירה.",
                "default": "default",
                "default_known": true,
                "enum": [
                  "default",
                  "flex"
                ],
                "enum_known": true,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": -1,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 4294967295,
                "minimum": -1,
                "name": "seed",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "נדרש על ידי Ailoot; שליטה במצלמה על בסיס תמונת עזר מתועדת כלא נתמכת, והשפעתה אינה מובטחת.",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "camerafixed",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "watermark",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": 172800,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 259200,
                "minimum": 3600,
                "name": "execution_expires_after",
                "required": true,
                "type": "integer",
                "unit": "שניות"
              }
            ],
            "profile_binding": "Exact model ID and documented Ailoot video interface.",
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "camerafixed": {
                  "type": "boolean"
                },
                "content": {
                  "items": {
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "duration": {
                  "maximum": 12,
                  "minimum": 2,
                  "type": "integer"
                },
                "execution_expires_after": {
                  "maximum": 259200,
                  "minimum": 3600,
                  "type": "integer"
                },
                "model": {
                  "const": "doubao-seedance-1-0-pro-250528",
                  "type": "string"
                },
                "ratio": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16",
                    "21:9",
                    "adaptive"
                  ],
                  "type": "string"
                },
                "resolution": {
                  "description": "Use the explicit resolution supported_values_by_mode conditions: reference-image input excludes 1080p; 720p support is unresolved. No unconditional per-model enum is asserted.",
                  "type": "string"
                },
                "seed": {
                  "maximum": 4294967295,
                  "minimum": -1,
                  "type": "integer"
                },
                "service_tier": {
                  "enum": [
                    "default",
                    "flex"
                  ],
                  "type": "string"
                },
                "watermark": {
                  "type": "boolean"
                }
              },
              "required": [
                "camerafixed",
                "content",
                "execution_expires_after",
                "model",
                "seed",
                "watermark"
              ],
              "type": "object"
            },
            "source_ambiguities": [
              "Primary content.items.required says type+text even for its image example without text; preserve intended example branches and outer-array validation boundary.",
              "Pro/pro-fast inline-resolution and top-level enum differ; copyable example uses documented 480p."
            ],
            "unsupported": [
              "Separate cancel/delete for this generic method",
              "Separate edit/extension endpoint for this method"
            ]
          },
          "hints": [
            "יש ליצור פעם אחת ולשמור את id/polling_url הציבוריים שהוחזרו.",
            "יש לבדוק במחזוריות את המשימה המקורית; יש להוריד את content.video_url הממשי שבבעלותכם לאחר succeeded."
          ],
          "input": {
            "additional_properties": true,
            "content_type": "application/json",
            "image_constraints": {
              "aspect_ratio_exclusive": [
                0.4,
                2.5
              ],
              "dimensions_px_exclusive": [
                300,
                6000
              ],
              "file_size_mb_exclusive": 30,
              "formats": [
                "jpeg",
                "png",
                "webp",
                "bmp",
                "tiff",
                "gif"
              ],
              "mb_bytes_definition": null
            },
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "duration",
              "resolution",
              "ratio",
              "service_tier"
            ],
            "required": [
              "camerafixed",
              "content",
              "execution_expires_after",
              "model",
              "seed",
              "watermark"
            ],
            "validation_scope": "Ailoot בודקת את הטיפוסים של שדות החובה ושמערך model/content אינו ריק. יתר שדות הבקשה נשמרים עבור המודל שנבחר."
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "completed_states": [
              "succeeded"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "content_pending": "Original status JSON until publication.",
            "content_ready": {
              "http_status": 303,
              "location": "actual signed Ailoot-owned asset URL"
            },
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [
              "failed",
              "expired"
            ],
            "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
            "mode": "submit_once_poll_original",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "pending_states": [
              "queued",
              "running"
            ],
            "signed_asset_lifetime_seconds": 86400,
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 200,
            "unknown": "Preserve original response/headers/id and poll that operation; never resubmit unknown creation.",
            "unknown_no_replay": true
          },
          "manufacturer_capability": {
            "documented_material_types": [
              "text",
              "image"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "operation_modes": [
            "text_to_video",
            "image_to_video"
          ],
          "output": {
            "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
            "all_results": "Retain every actual URL in content.video_url; index must identify a real returned output.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "description": null,
                "name": "polling_url",
                "type": "string"
              },
              {
                "description": null,
                "name": "status",
                "type": "string when supplied"
              },
              {
                "description": null,
                "name": "content.video_url",
                "type": "string|string[]"
              },
              {
                "description": null,
                "name": "usage",
                "type": "object when supplied"
              }
            ],
            "format": null,
            "maximum_outputs": null,
            "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
            "result": "Native JSON with public id/polling_url. After publication content.video_url contains Ailoot-owned signed URL(s); before publication selected output URLs are blanked."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON_REQUEST'\n{\"model\":\"doubao-seedance-1-0-pro-250528\",\"content\":[{\"type\":\"text\",\"text\":\"女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动\"}],\"resolution\":\"480p\",\"ratio\":\"1:1\",\"duration\":5,\"service_tier\":\"default\",\"seed\":-1,\"camerafixed\":false,\"watermark\":false,\"execution_expires_after\":172800}\nJSON_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 · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_POLL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\ni=r.get(\"id\")\nif not isinstance(i,str) or not i.startswith(\"native302_\"):raise SystemExit(\"Keep original response/headers/id; do not resubmit creation.\")\nu=urljoin(\"https://api.ailoot.ai\",r.get(\"polling_url\") or \"/v1/videos/\"+quote(i,safe=\"\"))\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/videos/\"):raise SystemExit(\"Use actual Ailoot lookup path.\")\nPath(\"poll-url.txt\").write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error \"$(cat poll-url.txt)\" -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\n",
            "label": "curl · read original task",
            "language": "bash"
          },
          {
            "code": "set -eu\npython3 - <<'PY_ASSETS'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nif r.get(\"status\")!=\"succeeded\":raise SystemExit(\"Poll same original job until an owned result is returned.\")\nu=r.get(\"content\",{}).get(\"video_url\")\nurls=[u] if isinstance(u,str) else u\nif not isinstance(urls,list) or not urls:raise SystemExit(\"No completed video URL.\")\nfor u in urls:\n    if not isinstance(u,str):raise SystemExit(\"Invalid returned URL.\")\n    p=urlsplit(u)\n    if p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/media/assets/\") or not p.path.endswith(\"/content\") or not p.query:raise SystemExit(\"Wait for actual Ailoot-owned signed result.\")\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_ASSETS\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" -o \"video-${index}.bin\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "curl · download owned video",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and retain returned public id/polling_url.",
          "Poll the original job; download actual owned content.video_url after succeeded."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "וידאו",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0044000",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_output_token",
            "label": "per 1,000 video tokens",
            "native_amount_usd_per_unit": "0.0000044",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_output_token"
          },
          {
            "amount": "0.2112",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2112",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "doubao-seedance-1-0-pro-250528",
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance: Seedance 1.0 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.2112,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.2112,
      "varies": false
    },
    "short": "Seedance 1.0 Pro יוצר וידאו ללא קול מטקסט או מתמונת פתיחה. תארו את הפעולה והמצלמה, או הנפישו קומפוזיציה קיימת, עם משך של 2–12 שניות, 24 fps ובקרות מפורשות למסגור ולרזולוציה של הפלט."
  },
  "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": "Seedance 1.0 Pro יוצר וידאו ללא קול מטקסט או מתמונת פתיחה. תארו את הפעולה והמצלמה, או הנפישו קומפוזיציה קיימת, עם משך של 2–12 שניות, 24 fps ובקרות מפורשות למסגור ולרזולוציה של הפלט.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b6016d4a307120af0cb230e96191d90ceb71426a3e997759a0cdc4d749ddfd4a",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "f331f5040f5c87fe1be7790ce8b019cef40f217b5a71a1cf6f5e803822f8971e"
}
