{
  "aboutHtml": "<p>Kling v2.1 Master היא מהדורת וידאו של Kling עם יכולות יצירת וידאו מטקסט ומתמונה בקטלוג המודלים המתועד. בחרו בריף כתוב לסצנה כאשר אתם מפתחים רעיון חזותי מתוך טקסט, או בריף המבוסס על תמונה כאשר הנושא והקומפוזיציה כבר מוגדרים. בשני המקרים, הגדירו את האירוע שהשוט המוגמר צריך להראות.</p><p>ביצירה המבוססת על טקסט, תארו את הנושא, הסביבה והפעולה בסדר ברור. רקדן החוצה סטודיו, רכב הנוסע מתחת לעצים או חפץ זכוכית הקולט אור משתנה מעניקים לרצף מטרה מסוימת. כללו את הפרטים שקובעים את מראה הסצנה ושמרו על עקביותם לאורך הבריף.</p><p>ביצירה המבוססת על תמונה, הכינו תמונת ייחוס שמציגה את המאפיינים שהשוט צריך לשמר. הקפידו שפנים, קצוות אובייקטים וחומרים ייחודיים יהיו גלויים. תארו מה משתנה מהמראה הראשוני הזה: מחוות הנושא, תנועה בסביבה או מיקום המצלמה. השאירו את תמונת המקור זמינה בעת בחינת התוצאה.</p><p>תכננו את הפעולה סביב הסיום שלה. אדם המניח אובייקט צריך לסיים כשהאובייקט נמצא במקום שניתן לזהות; חשיפה צריכה להסתיים כשהמאפיין החשוב גלוי. כך קל יותר לבחור נקודת חיתוך בעריכה ולהעריך אם התנועה מילאה את תפקידה.</p><p>רשומת המודל המתועדת כוללת משכי זמן של חמש ועשר שניות, מצבי std ו-pro, וצורות פריים אופקיות, אנכיות וריבועיות. בחרו את הבקרים הזמינים בתהליך שנבחר ושמרו את הערכים ששימשו בפועל. העריכו את הקליפ שנוצר מול הפעולה והמסגור הרצויים, ולא לפי שם המהדורה של המודל.</p><p>תארו בנפרד את תנועת הנושא ואת תנועת המצלמה. בשוט מעקב, ציינו אחרי איזה נושא המצלמה עוקבת ואילו חלקים מהסביבה צריכים לחלוף בפריים. בשוט נייח, ציינו את התנועה שמתרחשת בתוכו. קשרו את הנחיות המצלמה למה שהצופה צריך לשים לב אליו.</p><p>בחנו את הרצף כולו מבחינת רציפות. בדקו שהנושא החשוב נשאר מזוהה, שהאינטראקציות עקביות מבחינה מרחבית ושהתזמון משאיר מקום לחיתוך המתוכנן. עקבו אחר שינויים בידיים, בפנים, בפרטי משטחים ובאובייקטים החופפים זה לזה. העריכו את התנועה לצד הפריים הבודד המוצלח ביותר.</p><p>שמרו כל סרטון מוגמר עם ההנחיה, תמונת הייחוס וההגדרות שלו. השתמשו באותו בריף כשאתם משווים סצנה בין מהדורות, ותעדו את ההבדלים החזותיים בפועל. בעת תיקון גרסה, תארו את הבעיה שנצפתה ועדכנו את ההוראה הקשורה אליה, תוך שמירה על רכיבי הסצנה השימושיים.</p>",
  "aboutText": "Kling v2.1 Master היא מהדורת וידאו של Kling עם יכולות יצירת וידאו מטקסט ומתמונה בקטלוג המודלים המתועד. בחרו בריף כתוב לסצנה כאשר אתם מפתחים רעיון חזותי מתוך טקסט, או בריף המבוסס על תמונה כאשר הנושא והקומפוזיציה כבר מוגדרים. בשני המקרים, הגדירו את האירוע שהשוט המוגמר צריך להראות.\n\nביצירה המבוססת על טקסט, תארו את הנושא, הסביבה והפעולה בסדר ברור. רקדן החוצה סטודיו, רכב הנוסע מתחת לעצים או חפץ זכוכית הקולט אור משתנה מעניקים לרצף מטרה מסוימת. כללו את הפרטים שקובעים את מראה הסצנה ושמרו על עקביותם לאורך הבריף.\n\nביצירה המבוססת על תמונה, הכינו תמונת ייחוס שמציגה את המאפיינים שהשוט צריך לשמר. הקפידו שפנים, קצוות אובייקטים וחומרים ייחודיים יהיו גלויים. תארו מה משתנה מהמראה הראשוני הזה: מחוות הנושא, תנועה בסביבה או מיקום המצלמה. השאירו את תמונת המקור זמינה בעת בחינת התוצאה.\n\nתכננו את הפעולה סביב הסיום שלה. אדם המניח אובייקט צריך לסיים כשהאובייקט נמצא במקום שניתן לזהות; חשיפה צריכה להסתיים כשהמאפיין החשוב גלוי. כך קל יותר לבחור נקודת חיתוך בעריכה ולהעריך אם התנועה מילאה את תפקידה.\n\nרשומת המודל המתועדת כוללת משכי זמן של חמש ועשר שניות, מצבי std ו-pro, וצורות פריים אופקיות, אנכיות וריבועיות. בחרו את הבקרים הזמינים בתהליך שנבחר ושמרו את הערכים ששימשו בפועל. העריכו את הקליפ שנוצר מול הפעולה והמסגור הרצויים, ולא לפי שם המהדורה של המודל.\n\nתארו בנפרד את תנועת הנושא ואת תנועת המצלמה. בשוט מעקב, ציינו אחרי איזה נושא המצלמה עוקבת ואילו חלקים מהסביבה צריכים לחלוף בפריים. בשוט נייח, ציינו את התנועה שמתרחשת בתוכו. קשרו את הנחיות המצלמה למה שהצופה צריך לשים לב אליו.\n\nבחנו את הרצף כולו מבחינת רציפות. בדקו שהנושא החשוב נשאר מזוהה, שהאינטראקציות עקביות מבחינה מרחבית ושהתזמון משאיר מקום לחיתוך המתוכנן. עקבו אחר שינויים בידיים, בפנים, בפרטי משטחים ובאובייקטים החופפים זה לזה. העריכו את התנועה לצד הפריים הבודד המוצלח ביותר.\n\nשמרו כל סרטון מוגמר עם ההנחיה, תמונת הייחוס וההגדרות שלו. השתמשו באותו בריף כשאתם משווים סצנה בין מהדורות, ותעדו את ההבדלים החזותיים בפועל. בעת תיקון גרסה, תארו את הבעיה שנצפתה ועדכנו את ההוראה הקשורה אליה, תוך שמירה על רכיבי הסצנה השימושיים.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2bffa249313b9f5be2dbb0f09e224d7330bc371117720b80aedf2e9354bc8cb7",
    "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\">Kling v2.1 Master</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"סגירה\">×</button></div><div class=\"idline\"><span>Kling /</span><code>kling-v2-1-master</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|kling-v2-1-master\">וידאו</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\">Kling v2.1 Master יוצר וידאו מטקסט או מבריף המבוסס על תמונה. השתמשו בו לאירוע חזותי מוגדר, כשהנושא, הפעולה, הנחיות המצלמה והסיום מתוכננים יחד כשוט קצר ועקבי.</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>Kling v2.1 Master היא מהדורת וידאו של Kling עם יכולות יצירת וידאו מטקסט ומתמונה בקטלוג המודלים המתועד. בחרו בריף כתוב לסצנה כאשר אתם מפתחים רעיון חזותי מתוך טקסט, או בריף המבוסס על תמונה כאשר הנושא והקומפוזיציה כבר מוגדרים. בשני המקרים, הגדירו את האירוע שהשוט המוגמר צריך להראות.</p><p>ביצירה המבוססת על טקסט, תארו את הנושא, הסביבה והפעולה בסדר ברור. רקדן החוצה סטודיו, רכב הנוסע מתחת לעצים או חפץ זכוכית הקולט אור משתנה מעניקים לרצף מטרה מסוימת. כללו את הפרטים שקובעים את מראה הסצנה ושמרו על עקביותם לאורך הבריף.</p><p>ביצירה המבוססת על תמונה, הכינו תמונת ייחוס שמציגה את המאפיינים שהשוט צריך לשמר. הקפידו שפנים, קצוות אובייקטים וחומרים ייחודיים יהיו גלויים. תארו מה משתנה מהמראה הראשוני הזה: מחוות הנושא, תנועה בסביבה או מיקום המצלמה. השאירו את תמונת המקור זמינה בעת בחינת התוצאה.</p><p>תכננו את הפעולה סביב הסיום שלה. אדם המניח אובייקט צריך לסיים כשהאובייקט נמצא במקום שניתן לזהות; חשיפה צריכה להסתיים כשהמאפיין החשוב גלוי. כך קל יותר לבחור נקודת חיתוך בעריכה ולהעריך אם התנועה מילאה את תפקידה.</p><p>רשומת המודל המתועדת כוללת משכי זמן של חמש ועשר שניות, מצבי std ו-pro, וצורות פריים אופקיות, אנכיות וריבועיות. בחרו את הבקרים הזמינים בתהליך שנבחר ושמרו את הערכים ששימשו בפועל. העריכו את הקליפ שנוצר מול הפעולה והמסגור הרצויים, ולא לפי שם המהדורה של המודל.</p><p>תארו בנפרד את תנועת הנושא ואת תנועת המצלמה. בשוט מעקב, ציינו אחרי איזה נושא המצלמה עוקבת ואילו חלקים מהסביבה צריכים לחלוף בפריים. בשוט נייח, ציינו את התנועה שמתרחשת בתוכו. קשרו את הנחיות המצלמה למה שהצופה צריך לשים לב אליו.</p><p>בחנו את הרצף כולו מבחינת רציפות. בדקו שהנושא החשוב נשאר מזוהה, שהאינטראקציות עקביות מבחינה מרחבית ושהתזמון משאיר מקום לחיתוך המתוכנן. עקבו אחר שינויים בידיים, בפנים, בפרטי משטחים ובאובייקטים החופפים זה לזה. העריכו את התנועה לצד הפריים הבודד המוצלח ביותר.</p><p>שמרו כל סרטון מוגמר עם ההנחיה, תמונת הייחוס וההגדרות שלו. השתמשו באותו בריף כשאתם משווים סצנה בין מהדורות, ותעדו את ההבדלים החזותיים בפועל. בעת תיקון גרסה, תארו את הבעיה שנצפתה ועדכנו את ההוראה הקשורה אליה, תוך שמירה על רכיבי הסצנה השימושיים.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">זמין ב-Ailoot · קלט ושיטות</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>סוגי קלט</dt><dd><code>text</code></dd></div><div><dt>סוגי פלט</dt><dd><code>video</code></dd></div></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><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>kling-v2-1-master</div><div>תנאים: השתמשו בבורר הניתוב הזה של Ailoot בדיוק כפי שהוא.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>חובה</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מרבי: ⁦500⁩</div><div>תנאים: </div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">mode</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>std, pro</div><div>תנאים: </div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">model_name</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>תנאים: דריסה אופציונלית של הערך המקורי. השמיטו אותה כדי להשתמש אוטומטית במודל שנבחר; ערך שצוין במפורש נשמר.</div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">cfg_scale</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>number</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>מינימום: ⁦0⁩</div><div>מקסימום: ⁦1⁩</div><div>תנאים: </div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>תנאים: </div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">negative_prompt</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span><code>string</code></td><td data-cell-label=\"דרישה\"><span class=\"card-cell-label\">דרישה</span>רשות</td><td data-cell-label=\"ערכים ומגבלות\"><span class=\"card-cell-label\">ערכים ומגבלות</span><div>אורך מרבי: ⁦200⁩</div><div>תנאים: </div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">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>⁦5⁩, ⁦10⁩</div><div>תנאים: </div></td><td data-cell-label=\"ברירת מחדל\" data-default=\"unspecified\"><span class=\"card-cell-label\">ברירת מחדל</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>פרמטרים ומחזור חיים של השיטה</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>פרמטר</th><th>מפרט</th></tr></thead><tbody><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>content_type</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>application/json</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>required</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>model, prompt, mode</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>model_name, cfg_scale, aspect_ratio, negative_prompt, duration</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>material_types</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>text</td></tr><tr><th data-cell-label=\"פרמטר\" scope=\"row\"><span class=\"card-cell-label\">פרמטר</span><code>conditions</code></th><td data-cell-label=\"מפרט\"><span class=\"card-cell-label\">מפרט</span>השתמשו בבורר הניתוב הזה של Ailoot בדיוק כפי שהוא., דריסה אופציונלית של הערך המקורי. השמיטו אותה כדי להשתמש אוטומטית במודל שנבחר; ערך שצוין במפורש נשמר.</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/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">תעריפים</h3><div class=\"card-result-process\" data-billing-basis><h5>אופן חישוב החיוב הסופי</h5><p class=\"note-s\">התעריפים המוצגים מספקים אומדן לעלות לפני היצירה. החיוב הסופי מחושב לפי העלות שנרשמה עבור היצירה המקורית. משך הפלט שנמדד והכמויות החזויות אינם הכמות הסופית לחיוב.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.</p><dl data-price-conditions><dt>מצב מהיר</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב מהיר</span></dd><dt>מצב Flex</dt><dd>לא צוין <span class=\"note-s\">כאשר נבחר מצב flex</span></dd><dt>מאמץ חשיבה מרבי</dt><dd>לא צוין <span class=\"note-s\">כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>תעריפים משוערים להשוואה</h4><h4>מחירים לפי תצורה</h4><p class=\"note-s\">התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>תצורה</th><th>טבלת תעריפים</th><th>כמות חזויה</th><th>חיוב</th></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><div><span>קלט · טוקני קלט · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>פלט · טוקני פלט · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · קריאה מהמטמון · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div><div><span>קלט · כתיבה למטמון, 1 שעה · אומדן להשוואה בלבד</span> <b>—</b> <span class=\"price-unit\">/ 1K טוקנים</span></div></td></tr><tr><th data-cell-label=\"תצורה\" scope=\"row\"><span class=\"card-cell-label\">תצורה</span>עלות יצירה משוערת</th><td data-cell-label=\"טבלת תעריפים\"><span class=\"card-cell-label\">טבלת תעריפים</span>—</td><td data-cell-label=\"כמות חזויה\"><span class=\"card-cell-label\">כמות חזויה</span>אומדן ליצירה אחת</td><td data-cell-label=\"חיוב\"><span class=\"card-cell-label\">חיוב</span><div><span>פלט · עלות יצירה משוערת · אומדן להשוואה בלבד</span> <b>$6</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 · Video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"אפשרויות קוד\"><button class=\"cg-tab\" id=\"model-code-2807-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2807-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · צרו פעם אחת ושמרו את התוצאה המלאה</button><button class=\"cg-tab\" id=\"model-code-2807-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2807-panel-1\" aria-selected=\"false\" tabindex=\"-1\">קראו את המשימה המקורית</button><button class=\"cg-tab\" id=\"model-code-2807-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2807-panel-2\" aria-selected=\"false\" tabindex=\"-1\">שמרו כל נכס שהושלם ונמצא בבעלותכם</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-2807-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2807-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;kling-v2-1-master&quot;, &quot;prompt&quot;: &quot;A happy holiday scene at the beach.&quot;, &quot;mode&quot;: &quot;pro&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2807-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2807-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_STATUS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nu=urljoin(&quot;https://api.ailoot.ai&quot;,r[&quot;polling_url&quot;])\np=urlsplit(u)\nif p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or p.username or p.password:\n    raise SystemExit(&quot;Unexpected returned polling URL; preserve the response&quot;)\nsubprocess.run([&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,u,&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;],&quot;-D&quot;,&quot;status-headers.txt&quot;,&quot;-o&quot;,&quot;status.json&quot;],check=True)\n# Read this same original polling_url again while pending.\n# Preserve unknown/result_pending_check; do not repeat creation.\nPY_STATUS\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2807-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2807-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nroles={}\ndef visit(v,path=&quot;&quot;):\n    if isinstance(v,dict):\n        for k,x in v.items(): visit(x,path+&quot;/&quot;+k)\n    elif isinstance(v,list):\n        for i,x in enumerate(v): visit(x,path+&quot;/&quot;+str(i))\n    elif isinstance(v,str):\n        u=urljoin(&quot;https://api.ailoot.ai&quot;,v); p=urlsplit(u)\n        if p.scheme==&quot;https&quot; and p.netloc==&quot;api.ailoot.ai&quot; and not p.username and not p.password and p.path.startswith(&quot;/v1/media/assets/&quot;) and p.path.endswith(&quot;/content&quot;):\n            roles.setdefault(u,[]).append(path)\nvisit(r)\nif not roles: raise SystemExit(&quot;No completed owned assets; retain the original status&quot;)\nmanifest=[]\nfor i,(u,paths) in enumerate(roles.items()):\n    target=Path(f&quot;asset-{i}.bin&quot;)\n    subprocess.run([&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,u,&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;],&quot;-o&quot;,str(target)],check=True)\n    raw=target.read_bytes()\n    if not raw: raise SystemExit(&quot;Empty asset; retain original status and metadata&quot;)\n    ext=&quot;glb&quot; if raw[:4]==b&quot;glTF&quot; else &quot;png&quot; if raw[:8]==b&quot;\\x89PNG\\r\\n\\x1a\\n&quot; else &quot;jpg&quot; if raw[:3]==b&quot;\\xff\\xd8\\xff&quot; else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;mp4&quot; if raw[4:8]==b&quot;ftyp&quot; else &quot;bin&quot;\n    name=f&quot;asset-{i}.{ext}&quot;\n    if target.name!=name: target.rename(name)\n    manifest.append({&quot;file&quot;:name,&quot;response_paths&quot;:paths,&quot;bytes&quot;:len(raw)})\nPath(&quot;asset-manifest.json&quot;).write_text(json.dumps(manifest,indent=2))\nprint(&quot;Saved&quot;,len(manifest),&quot;unique owned assets; every response role retained&quot;)\nPY_ASSETS\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">קבלה ושמירה של תוצאות</h3><h4>Ailoot Ultra · Video</h4><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/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>שמירת כל התוצאות שהושלמו</h5><p class=\"note-s\">שמרו כל וידאו שהושלם או קובץ שהוחזר; אחזרו כל נכס מכל URL שהוחזר בפועל.</p><p class=\"note-s\">יש לשמור את התגובה המלאה ואת הכותרות, המזהים המקוריים, כל פלט ממשי ואת כל שדות השימוש והחיוב. יש לשמור כל נכס ייחודי שבבעלותכם ואת כל התפקידים המפנים אליו.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>כשצריך לבדוק את התגובה המקורית</h5><p class=\"note-s\">יש לשמור את מזהה המשימה הציבורי או מזהה הפעולה שהוחזרו ואת כל הכותרות. יש לקרוא רק את המשימה המקורית; unknown או result_pending_check אינם מתירים יצירה נוספת.</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\">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\">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\">data.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\">data.task_status</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr><tr><th data-cell-label=\"שדה\" scope=\"row\"><span class=\"card-cell-label\">שדה</span><code class=\"card-field-name\">data.task_result.videos[].url</code></th><td data-cell-label=\"סוג\" data-field-type><span class=\"card-cell-label\">סוג</span>string</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>שגיאות והשלבים הבאים</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>תגובה</th><th>תנאי</th><th>השלב הבא</th></tr></thead><tbody><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"תנאי\"><span class=\"card-cell-label\">תנאי</span>שדה חובה, בורר המודל, סוג או ייצוג הקלט אינם תקינים.</td><td data-cell-label=\"השלב הבא\"><span class=\"card-cell-label\">השלב הבא</span>בדקו את פרטי האימות שהוחזרו לפני הכנת בקשה נפרדת.</td></tr><tr><th data-cell-label=\"תגובה\" scope=\"row\"><span class=\"card-cell-label\">תגובה</span><code></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=kling-v2-1-master&amp;route=Ultra&amp;caller=kling-v2-1-master&amp;fmt=videos\"><code>kling-v2-1-master</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=kling-v2-1-master&amp;route=Ultra&amp;caller=kling-v2-1-master&amp;fmt=videos\"><code>kling-v2-1-master</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "kling-v2-1-master",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "kling-v2-1-master",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|kling-v2-1-master",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "שדה חובה, בורר המודל, סוג או ייצוג הקלט אינם תקינים.",
                "http_status": 400,
                "recovery": "בדקו את פרטי האימות שהוחזרו לפני הכנת בקשה נפרדת.",
                "type": "invalid_request_error"
              },
              {
                "condition": "הבקשה המקורית או התוצאה אינן ידועות או דורשות בדיקה.",
                "http_status": null,
                "recovery": "שמרו את המזהים והכותרות המקוריים; קראו רק רשומות נתמכות של מצב או ספרייה. אל תשלחו שוב בקשת יצירה.",
                "type": null
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "completed_states": [
                "succeed"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [],
              "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
              "mode": "submit_once_poll_original",
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "pending_states": [
                "submitted"
              ],
              "state_field": "data.task_status",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "unknown": "יש לשמור את מזהה המשימה הציבורי או מזהה הפעולה שהוחזרו ואת כל הכותרות. יש לקרוא רק את המשימה המקורית; unknown או result_pending_check אינם מתירים יצירה נוספת.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "יש לשמור את התגובה המלאה ואת הכותרות, המזהים המקוריים, כל פלט ממשי ואת כל שדות השימוש והחיוב. יש לשמור כל נכס ייחודי שבבעלותכם ואת כל התפקידים המפנים אליו.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "name": "id",
                  "type": "string"
                },
                {
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "name": "data.task_id",
                  "type": "string"
                },
                {
                  "name": "data.task_status",
                  "type": "string"
                },
                {
                  "name": "data.task_result.videos[].url",
                  "type": "string"
                }
              ],
              "maximum_outputs": null
            },
            "parameters": [
              {
                "conditions": "השתמשו בבורר הניתוב הזה של Ailoot בדיוק כפי שהוא.",
                "default_known": false,
                "enum": [
                  "kling-v2-1-master"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maxLength": 500,
                "maximum_length": 500,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "std",
                  "pro"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "mode",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "דריסה אופציונלית של הערך המקורי. השמיטו אותה כדי להשתמש אוטומטית במודל שנבחר; ערך שצוין במפורש נשמר.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "model_name",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum": 1,
                "maximum_length": null,
                "minimum": 0,
                "name": "cfg_scale",
                "required": false,
                "type": "number"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maxLength": 200,
                "maximum_length": 200,
                "name": "negative_prompt",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  5,
                  10
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "duration",
                "required": false,
                "type": "integer"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "type": "string"
                },
                "cfg_scale": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "duration": {
                  "enum": [
                    5,
                    10
                  ],
                  "type": "integer"
                },
                "mode": {
                  "enum": [
                    "std",
                    "pro"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "kling-v2-1-master"
                  ],
                  "type": "string"
                },
                "model_name": {
                  "type": "string"
                },
                "negative_prompt": {
                  "maxLength": 200,
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 500,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "mode"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "mode": "pro",
                "model": "kling-v2-1-master",
                "prompt": "A happy holiday scene at the beach."
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "השתמשו בבורר הניתוב הזה של Ailoot בדיוק כפי שהוא.",
              "דריסה אופציונלית של הערך המקורי. השמיטו אותה כדי להשתמש אוטומטית במודל שנבחר; ערך שצוין במפורש נשמר."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "model_name",
              "cfg_scale",
              "aspect_ratio",
              "negative_prompt",
              "duration"
            ],
            "required": [
              "model",
              "prompt",
              "mode"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "completed_states": [
              "succeed"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [],
            "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
            "mode": "submit_once_poll_original",
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "pending_states": [
              "submitted"
            ],
            "state_field": "data.task_status",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "unknown": "Keep the returned public task or operation id and all headers. Read only the original task; unknown or result_pending_check does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "name": "id",
                "type": "string"
              },
              {
                "name": "polling_url",
                "type": "string"
              },
              {
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "name": "data.task_id",
                "type": "string"
              },
              {
                "name": "data.task_status",
                "type": "string"
              },
              {
                "name": "data.task_result.videos[].url",
                "type": "string"
              }
            ],
            "maximum_outputs": null
          }
        },
        "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"
              }
            ]
          },
          {
            "basis": "אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "6",
                "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": "6",
                "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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"kling-v2-1-master\", \"prompt\": \"A happy holiday scene at the beach.\", \"mode\": \"pro\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_STATUS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\nu=urljoin(\"https://api.ailoot.ai\",r[\"polling_url\"])\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or p.username or p.password:\n    raise SystemExit(\"Unexpected returned polling URL; preserve the response\")\nsubprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-D\",\"status-headers.txt\",\"-o\",\"status.json\"],check=True)\n# Read this same original polling_url again while pending.\n# Preserve unknown/result_pending_check; do not repeat creation.\nPY_STATUS\n",
            "label": "Read the original task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nroles={}\ndef visit(v,path=\"\"):\n    if isinstance(v,dict):\n        for k,x in v.items(): visit(x,path+\"/\"+k)\n    elif isinstance(v,list):\n        for i,x in enumerate(v): visit(x,path+\"/\"+str(i))\n    elif isinstance(v,str):\n        u=urljoin(\"https://api.ailoot.ai\",v); p=urlsplit(u)\n        if p.scheme==\"https\" and p.netloc==\"api.ailoot.ai\" and not p.username and not p.password and p.path.startswith(\"/v1/media/assets/\") and p.path.endswith(\"/content\"):\n            roles.setdefault(u,[]).append(path)\nvisit(r)\nif not roles: raise SystemExit(\"No completed owned assets; retain the original status\")\nmanifest=[]\nfor i,(u,paths) in enumerate(roles.items()):\n    target=Path(f\"asset-{i}.bin\")\n    subprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-o\",str(target)],check=True)\n    raw=target.read_bytes()\n    if not raw: raise SystemExit(\"Empty asset; retain original status and metadata\")\n    ext=\"glb\" if raw[:4]==b\"glTF\" else \"png\" if raw[:8]==b\"\\x89PNG\\r\\n\\x1a\\n\" else \"jpg\" if raw[:3]==b\"\\xff\\xd8\\xff\" else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"mp4\" if raw[4:8]==b\"ftyp\" else \"bin\"\n    name=f\"asset-{i}.{ext}\"\n    if target.name!=name: target.rename(name)\n    manifest.append({\"file\":name,\"response_paths\":paths,\"bytes\":len(raw)})\nPath(\"asset-manifest.json\").write_text(json.dumps(manifest,indent=2))\nprint(\"Saved\",len(manifest),\"unique owned assets; every response role retained\")\nPY_ASSETS\n",
            "label": "Save every completed owned asset",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Video",
        "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"
              }
            ]
          },
          {
            "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": "6",
                "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": "6",
                "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": "kling-v2-1-master",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}"
        ],
        "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": "6",
            "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": "6",
            "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": "kling-v2-1-master",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "61910064ed6cd39d5bc69328c42386c6c4b53e5aa7812307ef46b4f1940eff90",
    "input_html_sha256": "0283fc2c97b4b2b0931f8192658617908d98bbddc4df796e93c7e19b21440db1",
    "private_audit_sha256": "0242e0c97fc41f4bd532dea82f147d9a68499c63f3204c7989eded204d161f1f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/he/kling-v2-1-master/",
    "description": "Kling v2.1 Master יוצר וידאו מטקסט או מבריף המבוסס על תמונה. השתמשו בו לאירוע חזותי מוגדר, כשהנושא, הפעולה, הנחיות המצלמה והסיום מתוכננים יחד כשוט קצר ועקבי.",
    "locale": "he",
    "md_url": "https://ailoot.ai/models/he/kling-v2-1-master/index.md",
    "title": "Kling v2.1 Master — Ailoot",
    "url": "https://ailoot.ai/models/he/kling-v2-1-master/"
  },
  "rawModel": {
    "about": "Kling v2.1 Master היא מהדורת וידאו של Kling עם יכולות יצירת וידאו מטקסט ומתמונה בקטלוג המודלים המתועד. בחרו בריף כתוב לסצנה כאשר אתם מפתחים רעיון חזותי מתוך טקסט, או בריף המבוסס על תמונה כאשר הנושא והקומפוזיציה כבר מוגדרים. בשני המקרים, הגדירו את האירוע שהשוט המוגמר צריך להראות.\n\nביצירה המבוססת על טקסט, תארו את הנושא, הסביבה והפעולה בסדר ברור. רקדן החוצה סטודיו, רכב הנוסע מתחת לעצים או חפץ זכוכית הקולט אור משתנה מעניקים לרצף מטרה מסוימת. כללו את הפרטים שקובעים את מראה הסצנה ושמרו על עקביותם לאורך הבריף.\n\nביצירה המבוססת על תמונה, הכינו תמונת ייחוס שמציגה את המאפיינים שהשוט צריך לשמר. הקפידו שפנים, קצוות אובייקטים וחומרים ייחודיים יהיו גלויים. תארו מה משתנה מהמראה הראשוני הזה: מחוות הנושא, תנועה בסביבה או מיקום המצלמה. השאירו את תמונת המקור זמינה בעת בחינת התוצאה.\n\nתכננו את הפעולה סביב הסיום שלה. אדם המניח אובייקט צריך לסיים כשהאובייקט נמצא במקום שניתן לזהות; חשיפה צריכה להסתיים כשהמאפיין החשוב גלוי. כך קל יותר לבחור נקודת חיתוך בעריכה ולהעריך אם התנועה מילאה את תפקידה.\n\nרשומת המודל המתועדת כוללת משכי זמן של חמש ועשר שניות, מצבי std ו-pro, וצורות פריים אופקיות, אנכיות וריבועיות. בחרו את הבקרים הזמינים בתהליך שנבחר ושמרו את הערכים ששימשו בפועל. העריכו את הקליפ שנוצר מול הפעולה והמסגור הרצויים, ולא לפי שם המהדורה של המודל.\n\nתארו בנפרד את תנועת הנושא ואת תנועת המצלמה. בשוט מעקב, ציינו אחרי איזה נושא המצלמה עוקבת ואילו חלקים מהסביבה צריכים לחלוף בפריים. בשוט נייח, ציינו את התנועה שמתרחשת בתוכו. קשרו את הנחיות המצלמה למה שהצופה צריך לשים לב אליו.\n\nבחנו את הרצף כולו מבחינת רציפות. בדקו שהנושא החשוב נשאר מזוהה, שהאינטראקציות עקביות מבחינה מרחבית ושהתזמון משאיר מקום לחיתוך המתוכנן. עקבו אחר שינויים בידיים, בפנים, בפרטי משטחים ובאובייקטים החופפים זה לזה. העריכו את התנועה לצד הפריים הבודד המוצלח ביותר.\n\nשמרו כל סרטון מוגמר עם ההנחיה, תמונת הייחוס וההגדרות שלו. השתמשו באותו בריף כשאתם משווים סצנה בין מהדורות, ותעדו את ההבדלים החזותיים בפועל. בעת תיקון גרסה, תארו את הבעיה שנצפתה ועדכנו את ההוראה הקשורה אליה, תוך שמירה על רכיבי הסצנה השימושיים.",
    "about_sha256": "c5b60dc346e66ca26795446abacdedb68d28b27005a69b5f9c8f395c760374b5",
    "alias_of": null,
    "aliases": [],
    "author": "Kling",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "6",
            "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": "6",
            "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": "Kling v2.1 Master",
    "formats": [
      "videos"
    ],
    "id": "kling-v2-1-master",
    "input": [
      "text"
    ],
    "kind": "video",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "שדה חובה, בורר המודל, סוג או ייצוג הקלט אינם תקינים.",
                "http_status": 400,
                "recovery": "בדקו את פרטי האימות שהוחזרו לפני הכנת בקשה נפרדת.",
                "type": "invalid_request_error"
              },
              {
                "condition": "הבקשה המקורית או התוצאה אינן ידועות או דורשות בדיקה.",
                "http_status": null,
                "recovery": "שמרו את המזהים והכותרות המקוריים; קראו רק רשומות נתמכות של מצב או ספרייה. אל תשלחו שוב בקשת יצירה.",
                "type": null
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "completed_states": [
                "succeed"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [],
              "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
              "mode": "submit_once_poll_original",
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "pending_states": [
                "submitted"
              ],
              "state_field": "data.task_status",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "unknown": "יש לשמור את מזהה המשימה הציבורי או מזהה הפעולה שהוחזרו ואת כל הכותרות. יש לקרוא רק את המשימה המקורית; unknown או result_pending_check אינם מתירים יצירה נוספת.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "יש לשמור את התגובה המלאה ואת הכותרות, המזהים המקוריים, כל פלט ממשי ואת כל שדות השימוש והחיוב. יש לשמור כל נכס ייחודי שבבעלותכם ואת כל התפקידים המפנים אליו.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "name": "id",
                  "type": "string"
                },
                {
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "name": "data.task_id",
                  "type": "string"
                },
                {
                  "name": "data.task_status",
                  "type": "string"
                },
                {
                  "name": "data.task_result.videos[].url",
                  "type": "string"
                }
              ],
              "maximum_outputs": null
            },
            "parameters": [
              {
                "conditions": "השתמשו בבורר הניתוב הזה של Ailoot בדיוק כפי שהוא.",
                "default_known": false,
                "enum": [
                  "kling-v2-1-master"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maxLength": 500,
                "maximum_length": 500,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "std",
                  "pro"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "mode",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "דריסה אופציונלית של הערך המקורי. השמיטו אותה כדי להשתמש אוטומטית במודל שנבחר; ערך שצוין במפורש נשמר.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "model_name",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum": 1,
                "maximum_length": null,
                "minimum": 0,
                "name": "cfg_scale",
                "required": false,
                "type": "number"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maxLength": 200,
                "maximum_length": 200,
                "name": "negative_prompt",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  5,
                  10
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "duration",
                "required": false,
                "type": "integer"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "type": "string"
                },
                "cfg_scale": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "duration": {
                  "enum": [
                    5,
                    10
                  ],
                  "type": "integer"
                },
                "mode": {
                  "enum": [
                    "std",
                    "pro"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "kling-v2-1-master"
                  ],
                  "type": "string"
                },
                "model_name": {
                  "type": "string"
                },
                "negative_prompt": {
                  "maxLength": 200,
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 500,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "mode"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "mode": "pro",
                "model": "kling-v2-1-master",
                "prompt": "A happy holiday scene at the beach."
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "השתמשו בבורר הניתוב הזה של Ailoot בדיוק כפי שהוא.",
              "דריסה אופציונלית של הערך המקורי. השמיטו אותה כדי להשתמש אוטומטית במודל שנבחר; ערך שצוין במפורש נשמר."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "model_name",
              "cfg_scale",
              "aspect_ratio",
              "negative_prompt",
              "duration"
            ],
            "required": [
              "model",
              "prompt",
              "mode"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "completed_states": [
              "succeed"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [],
            "id_source": "Use returned polling_url and id. Keep provider_task_id and X-Ailoot-Task-Id as separate original identifiers.",
            "mode": "submit_once_poll_original",
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "pending_states": [
              "submitted"
            ],
            "state_field": "data.task_status",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "unknown": "Keep the returned public task or operation id and all headers. Read only the original task; unknown or result_pending_check does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "name": "id",
                "type": "string"
              },
              {
                "name": "polling_url",
                "type": "string"
              },
              {
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "name": "data.task_id",
                "type": "string"
              },
              {
                "name": "data.task_status",
                "type": "string"
              },
              {
                "name": "data.task_result.videos[].url",
                "type": "string"
              }
            ],
            "maximum_outputs": null
          }
        },
        "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"
              }
            ]
          },
          {
            "basis": "אומדן זה אינו חיוב נוסף או תעריף קבוע עבור היצירה שהושלמה.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "עלות יצירה משוערת",
            "units": [
              {
                "amount": "6",
                "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": "6",
                "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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"kling-v2-1-master\", \"prompt\": \"A happy holiday scene at the beach.\", \"mode\": \"pro\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_STATUS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\nu=urljoin(\"https://api.ailoot.ai\",r[\"polling_url\"])\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or p.username or p.password:\n    raise SystemExit(\"Unexpected returned polling URL; preserve the response\")\nsubprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-D\",\"status-headers.txt\",\"-o\",\"status.json\"],check=True)\n# Read this same original polling_url again while pending.\n# Preserve unknown/result_pending_check; do not repeat creation.\nPY_STATUS\n",
            "label": "Read the original task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nroles={}\ndef visit(v,path=\"\"):\n    if isinstance(v,dict):\n        for k,x in v.items(): visit(x,path+\"/\"+k)\n    elif isinstance(v,list):\n        for i,x in enumerate(v): visit(x,path+\"/\"+str(i))\n    elif isinstance(v,str):\n        u=urljoin(\"https://api.ailoot.ai\",v); p=urlsplit(u)\n        if p.scheme==\"https\" and p.netloc==\"api.ailoot.ai\" and not p.username and not p.password and p.path.startswith(\"/v1/media/assets/\") and p.path.endswith(\"/content\"):\n            roles.setdefault(u,[]).append(path)\nvisit(r)\nif not roles: raise SystemExit(\"No completed owned assets; retain the original status\")\nmanifest=[]\nfor i,(u,paths) in enumerate(roles.items()):\n    target=Path(f\"asset-{i}.bin\")\n    subprocess.run([\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",u,\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"],\"-o\",str(target)],check=True)\n    raw=target.read_bytes()\n    if not raw: raise SystemExit(\"Empty asset; retain original status and metadata\")\n    ext=\"glb\" if raw[:4]==b\"glTF\" else \"png\" if raw[:8]==b\"\\x89PNG\\r\\n\\x1a\\n\" else \"jpg\" if raw[:3]==b\"\\xff\\xd8\\xff\" else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"mp4\" if raw[4:8]==b\"ftyp\" else \"bin\"\n    name=f\"asset-{i}.{ext}\"\n    if target.name!=name: target.rename(name)\n    manifest.append({\"file\":name,\"response_paths\":paths,\"bytes\":len(raw)})\nPath(\"asset-manifest.json\").write_text(json.dumps(manifest,indent=2))\nprint(\"Saved\",len(manifest),\"unique owned assets; every response role retained\")\nPY_ASSETS\n",
            "label": "Save every completed owned asset",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Video",
        "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"
              }
            ]
          },
          {
            "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": "6",
                "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": "6",
                "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": "kling-v2-1-master",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}"
        ],
        "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": "6",
            "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": "6",
            "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": "kling-v2-1-master",
        "request_model_id": "kling-v2-1-master",
        "route_label": "Ultra"
      }
    ],
    "name": "Kling v2.1 Master",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 6,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 6,
      "varies": false
    },
    "short": "Kling v2.1 Master יוצר וידאו מטקסט או מבריף המבוסס על תמונה. השתמשו בו לאירוע חזותי מוגדר, כשהנושא, הפעולה, הנחיות המצלמה והסיום מתוכננים יחד כשוט קצר ועקבי.",
    "short_sha256": "a45d457782bb2d2b9b40860c73ff5d3bdd5c195d63847120ee214d5c80164cbf"
  },
  "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": "Kling v2.1 Master יוצר וידאו מטקסט או מבריף המבוסס על תמונה. השתמשו בו לאירוע חזותי מוגדר, כשהנושא, הפעולה, הנחיות המצלמה והסיום מתוכננים יחד כשוט קצר ועקבי.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "587591610c81cb0d4492ad6474775e0643fe7274784efe767ac9f779d8fc9a35",
    "renderer_sha256": "c36bd89b8b0dac234af52bf68530df83530b908ec7a9f2e1de2483fe236ae910"
  },
  "sourceRevision": "1c53d1db645d3e5850a78a116331872fca8ed91d2361ef2babb5541643b9535d"
}
