{
  "aboutHtml": "<p>Vidu 1.5 дәл vidu-1.5 модель ID мәні арқылы мәтіннен бейне генерациялауды ұсынады. Сұрауды бес секундтық көрнекі ой төңірегінде құрыңыз: бір анық әрекет жасайтын нысан, жалпы көрініс немесе белгілі камера қозғалысымен көрсетілетін өнім. Модель қабылдайтын материалда көзделген кадр сипатталуы үшін мәтіндік промптқа көріністі, әрекетті, ортаны, жарықты және кадр құрылымын енгізіңіз.</p><p>Бейнені POST /v1/videos және application/json денесімен жасаңыз. Міндетті өрістер — model және prompt; model мәнін vidu-1.5 етіп орнатып, кадр сипаттамасын жол ретінде беріңіз. Өнім кадрына арналған пайдалы промпт затты, бетті, фонды және бір камера қозғалысын, содан кейін кадр кезінде көрінуі тиіс әрекетті анықтай алады. Тапсырма бір қысқа клип ретінде қабылданатындай жеткілікті нысаналы болсын.</p><p>Модельдің duration нұсқасы — бес секундтық клипті білдіретін 5 бүтін саны. Қосымша aspect_ratio мәндері — 16:9, 1:1 және 9:16 жолдары. Кадр құрылымын жазбас бұрын жоспарланған орналастыруға сай арақатынасты таңдаңыз: көлденең композиция үшін кең көрініс, шаршы үшін ортаға жинақталған орналасу немесе тік композиция үшін тігінен орналасқан нысан. Қосымша negative_prompt жолы болдырмау керек көрнекі элементтерді атай алады. Сұрауда параметр атауларын және нақты enum мәндерін сақтаңыз.</p><p>Жасау асинхронды операцияны бастайды. Жасау жауабы қайтарған нақты сәйкестендіргішті сақтап, кейін сол бастапқы операцияны бақылау үшін GET /v1/videos/{request_id} пайдаланыңыз. Жұмыс жүріп жатқанын көрсететін жауап бар тапсырманы білдіреді; дайын нәтиже немесе қате қайтарылғанша оны оқуды жалғастырыңыз. Операция сәтсіз болса немесе тексеруді қажет етсе, қайтарылған қатені және бастапқы сәйкестендіргішті сақтаңыз.</p><p>Операция аяқталғанда қайтарылған әр бейне нәтижесін сақтап, жауап берген әр нақты мазмұн URL мекенжайынан файлды алыңыз. GET /v1/videos/{request_id}/content ашық мазмұн маршруты шығысты оның нақты индексі бойынша ала алады. Дайын бейнені және оның қайтарылған метадеректерін сақтап, кейін нысанды, қозғалысты, кадр құрылымын және клип соңын промптпен салыстырып тексеріңіз. Жіберу немесе жеткізу екіұшты аяқталса, бастапқы операцияның сәйкестендіру деректерін сақтап, тағы бір генерацияны бастамас бұрын сол тапсырманы тексеріңіз.</p>",
  "aboutText": "Vidu 1.5 дәл vidu-1.5 модель ID мәні арқылы мәтіннен бейне генерациялауды ұсынады. Сұрауды бес секундтық көрнекі ой төңірегінде құрыңыз: бір анық әрекет жасайтын нысан, жалпы көрініс немесе белгілі камера қозғалысымен көрсетілетін өнім. Модель қабылдайтын материалда көзделген кадр сипатталуы үшін мәтіндік промптқа көріністі, әрекетті, ортаны, жарықты және кадр құрылымын енгізіңіз.\n\nБейнені POST /v1/videos және application/json денесімен жасаңыз. Міндетті өрістер — model және prompt; model мәнін vidu-1.5 етіп орнатып, кадр сипаттамасын жол ретінде беріңіз. Өнім кадрына арналған пайдалы промпт затты, бетті, фонды және бір камера қозғалысын, содан кейін кадр кезінде көрінуі тиіс әрекетті анықтай алады. Тапсырма бір қысқа клип ретінде қабылданатындай жеткілікті нысаналы болсын.\n\nМодельдің duration нұсқасы — бес секундтық клипті білдіретін 5 бүтін саны. Қосымша aspect_ratio мәндері — 16:9, 1:1 және 9:16 жолдары. Кадр құрылымын жазбас бұрын жоспарланған орналастыруға сай арақатынасты таңдаңыз: көлденең композиция үшін кең көрініс, шаршы үшін ортаға жинақталған орналасу немесе тік композиция үшін тігінен орналасқан нысан. Қосымша negative_prompt жолы болдырмау керек көрнекі элементтерді атай алады. Сұрауда параметр атауларын және нақты enum мәндерін сақтаңыз.\n\nЖасау асинхронды операцияны бастайды. Жасау жауабы қайтарған нақты сәйкестендіргішті сақтап, кейін сол бастапқы операцияны бақылау үшін GET /v1/videos/{request_id} пайдаланыңыз. Жұмыс жүріп жатқанын көрсететін жауап бар тапсырманы білдіреді; дайын нәтиже немесе қате қайтарылғанша оны оқуды жалғастырыңыз. Операция сәтсіз болса немесе тексеруді қажет етсе, қайтарылған қатені және бастапқы сәйкестендіргішті сақтаңыз.\n\nОперация аяқталғанда қайтарылған әр бейне нәтижесін сақтап, жауап берген әр нақты мазмұн URL мекенжайынан файлды алыңыз. GET /v1/videos/{request_id}/content ашық мазмұн маршруты шығысты оның нақты индексі бойынша ала алады. Дайын бейнені және оның қайтарылған метадеректерін сақтап, кейін нысанды, қозғалысты, кадр құрылымын және клип соңын промптпен салыстырып тексеріңіз. Жіберу немесе жеткізу екіұшты аяқталса, бастапқы операцияның сәйкестендіру деректерін сақтап, тағы бір генерацияны бастамас бұрын сол тапсырманы тексеріңіз.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "34cc831e178d57d44ee4a893a4ef0a5e3d91fef9f2234d085129962a786f91e8",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "kk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Vidu 1.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Shengshu Technology /</span><code>vidu-1.5</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|vidu-1.5\">Бейне</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\">Vidu 1.5 дәл vidu-1.5 модель ID мәнімен мәтіндік промпттан бейне жасайды. Нысанды, көрінетін әрекетті және камера кадрының құрылымын сипаттап, содан кейін бес секундтық ұзақтықты және ені мен биіктігінің үш түрлі арақатынасының бірін таңдаңыз: 16:9, 1:1 немесе 9:16. Тапсырманы бір рет жіберіп, бейне нәтижесі дайын болғанша қайтарылған операцияны бақылаңыз.</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>Vidu 1.5 дәл vidu-1.5 модель ID мәні арқылы мәтіннен бейне генерациялауды ұсынады. Сұрауды бес секундтық көрнекі ой төңірегінде құрыңыз: бір анық әрекет жасайтын нысан, жалпы көрініс немесе белгілі камера қозғалысымен көрсетілетін өнім. Модель қабылдайтын материалда көзделген кадр сипатталуы үшін мәтіндік промптқа көріністі, әрекетті, ортаны, жарықты және кадр құрылымын енгізіңіз.</p><p>Бейнені POST /v1/videos және application/json денесімен жасаңыз. Міндетті өрістер — model және prompt; model мәнін vidu-1.5 етіп орнатып, кадр сипаттамасын жол ретінде беріңіз. Өнім кадрына арналған пайдалы промпт затты, бетті, фонды және бір камера қозғалысын, содан кейін кадр кезінде көрінуі тиіс әрекетті анықтай алады. Тапсырма бір қысқа клип ретінде қабылданатындай жеткілікті нысаналы болсын.</p><p>Модельдің duration нұсқасы — бес секундтық клипті білдіретін 5 бүтін саны. Қосымша aspect_ratio мәндері — 16:9, 1:1 және 9:16 жолдары. Кадр құрылымын жазбас бұрын жоспарланған орналастыруға сай арақатынасты таңдаңыз: көлденең композиция үшін кең көрініс, шаршы үшін ортаға жинақталған орналасу немесе тік композиция үшін тігінен орналасқан нысан. Қосымша negative_prompt жолы болдырмау керек көрнекі элементтерді атай алады. Сұрауда параметр атауларын және нақты enum мәндерін сақтаңыз.</p><p>Жасау асинхронды операцияны бастайды. Жасау жауабы қайтарған нақты сәйкестендіргішті сақтап, кейін сол бастапқы операцияны бақылау үшін GET /v1/videos/{request_id} пайдаланыңыз. Жұмыс жүріп жатқанын көрсететін жауап бар тапсырманы білдіреді; дайын нәтиже немесе қате қайтарылғанша оны оқуды жалғастырыңыз. Операция сәтсіз болса немесе тексеруді қажет етсе, қайтарылған қатені және бастапқы сәйкестендіргішті сақтаңыз.</p><p>Операция аяқталғанда қайтарылған әр бейне нәтижесін сақтап, жауап берген әр нақты мазмұн URL мекенжайынан файлды алыңыз. GET /v1/videos/{request_id}/content ашық мазмұн маршруты шығысты оның нақты индексі бойынша ала алады. Дайын бейнені және оның қайтарылған метадеректерін сақтап, кейін нысанды, қозғалысты, кадр құрылымын және клип соңын промптпен салыстырып тексеріңіз. Жіберу немесе жеткізу екіұшты аяқталса, бастапқы операцияның сәйкестендіру деректерін сақтап, тағы бір генерацияны бастамас бұрын сол тапсырманы тексеріңіз.</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>vidu-1.5</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></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>16:9, 1:1, 9:16</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</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></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</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>aspect_ratio, duration, negative_prompt</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></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>Икемді режим</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>Estimated generation cost</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>$0.4</b> <span class=\"price-unit\">жасауға дейінгі бағалау</span></div><p class=\"note-s\">This estimate is not an additional charge or a fixed rate for the completed generation.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/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-43-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-43-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · бір рет құрып, нәтижені толық сақтаңыз</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-43-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-43-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;vidu-1.5&quot;, &quot;prompt&quot;: &quot;A cat is walking on grass.&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></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\">Retain the complete response, all actual results, original identifiers, usage and response headers.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">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.</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\">video_url</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string or array, as returned</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=vidu-1.5&amp;route=Ultra&amp;caller=vidu-1.5&amp;fmt=videos\"><code>vidu-1.5</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\"><code>/v1/videos/generations</code></p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=vidu-1.5&amp;route=Ultra&amp;caller=vidu-1.5&amp;fmt=videos\"><code>vidu-1.5</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "vidu-1.5",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "vidu-1.5",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|vidu-1.5",
      "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, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "model": "vidu-1.5",
              "prompt": "A cat is walking on grass."
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "completed_states": [
                "completed"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [
                "failed"
              ],
              "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": [
                "pending",
                "processing"
              ],
              "state_field": "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
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "video",
              "fields": [
                {
                  "name": "video_url",
                  "type": "string or array, as returned"
                }
              ],
              "ownership": "Every returned selected video URL is an owned signed result after completion."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "vidu-1.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum": [
                  "16:9",
                  "1:1",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum": [
                  5
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "negative_prompt",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "1:1",
                    "9:16"
                  ],
                  "type": "string"
                },
                "duration": {
                  "enum": [
                    5
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "vidu-1.5"
                  ],
                  "type": "string"
                },
                "negative_prompt": {
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "model": "vidu-1.5",
                "prompt": "A cat is walking on grass."
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "aspect_ratio",
              "duration",
              "negative_prompt"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "completed_states": [
              "completed"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [
              "failed"
            ],
            "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": [
              "pending",
              "processing"
            ],
            "state_field": "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, all actual results, original identifiers, usage and response headers.",
            "family": "video",
            "fields": [
              {
                "name": "video_url",
                "type": "string or array, as returned"
              }
            ],
            "ownership": "Every returned selected video URL is an owned signed result after completion."
          }
        },
        "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": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "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\": \"vidu-1.5\", \"prompt\": \"A cat is walking on grass.\"}')\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"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "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",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": null,
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_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": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "vidu-1.5",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}"
        ],
        "tiers": [],
        "unit": "video",
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.4",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "vidu-1.5",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "c9bcbcfc7471b222165d3af77d2c0912dd142aca1dd1cb6762927e7ce4fac693",
    "input_html_sha256": "758c7c65b9b7024eef92a096e99ce6e85a6d29d4aa7fe1d694a1c669bdf6eecb",
    "private_audit_sha256": "6c434378babb89b7cf7208635cf4f6aacec90fae7b1c714a6476724e8f52e2de",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/vidu-1-5/",
    "description": "Vidu 1.5 дәл vidu-1.5 модель ID мәнімен мәтіндік промпттан бейне жасайды. Нысанды, көрінетін әрекетті және камера кадрының құрылымын сипаттап, содан кейін бес секундтық ұзақтықты және ені мен биіктігінің үш түрлі арақатынасының бірін таңдаңыз: 16:9, 1:1 немесе 9:16. Тапсырманы бір рет жіберіп, бейне нәтижесі дайын болғанша қайтарылған операцияны бақылаңыз.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/vidu-1-5/index.md",
    "title": "Vidu 1.5 — Ailoot",
    "url": "https://ailoot.ai/models/kk/vidu-1-5/"
  },
  "rawModel": {
    "about": "Vidu 1.5 дәл vidu-1.5 модель ID мәні арқылы мәтіннен бейне генерациялауды ұсынады. Сұрауды бес секундтық көрнекі ой төңірегінде құрыңыз: бір анық әрекет жасайтын нысан, жалпы көрініс немесе белгілі камера қозғалысымен көрсетілетін өнім. Модель қабылдайтын материалда көзделген кадр сипатталуы үшін мәтіндік промптқа көріністі, әрекетті, ортаны, жарықты және кадр құрылымын енгізіңіз.\n\nБейнені POST /v1/videos және application/json денесімен жасаңыз. Міндетті өрістер — model және prompt; model мәнін vidu-1.5 етіп орнатып, кадр сипаттамасын жол ретінде беріңіз. Өнім кадрына арналған пайдалы промпт затты, бетті, фонды және бір камера қозғалысын, содан кейін кадр кезінде көрінуі тиіс әрекетті анықтай алады. Тапсырма бір қысқа клип ретінде қабылданатындай жеткілікті нысаналы болсын.\n\nМодельдің duration нұсқасы — бес секундтық клипті білдіретін 5 бүтін саны. Қосымша aspect_ratio мәндері — 16:9, 1:1 және 9:16 жолдары. Кадр құрылымын жазбас бұрын жоспарланған орналастыруға сай арақатынасты таңдаңыз: көлденең композиция үшін кең көрініс, шаршы үшін ортаға жинақталған орналасу немесе тік композиция үшін тігінен орналасқан нысан. Қосымша negative_prompt жолы болдырмау керек көрнекі элементтерді атай алады. Сұрауда параметр атауларын және нақты enum мәндерін сақтаңыз.\n\nЖасау асинхронды операцияны бастайды. Жасау жауабы қайтарған нақты сәйкестендіргішті сақтап, кейін сол бастапқы операцияны бақылау үшін GET /v1/videos/{request_id} пайдаланыңыз. Жұмыс жүріп жатқанын көрсететін жауап бар тапсырманы білдіреді; дайын нәтиже немесе қате қайтарылғанша оны оқуды жалғастырыңыз. Операция сәтсіз болса немесе тексеруді қажет етсе, қайтарылған қатені және бастапқы сәйкестендіргішті сақтаңыз.\n\nОперация аяқталғанда қайтарылған әр бейне нәтижесін сақтап, жауап берген әр нақты мазмұн URL мекенжайынан файлды алыңыз. GET /v1/videos/{request_id}/content ашық мазмұн маршруты шығысты оның нақты индексі бойынша ала алады. Дайын бейнені және оның қайтарылған метадеректерін сақтап, кейін нысанды, қозғалысты, кадр құрылымын және клип соңын промптпен салыстырып тексеріңіз. Жіберу немесе жеткізу екіұшты аяқталса, бастапқы операцияның сәйкестендіру деректерін сақтап, тағы бір генерацияны бастамас бұрын сол тапсырманы тексеріңіз.",
    "alias_of": null,
    "aliases": [],
    "author": "Shengshu Technology",
    "ctx": null,
    "formats": [
      "videos"
    ],
    "id": "vidu-1.5",
    "input": [
      "text"
    ],
    "kind": "video",
    "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, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "model": "vidu-1.5",
              "prompt": "A cat is walking on grass."
            },
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "completed_states": [
                "completed"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [
                "failed"
              ],
              "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": [
                "pending",
                "processing"
              ],
              "state_field": "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
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "video",
              "fields": [
                {
                  "name": "video_url",
                  "type": "string or array, as returned"
                }
              ],
              "ownership": "Every returned selected video URL is an owned signed result after completion."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "vidu-1.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum": [
                  "16:9",
                  "1:1",
                  "9:16"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum": [
                  5
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "negative_prompt",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "1:1",
                    "9:16"
                  ],
                  "type": "string"
                },
                "duration": {
                  "enum": [
                    5
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "vidu-1.5"
                  ],
                  "type": "string"
                },
                "negative_prompt": {
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "model": "vidu-1.5",
                "prompt": "A cat is walking on grass."
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "aspect_ratio",
              "duration",
              "negative_prompt"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "completed_states": [
              "completed"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [
              "failed"
            ],
            "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": [
              "pending",
              "processing"
            ],
            "state_field": "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, all actual results, original identifiers, usage and response headers.",
            "family": "video",
            "fields": [
              {
                "name": "video_url",
                "type": "string or array, as returned"
              }
            ],
            "ownership": "Every returned selected video URL is an owned signed result after completion."
          }
        },
        "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": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "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\": \"vidu-1.5\", \"prompt\": \"A cat is walking on grass.\"}')\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"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "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",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": null,
          "flex_multiplier": null,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": null,
          "intervals": null,
          "max_reasoning_effort_multiplier": null,
          "output_price": null,
          "per_request_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": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "vidu-1.5",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}"
        ],
        "tiers": [],
        "unit": "video",
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.4",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "vidu-1.5",
        "request_model_id": "vidu-1.5",
        "route_label": "Ultra"
      }
    ],
    "name": "Vidu 1.5",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Vidu 1.5 дәл vidu-1.5 модель ID мәнімен мәтіндік промпттан бейне жасайды. Нысанды, көрінетін әрекетті және камера кадрының құрылымын сипаттап, содан кейін бес секундтық ұзақтықты және ені мен биіктігінің үш түрлі арақатынасының бірін таңдаңыз: 16:9, 1:1 немесе 9:16. Тапсырманы бір рет жіберіп, бейне нәтижесі дайын болғанша қайтарылған операцияны бақылаңыз."
  },
  "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": "Vidu 1.5 дәл vidu-1.5 модель ID мәнімен мәтіндік промпттан бейне жасайды. Нысанды, көрінетін әрекетті және камера кадрының құрылымын сипаттап, содан кейін бес секундтық ұзақтықты және ені мен биіктігінің үш түрлі арақатынасының бірін таңдаңыз: 16:9, 1:1 немесе 9:16. Тапсырманы бір рет жіберіп, бейне нәтижесі дайын болғанша қайтарылған операцияны бақылаңыз.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "54e65699a0276cfa5135e7e244423248322b3ebeef5b4bf2546eda220beada71",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "22f4af90b6d4f08bdaa325cb5690f943a9ed77e4aa62f02572fd7566ce1a6ff1"
}
