{
  "aboutHtml": "<p>Seedance 1.0 Pro мәтіннен немесе кескін бағыттайтын көріністен бейне жасайды. doubao-seedance-1-0-pro-250528 селекторы екі кіріс режимін де қолдайды, сондықтан бастапқы негіз жазбаша тұжырым немесе қолда бар визуалды композиция болуы мүмкін. Жаңа көрініс жасау үшін мәтіндік тапсырманы, ал нысанды, орналасуды және бастапқы көріністі визуалды түрде белгілеу керек болса, кескінді беріңіз. Бұл 1.0 профилі дыбыссыз бейне шығарады; синхрондалған дыбыс бөлек сипатталған 1.5 Pro профиліне жатады.</p><p>Мәтіннен бейне жасау үшін нысанды, ортаны, қозғалысты, кадрлауды және камераны біртұтас көрініс ретінде сипаттаңыз. Құжатталған мысалда камера түймедақ алқабынан жапырақшаларында шық бар гүлдің ірі планына біртіндеп өтеді. Мұндай құрылым басқа нысанды ашып көрсетуге де ыңғайлы: ортаны көрсетіп, нысанға жақындаңыз және маңызды бөлшекпен аяқтаңыз. Тауар тұжырымында әрекетпен бірге материал мен жарықты сипаттап, қысқа кадрда орындауға болатын камера қозғалысының бағытын белгілеңіз.</p><p>Кескіннен бейне жасау үшін референсті image_url түріндегі content элементіне салып, бастапқы көріністен не өзгеруге тиіс екенін түсіндіріңіз. Дайын портрет адамды және кадрлауды белгілесе, мәтін аздап бұрылуды, шаштың қозғалуын немесе камераның баяу шегінуін сипаттай алады. Тауардың статикалық суреті нысан мен фонды белгілеп, мәтін басқарылатын ашып көрсетуді сұрай алады. Сұралған қозғалысты бастапқы композициямен үйлестіріңіз; заттың бір жағының кескіні қалған барлық көрінбейтін жағының дәл бейнесін бермейді.</p><p>Кескін өрісі қолжетімді URL мекенжайын немесе Base64 кескін деректері бар data URL қабылдайды. Құжатталған пішімдер: JPEG, PNG, WEBP, BMP, TIFF және GIF. Кескін көлемі 30 MB-тан аз, енінің биіктігіне қатынасы қатаң түрде 0.4 пен 2.5 арасында, әр өлшемі қатаң түрде 300 бен 6000 пиксель арасында болуы керек. Айқындаушы бөлшектері жоғалып кеткен нобайға сенбей, қажетті кадрлаумен анық бастапқы кескін дайындаңыз. Кескіннен бейне жасау үшін нұсқаулық референс пропорцияларына еретін бейімделмелі кадрлауды ұсынады.</p><p>Құжатталған 1.0 ұзақтығы екіден он екі секундқа дейін, кадр жиілігі секундына 24 кадр. Шығыс баптауларында 480p, 720p және 1080p бар, Pro әдепкісі — 1080p; нұсқаулық бойынша референс кескін қолданылғанда 1080p қолжетімсіз. Тұрақты кадр пішімдері: 16:9, 4:3, 1:1, 3:4, 9:16 және 21:9. Кескінге негізделген план үшін барлық мәтіннен бейне жасау баптауларын өзгеріссіз көшірмей, кескінге сай параметрлер үйлесімін таңдаңыз. Клипті макетке орналастырмас бұрын нақты қайтарылған кадрлауды тексеріңіз.</p><p>Бастапқы мән мен сутаңба баптаулары camerafixed параметрімен бірге құжатталған. Камераны бекіту нұсқауы референс кескін сценарийінде қолдау таппайды, ал қолданылатын жерде нұсқаулық камераның толық қозғалмайтынына кепілдік бермейді. Мәтінге енгізілген параметр нұсқаулары бөлек қосымша өрістерден басым. Ұзақтық, ажыратымдылық және арақатынас үшін бір басым баптауды сақтап, камера сипаттамасын соған сәйкестендіріңіз. Бұл көрініс тапсырмасының сұрауға таңдалған баптауларды байқатпай өзгертуіне жол бермейді.</p><p>Пайдалану көлемі бейнетокендермен өлшенеді: шығыс ені × шығыс биіктігі × кадр жиілігі × шығыс ұзақтығы / 1024. Аяқталған тапсырма бұл мөлшерді usage.completion_tokens арқылы хабарлайды. Хабарланған пайдалану мөлшерін дайын клиппен және оның сұралған баптауларымен бірге сақтаңыз.</p><p>Алдымен тапсырма идентификаторы, ал өңдеуден кейін дайын бейненің мекенжайы қайтарылады. Кезек немесе орындалу күйін тексергенде идентификаторды сақтаңыз; сәтті аяқталған тапсырма content.video_url және пайдалану мәліметтерін береді. Жасалған файлдың құжатталған сақтау мерзімі — жеті күн. Дайын клипті, бастапқы кескінді және дәл мәтіндік сұрауды нұсқа жазбасы ретінде сақтаңыз, содан соң толық нәтиже бойындағы нысанның сыртқы түрін, қозғалысты, кескін сабақтастығын және соңғы композицияны тексеріңіз.</p>",
  "aboutText": "Seedance 1.0 Pro мәтіннен немесе кескін бағыттайтын көріністен бейне жасайды. doubao-seedance-1-0-pro-250528 селекторы екі кіріс режимін де қолдайды, сондықтан бастапқы негіз жазбаша тұжырым немесе қолда бар визуалды композиция болуы мүмкін. Жаңа көрініс жасау үшін мәтіндік тапсырманы, ал нысанды, орналасуды және бастапқы көріністі визуалды түрде белгілеу керек болса, кескінді беріңіз. Бұл 1.0 профилі дыбыссыз бейне шығарады; синхрондалған дыбыс бөлек сипатталған 1.5 Pro профиліне жатады.\n\nМәтіннен бейне жасау үшін нысанды, ортаны, қозғалысты, кадрлауды және камераны біртұтас көрініс ретінде сипаттаңыз. Құжатталған мысалда камера түймедақ алқабынан жапырақшаларында шық бар гүлдің ірі планына біртіндеп өтеді. Мұндай құрылым басқа нысанды ашып көрсетуге де ыңғайлы: ортаны көрсетіп, нысанға жақындаңыз және маңызды бөлшекпен аяқтаңыз. Тауар тұжырымында әрекетпен бірге материал мен жарықты сипаттап, қысқа кадрда орындауға болатын камера қозғалысының бағытын белгілеңіз.\n\nКескіннен бейне жасау үшін референсті image_url түріндегі content элементіне салып, бастапқы көріністен не өзгеруге тиіс екенін түсіндіріңіз. Дайын портрет адамды және кадрлауды белгілесе, мәтін аздап бұрылуды, шаштың қозғалуын немесе камераның баяу шегінуін сипаттай алады. Тауардың статикалық суреті нысан мен фонды белгілеп, мәтін басқарылатын ашып көрсетуді сұрай алады. Сұралған қозғалысты бастапқы композициямен үйлестіріңіз; заттың бір жағының кескіні қалған барлық көрінбейтін жағының дәл бейнесін бермейді.\n\nКескін өрісі қолжетімді URL мекенжайын немесе Base64 кескін деректері бар data URL қабылдайды. Құжатталған пішімдер: JPEG, PNG, WEBP, BMP, TIFF және GIF. Кескін көлемі 30 MB-тан аз, енінің биіктігіне қатынасы қатаң түрде 0.4 пен 2.5 арасында, әр өлшемі қатаң түрде 300 бен 6000 пиксель арасында болуы керек. Айқындаушы бөлшектері жоғалып кеткен нобайға сенбей, қажетті кадрлаумен анық бастапқы кескін дайындаңыз. Кескіннен бейне жасау үшін нұсқаулық референс пропорцияларына еретін бейімделмелі кадрлауды ұсынады.\n\nҚұжатталған 1.0 ұзақтығы екіден он екі секундқа дейін, кадр жиілігі секундына 24 кадр. Шығыс баптауларында 480p, 720p және 1080p бар, Pro әдепкісі — 1080p; нұсқаулық бойынша референс кескін қолданылғанда 1080p қолжетімсіз. Тұрақты кадр пішімдері: 16:9, 4:3, 1:1, 3:4, 9:16 және 21:9. Кескінге негізделген план үшін барлық мәтіннен бейне жасау баптауларын өзгеріссіз көшірмей, кескінге сай параметрлер үйлесімін таңдаңыз. Клипті макетке орналастырмас бұрын нақты қайтарылған кадрлауды тексеріңіз.\n\nБастапқы мән мен сутаңба баптаулары camerafixed параметрімен бірге құжатталған. Камераны бекіту нұсқауы референс кескін сценарийінде қолдау таппайды, ал қолданылатын жерде нұсқаулық камераның толық қозғалмайтынына кепілдік бермейді. Мәтінге енгізілген параметр нұсқаулары бөлек қосымша өрістерден басым. Ұзақтық, ажыратымдылық және арақатынас үшін бір басым баптауды сақтап, камера сипаттамасын соған сәйкестендіріңіз. Бұл көрініс тапсырмасының сұрауға таңдалған баптауларды байқатпай өзгертуіне жол бермейді.\n\nПайдалану көлемі бейнетокендермен өлшенеді: шығыс ені × шығыс биіктігі × кадр жиілігі × шығыс ұзақтығы / 1024. Аяқталған тапсырма бұл мөлшерді usage.completion_tokens арқылы хабарлайды. Хабарланған пайдалану мөлшерін дайын клиппен және оның сұралған баптауларымен бірге сақтаңыз.\n\nАлдымен тапсырма идентификаторы, ал өңдеуден кейін дайын бейненің мекенжайы қайтарылады. Кезек немесе орындалу күйін тексергенде идентификаторды сақтаңыз; сәтті аяқталған тапсырма content.video_url және пайдалану мәліметтерін береді. Жасалған файлдың құжатталған сақтау мерзімі — жеті күн. Дайын клипті, бастапқы кескінді және дәл мәтіндік сұрауды нұсқа жазбасы ретінде сақтаңыз, содан соң толық нәтиже бойындағы нысанның сыртқы түрін, қозғалысты, кескін сабақтастығын және соңғы композицияны тексеріңіз.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "de7ec22ffddfb90e85675b6dfc9a0ea5568da7488399f7ac250ac621a3d16709",
    "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\">ByteDance: Seedance 1.0 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>ByteDance /</span><code>doubao-seedance-1-0-pro-250528</code><button type=\"button\" id=\"copy-id\">ID көшіру</button></div><nav class=\"card-jump-nav\" aria-label=\"Модель карточкасының бөлімдері\"><button type=\"button\" data-card-jump=\"overview\">Бастау</button><button type=\"button\" data-card-jump=\"methods\">Кіріс деректері мен әдістер</button><button type=\"button\" data-card-jump=\"pricing\">Тарифтер</button><button type=\"button\" data-card-jump=\"examples\">Мысалдар</button><button type=\"button\" data-card-jump=\"results\">Нәтижелер</button><button type=\"button\" data-card-jump=\"aliases\">Балама атаулар</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API әдістері\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|doubao-seedance-1-0-pro-250528\">Бейне</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Бастау</h3><p class=\"mdesc-full\">Seedance 1.0 Pro мәтіннен немесе бастапқы кескіннен дыбыссыз бейне жасайды. Әрекет пен камераны сипаттаңыз немесе қолда бар композицияны жандандырыңыз: ұзақтығы 2–12 секунд, кадр жиілігі секундына 24 кадр; шығыс кадрлауы мен ажыратымдылығы бөлек басқарылады.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін · Суреттер</dd></div><div><dt>Нәтижелер</dt><dd>Бейне</dd></div></dl><details class=\"card-about\"><summary>Модель туралы</summary><p class=\"note-s\" data-model-method-boundary>Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.</p><div class=\"mabout\" id=\"m-about\"><p>Seedance 1.0 Pro мәтіннен немесе кескін бағыттайтын көріністен бейне жасайды. doubao-seedance-1-0-pro-250528 селекторы екі кіріс режимін де қолдайды, сондықтан бастапқы негіз жазбаша тұжырым немесе қолда бар визуалды композиция болуы мүмкін. Жаңа көрініс жасау үшін мәтіндік тапсырманы, ал нысанды, орналасуды және бастапқы көріністі визуалды түрде белгілеу керек болса, кескінді беріңіз. Бұл 1.0 профилі дыбыссыз бейне шығарады; синхрондалған дыбыс бөлек сипатталған 1.5 Pro профиліне жатады.</p><p>Мәтіннен бейне жасау үшін нысанды, ортаны, қозғалысты, кадрлауды және камераны біртұтас көрініс ретінде сипаттаңыз. Құжатталған мысалда камера түймедақ алқабынан жапырақшаларында шық бар гүлдің ірі планына біртіндеп өтеді. Мұндай құрылым басқа нысанды ашып көрсетуге де ыңғайлы: ортаны көрсетіп, нысанға жақындаңыз және маңызды бөлшекпен аяқтаңыз. Тауар тұжырымында әрекетпен бірге материал мен жарықты сипаттап, қысқа кадрда орындауға болатын камера қозғалысының бағытын белгілеңіз.</p><p>Кескіннен бейне жасау үшін референсті image_url түріндегі content элементіне салып, бастапқы көріністен не өзгеруге тиіс екенін түсіндіріңіз. Дайын портрет адамды және кадрлауды белгілесе, мәтін аздап бұрылуды, шаштың қозғалуын немесе камераның баяу шегінуін сипаттай алады. Тауардың статикалық суреті нысан мен фонды белгілеп, мәтін басқарылатын ашып көрсетуді сұрай алады. Сұралған қозғалысты бастапқы композициямен үйлестіріңіз; заттың бір жағының кескіні қалған барлық көрінбейтін жағының дәл бейнесін бермейді.</p><p>Кескін өрісі қолжетімді URL мекенжайын немесе Base64 кескін деректері бар data URL қабылдайды. Құжатталған пішімдер: JPEG, PNG, WEBP, BMP, TIFF және GIF. Кескін көлемі 30 MB-тан аз, енінің биіктігіне қатынасы қатаң түрде 0.4 пен 2.5 арасында, әр өлшемі қатаң түрде 300 бен 6000 пиксель арасында болуы керек. Айқындаушы бөлшектері жоғалып кеткен нобайға сенбей, қажетті кадрлаумен анық бастапқы кескін дайындаңыз. Кескіннен бейне жасау үшін нұсқаулық референс пропорцияларына еретін бейімделмелі кадрлауды ұсынады.</p><p>Құжатталған 1.0 ұзақтығы екіден он екі секундқа дейін, кадр жиілігі секундына 24 кадр. Шығыс баптауларында 480p, 720p және 1080p бар, Pro әдепкісі — 1080p; нұсқаулық бойынша референс кескін қолданылғанда 1080p қолжетімсіз. Тұрақты кадр пішімдері: 16:9, 4:3, 1:1, 3:4, 9:16 және 21:9. Кескінге негізделген план үшін барлық мәтіннен бейне жасау баптауларын өзгеріссіз көшірмей, кескінге сай параметрлер үйлесімін таңдаңыз. Клипті макетке орналастырмас бұрын нақты қайтарылған кадрлауды тексеріңіз.</p><p>Бастапқы мән мен сутаңба баптаулары camerafixed параметрімен бірге құжатталған. Камераны бекіту нұсқауы референс кескін сценарийінде қолдау таппайды, ал қолданылатын жерде нұсқаулық камераның толық қозғалмайтынына кепілдік бермейді. Мәтінге енгізілген параметр нұсқаулары бөлек қосымша өрістерден басым. Ұзақтық, ажыратымдылық және арақатынас үшін бір басым баптауды сақтап, камера сипаттамасын соған сәйкестендіріңіз. Бұл көрініс тапсырмасының сұрауға таңдалған баптауларды байқатпай өзгертуіне жол бермейді.</p><p>Пайдалану көлемі бейнетокендермен өлшенеді: шығыс ені × шығыс биіктігі × кадр жиілігі × шығыс ұзақтығы / 1024. Аяқталған тапсырма бұл мөлшерді usage.completion_tokens арқылы хабарлайды. Хабарланған пайдалану мөлшерін дайын клиппен және оның сұралған баптауларымен бірге сақтаңыз.</p><p>Алдымен тапсырма идентификаторы, ал өңдеуден кейін дайын бейненің мекенжайы қайтарылады. Кезек немесе орындалу күйін тексергенде идентификаторды сақтаңыз; сәтті аяқталған тапсырма content.video_url және пайдалану мәліметтерін береді. Жасалған файлдың құжатталған сақтау мерзімі — жеті күн. Дайын клипті, бастапқы кескінді және дәл мәтіндік сұрауды нұсқа жазбасы ретінде сақтаңыз, содан соң толық нәтиже бойындағы нысанның сыртқы түрін, қозғалысты, кескін сабақтастығын және соңғы композицияны тексеріңіз.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Бейне</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Кіріс</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Шығыс</dt><dd><code>video</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Өріс</th><th>Түрі</th><th>Талап</th><th>Мәндер мен шектеулер</th><th>Әдепкі</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>doubao-seedance-1-0-pro-250528</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">content</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>array</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Шарттар: Төл пішімдегі мәтін немесе медиа объектілері; сыртқы массив бос болмауы керек. Бұл әмбебап Ailoot құрастырушысы ішкі түйіндердің түрлерін тексермейді.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>integer</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең азы: 2</div><div>Ең көбі: 12</div><div>Шарттар: Бастапқы 1.x схемасында 2–12 көрсетілген; кейінгі ортақ сипаттама 1.5 үшін 4–12 немесе -1 деп береді. Мысалда екі деректе де құжатталған 5 қолданылады.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>5</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Шарттар: Мәтіннен бейне жасау үшін расталған мәндер — 480p және 1080p. Үлгі суреті бар кіріс 1080p мәніне жол бермейді. Ортақ 720p санамаланған мәні модельге арналған сипаттамаға қайшы келеді, сондықтан екі режимде де 720p қолдауы анықталмаған күйде қалады.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>1080p</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">ratio</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive</div><div>Шарттар: Әдепкі мәндер көрініске және модельге байланысты; суретті кіріс ретінде қолдану құжаттамасы adaptive мәнін ұсынады.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">service_tier</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>default, flex</div><div>Шарттар: default=online, flex=offline; жасау алдында таңдаңыз.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>default</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>integer</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең азы: -1</div><div>Ең көбі: 4 294 967 295</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>-1</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">camerafixed</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>boolean</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Шарттар: Ailoot талап етеді; құжаттамада үлгі суреті қолданылғанда камераны басқаруға қолдау көрсетілмейтіні жазылған және оның әсеріне кепілдік берілмейді.</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>false</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">watermark</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>boolean</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>false</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">execution_expires_after</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>integer</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең азы: 3 600</div><div>Ең көбі: 259 200</div><div>Бірлік: секунд</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>172 800</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Кіріс материалдарының үйлесімдері</summary><p class=\"note-s\"><b></b></p><p class=\"note-s\"><b></b></p></details><details class=\"note-s\" data-method-contract><summary>Әдіс параметрлері мен өмірлік циклі</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Параметр талаптары</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>content_type</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>application/json</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>camerafixed, content, execution_expires_after, model, seed, watermark</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>duration, resolution, ratio, service_tier</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text, image</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>additional_properties</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>true</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>validation_scope</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>Ailoot міндетті өрістердің түрлерін және model/content массивінің бос еместігін тексереді. Сұраудың басқа өрістері таңдалған модель үшін сақталады.</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>image_constraints</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>{&quot;formats&quot;:[&quot;jpeg&quot;,&quot;png&quot;,&quot;webp&quot;,&quot;bmp&quot;,&quot;tiff&quot;,&quot;gif&quot;],&quot;aspect_ratio_exclusive&quot;:[0.4,2.5],&quot;dimensions_px_exclusive&quot;:[300,6000],&quot;file_size_mb_exclusive&quot;:30,&quot;mb_bytes_definition&quot;:null}</td></tr></tbody></table></div><p>Әдістің балама атаулары: <code>/v1/videos/generations</code></p><p>Өмірлік цикл: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">Бір рет жасаңыз және қайтарылған ашық id/polling_url мәндерін сақтаңыз.</p><p class=\"note-s\">Бастапқы тапсырманың күйін мезгіл-мезгіл сұраңыз; succeeded күйінен кейін иелігіңіздегі нақты content.video_url бойынша файлды жүктеп алыңыз.</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><th>Төлем</th></tr></thead><tbody><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Токендердің базалық тарифтері</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>Негізгі мөлшерлеме</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>—</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · Кіріс токендері · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу, 1 сағ · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Ultra</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>1K бейне токені үшін</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Шығыс · Тек салыстыруға арналған бағалау</span> <b>$0.0044</b> <span class=\"price-unit\">1K бейне токені үшін</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Генерацияның болжамды құны</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>бір генерацияға арналған болжам</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>—</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Шығыс · Генерацияның болжамды құны · Тек салыстыруға арналған бағалау</span> <b>$0.2112</b> <span class=\"price-unit\">жасауға дейінгі бағалау</span></div><p class=\"note-s\">Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/billing/reserve/\">Резервтеу мен төлемді есептеу тәртібі →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Сұрау мысалдары</h3><h4>Ailoot Ultra · Бейне</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-2776-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2776-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · бейне құрыңыз</button><button class=\"cg-tab\" id=\"model-code-2776-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2776-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · бастапқы тапсырманы оқыңыз</button><button class=\"cg-tab\" id=\"model-code-2776-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2776-panel-2\" aria-selected=\"false\" tabindex=\"-1\">curl · өзіңізге тиесілі бейнені жүктеп алыңыз</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2776-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2776-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON_REQUEST&#39;\n{&quot;model&quot;:&quot;doubao-seedance-1-0-pro-250528&quot;,&quot;content&quot;:[{&quot;type&quot;:&quot;text&quot;,&quot;text&quot;:&quot;女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动&quot;}],&quot;resolution&quot;:&quot;480p&quot;,&quot;ratio&quot;:&quot;1:1&quot;,&quot;duration&quot;:5,&quot;service_tier&quot;:&quot;default&quot;,&quot;seed&quot;:-1,&quot;camerafixed&quot;:false,&quot;watermark&quot;:false,&quot;execution_expires_after&quot;:172800}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2776-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2776-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_POLL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(&quot;result.json&quot;).read_text())\ni=r.get(&quot;id&quot;)\nif not isinstance(i,str) or not i.startswith(&quot;native302_&quot;):raise SystemExit(&quot;Keep original response/headers/id; do not resubmit creation.&quot;)\nu=urljoin(&quot;https://api.ailoot.ai&quot;,r.get(&quot;polling_url&quot;) or &quot;/v1/videos/&quot;+quote(i,safe=&quot;&quot;))\np=urlsplit(u)\nif p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or not p.path.startswith(&quot;/v1/videos/&quot;):raise SystemExit(&quot;Use actual Ailoot lookup path.&quot;)\nPath(&quot;poll-url.txt&quot;).write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error &quot;$(cat poll-url.txt)&quot; -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2776-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2776-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nif r.get(&quot;status&quot;)!=&quot;succeeded&quot;:raise SystemExit(&quot;Poll same original job until an owned result is returned.&quot;)\nu=r.get(&quot;content&quot;,{}).get(&quot;video_url&quot;)\nurls=[u] if isinstance(u,str) else u\nif not isinstance(urls,list) or not urls:raise SystemExit(&quot;No completed video URL.&quot;)\nfor u in urls:\n    if not isinstance(u,str):raise SystemExit(&quot;Invalid returned URL.&quot;)\n    p=urlsplit(u)\n    if p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or not p.path.startswith(&quot;/v1/media/assets/&quot;) or not p.path.endswith(&quot;/content&quot;) or not p.query:raise SystemExit(&quot;Wait for actual Ailoot-owned signed result.&quot;)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_ASSETS\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; -o &quot;video-${index}.bin&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Нәтижелерді алу және сақтау</h3><h4>Ailoot Ultra · Бейне</h4><p class=\"note-s\">Ашық id/polling_url бар төл JSON. Жарияланғаннан кейін content.video_url ішінде Ailoot иелігіндегі қолтаңбасы бар URL мекенжайлары болады; жарияланғанға дейін таңдалған шығыс URL мекенжайлары босатылады.</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.</p><p class=\"note-s\">content.video_url ішіндегі әрбір нақты URL мәнін сақтаңыз; index нақты қайтарылған шығыс нәтижесін көрсетуі керек.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Бастапқы жауапты, тақырыптарды және id мәнін сақтап, сол операцияның күйін мезгіл-мезгіл сұраңыз; нәтижесі белгісіз жасау сұрауын ешқашан қайта жібермеңіз.</p></div><details class=\"card-about\" data-output-fields><summary>Жауап өрістері</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Өріс</th><th>Түрі</th></tr></thead><tbody><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">provider_task_id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">polling_url</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string when supplied</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">content.video_url</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string|string[]</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>object when supplied</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Қателер және келесі қадамдар</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Жауап</th><th>Шарт</th><th>Келесі қадам</th></tr></thead><tbody><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>JSON, модель, міндетті өрістердің түрлері немесе мазмұн индексі жарамсыз.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span></td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Ailoot API кілті жарамсыз.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span></td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Тапсырма немесе шығыс нәтижесі жоқ не сол пайдаланушыға, API кілтіне немесе топқа тиесілі емес.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span></td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>502 · <code>result_pending_check</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Бастапқы жіберу немесе күй мәліметі толық емес; бастапқы ID мәнін сақтап, қайта жібермеңіз.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span></td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Бастапқы медиа, маршрут немесе есеп айырысу тексерілуде; бастапқы операцияны жалғастырыңыз.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Балама атаулар</h3><h4>Модельдердің балама атаулары</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=doubao-seedance-1-0-pro-250528&amp;route=Ultra&amp;caller=doubao-seedance-1-0-pro-250528&amp;fmt=videos\"><code>doubao-seedance-1-0-pro-250528</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\"><code>/v1/videos/generations</code></p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=doubao-seedance-1-0-pro-250528&amp;route=Ultra&amp;caller=doubao-seedance-1-0-pro-250528&amp;fmt=videos\"><code>doubao-seedance-1-0-pro-250528</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "doubao-seedance-1-0-pro-250528",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|doubao-seedance-1-0-pro-250528",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "errors": [
              {
                "condition": "JSON, модель, міндетті өрістердің түрлері немесе мазмұн индексі жарамсыз.",
                "http_status": 400,
                "type": "invalid_request_error"
              },
              {
                "condition": "Ailoot API кілті жарамсыз.",
                "http_status": 401,
                "type": "authentication_error"
              },
              {
                "condition": "Тапсырма немесе шығыс нәтижесі жоқ не сол пайдаланушыға, API кілтіне немесе топқа тиесілі емес.",
                "http_status": 404,
                "type": "not_found_error"
              },
              {
                "condition": "Бастапқы жіберу немесе күй мәліметі толық емес; бастапқы ID мәнін сақтап, қайта жібермеңіз.",
                "http_status": 502,
                "type": "result_pending_check"
              },
              {
                "condition": "Бастапқы медиа, маршрут немесе есеп айырысу тексерілуде; бастапқы операцияны жалғастырыңыз.",
                "http_status": 503,
                "type": "result_pending_check"
              }
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "completed_states": [
                "succeeded"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "content_pending": "Original status JSON until publication.",
              "content_ready": {
                "http_status": 303,
                "location": "actual signed Ailoot-owned asset URL"
              },
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [
                "failed",
                "expired"
              ],
              "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
              "mode": "submit_once_poll_original",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "pending_states": [
                "queued",
                "running"
              ],
              "signed_asset_lifetime_seconds": 86400,
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 200,
              "unknown": "Бастапқы жауапты, тақырыптарды және id мәнін сақтап, сол операцияның күйін мезгіл-мезгіл сұраңыз; нәтижесі белгісіз жасау сұрауын ешқашан қайта жібермеңіз.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              [
                "text"
              ],
              [
                "text",
                "image"
              ]
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video"
            ],
            "outputs": {
              "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
              "all_results": "content.video_url ішіндегі әрбір нақты URL мәнін сақтаңыз; index нақты қайтарылған шығыс нәтижесін көрсетуі керек.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string when supplied"
                },
                {
                  "description": null,
                  "name": "content.video_url",
                  "type": "string|string[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object when supplied"
                }
              ],
              "format": null,
              "maximum_outputs": null,
              "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
              "result": "Ашық id/polling_url бар төл JSON. Жарияланғаннан кейін content.video_url ішінде Ailoot иелігіндегі қолтаңбасы бар URL мекенжайлары болады; жарияланғанға дейін таңдалған шығыс URL мекенжайлары босатылады."
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "doubao-seedance-1-0-pro-250528"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Төл пішімдегі мәтін немесе медиа объектілері; сыртқы массив бос болмауы керек. Бұл әмбебап Ailoot құрастырушысы ішкі түйіндердің түрлерін тексермейді.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "content",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Бастапқы 1.x схемасында 2–12 көрсетілген; кейінгі ортақ сипаттама 1.5 үшін 4–12 немесе -1 деп береді. Мысалда екі деректе де құжатталған 5 қолданылады.",
                "default": 5,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 12,
                "minimum": 2,
                "name": "duration",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Мәтіннен бейне жасау үшін расталған мәндер — 480p және 1080p. Үлгі суреті бар кіріс 1080p мәніне жол бермейді. Ортақ 720p санамаланған мәні модельге арналған сипаттамаға қайшы келеді, сондықтан екі режимде де 720p қолдауы анықталмаған күйде қалады.",
                "default": "1080p",
                "default_conditions": "1080p is the documented model default for text-to-video. Reference-image input excludes 1080p; its default is not established here.",
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "resolution",
                "required": false,
                "supported_values_by_mode": {
                  "image_to_video": {
                    "confirmed": [
                      "480p"
                    ],
                    "excluded": [
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  },
                  "text_to_video": {
                    "confirmed": [
                      "480p",
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  }
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Әдепкі мәндер көрініске және модельге байланысты; суретті кіріс ретінде қолдану құжаттамасы adaptive мәнін ұсынады.",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "4:3",
                  "1:1",
                  "3:4",
                  "9:16",
                  "21:9",
                  "adaptive"
                ],
                "enum_known": true,
                "name": "ratio",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "default=online, flex=offline; жасау алдында таңдаңыз.",
                "default": "default",
                "default_known": true,
                "enum": [
                  "default",
                  "flex"
                ],
                "enum_known": true,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": -1,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 4294967295,
                "minimum": -1,
                "name": "seed",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Ailoot талап етеді; құжаттамада үлгі суреті қолданылғанда камераны басқаруға қолдау көрсетілмейтіні жазылған және оның әсеріне кепілдік берілмейді.",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "camerafixed",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "watermark",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": 172800,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 259200,
                "minimum": 3600,
                "name": "execution_expires_after",
                "required": true,
                "type": "integer",
                "unit": "секунд"
              }
            ],
            "profile_binding": "Exact model ID and documented Ailoot video interface.",
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "camerafixed": {
                  "type": "boolean"
                },
                "content": {
                  "items": {
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "duration": {
                  "maximum": 12,
                  "minimum": 2,
                  "type": "integer"
                },
                "execution_expires_after": {
                  "maximum": 259200,
                  "minimum": 3600,
                  "type": "integer"
                },
                "model": {
                  "const": "doubao-seedance-1-0-pro-250528",
                  "type": "string"
                },
                "ratio": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16",
                    "21:9",
                    "adaptive"
                  ],
                  "type": "string"
                },
                "resolution": {
                  "description": "Use the explicit resolution supported_values_by_mode conditions: reference-image input excludes 1080p; 720p support is unresolved. No unconditional per-model enum is asserted.",
                  "type": "string"
                },
                "seed": {
                  "maximum": 4294967295,
                  "minimum": -1,
                  "type": "integer"
                },
                "service_tier": {
                  "enum": [
                    "default",
                    "flex"
                  ],
                  "type": "string"
                },
                "watermark": {
                  "type": "boolean"
                }
              },
              "required": [
                "camerafixed",
                "content",
                "execution_expires_after",
                "model",
                "seed",
                "watermark"
              ],
              "type": "object"
            },
            "source_ambiguities": [
              "Primary content.items.required says type+text even for its image example without text; preserve intended example branches and outer-array validation boundary.",
              "Pro/pro-fast inline-resolution and top-level enum differ; copyable example uses documented 480p."
            ],
            "unsupported": [
              "Separate cancel/delete for this generic method",
              "Separate edit/extension endpoint for this method"
            ]
          },
          "hints": [
            "Бір рет жасаңыз және қайтарылған ашық id/polling_url мәндерін сақтаңыз.",
            "Бастапқы тапсырманың күйін мезгіл-мезгіл сұраңыз; succeeded күйінен кейін иелігіңіздегі нақты content.video_url бойынша файлды жүктеп алыңыз."
          ],
          "input": {
            "additional_properties": true,
            "content_type": "application/json",
            "image_constraints": {
              "aspect_ratio_exclusive": [
                0.4,
                2.5
              ],
              "dimensions_px_exclusive": [
                300,
                6000
              ],
              "file_size_mb_exclusive": 30,
              "formats": [
                "jpeg",
                "png",
                "webp",
                "bmp",
                "tiff",
                "gif"
              ],
              "mb_bytes_definition": null
            },
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "duration",
              "resolution",
              "ratio",
              "service_tier"
            ],
            "required": [
              "camerafixed",
              "content",
              "execution_expires_after",
              "model",
              "seed",
              "watermark"
            ],
            "validation_scope": "Ailoot міндетті өрістердің түрлерін және model/content массивінің бос еместігін тексереді. Сұраудың басқа өрістері таңдалған модель үшін сақталады."
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "completed_states": [
              "succeeded"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "content_pending": "Original status JSON until publication.",
            "content_ready": {
              "http_status": 303,
              "location": "actual signed Ailoot-owned asset URL"
            },
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [
              "failed",
              "expired"
            ],
            "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
            "mode": "submit_once_poll_original",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "pending_states": [
              "queued",
              "running"
            ],
            "signed_asset_lifetime_seconds": 86400,
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 200,
            "unknown": "Preserve original response/headers/id and poll that operation; never resubmit unknown creation.",
            "unknown_no_replay": true
          },
          "manufacturer_capability": {
            "documented_material_types": [
              "text",
              "image"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "operation_modes": [
            "text_to_video",
            "image_to_video"
          ],
          "output": {
            "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
            "all_results": "Retain every actual URL in content.video_url; index must identify a real returned output.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "description": null,
                "name": "polling_url",
                "type": "string"
              },
              {
                "description": null,
                "name": "status",
                "type": "string when supplied"
              },
              {
                "description": null,
                "name": "content.video_url",
                "type": "string|string[]"
              },
              {
                "description": null,
                "name": "usage",
                "type": "object when supplied"
              }
            ],
            "format": null,
            "maximum_outputs": null,
            "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
            "result": "Native JSON with public id/polling_url. After publication content.video_url contains Ailoot-owned signed URL(s); before publication selected output URLs are blanked."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Генерацияның болжамды құны",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON_REQUEST'\n{\"model\":\"doubao-seedance-1-0-pro-250528\",\"content\":[{\"type\":\"text\",\"text\":\"女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动\"}],\"resolution\":\"480p\",\"ratio\":\"1:1\",\"duration\":5,\"service_tier\":\"default\",\"seed\":-1,\"camerafixed\":false,\"watermark\":false,\"execution_expires_after\":172800}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_POLL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\ni=r.get(\"id\")\nif not isinstance(i,str) or not i.startswith(\"native302_\"):raise SystemExit(\"Keep original response/headers/id; do not resubmit creation.\")\nu=urljoin(\"https://api.ailoot.ai\",r.get(\"polling_url\") or \"/v1/videos/\"+quote(i,safe=\"\"))\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/videos/\"):raise SystemExit(\"Use actual Ailoot lookup path.\")\nPath(\"poll-url.txt\").write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error \"$(cat poll-url.txt)\" -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\n",
            "label": "curl · read original task",
            "language": "bash"
          },
          {
            "code": "set -eu\npython3 - <<'PY_ASSETS'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nif r.get(\"status\")!=\"succeeded\":raise SystemExit(\"Poll same original job until an owned result is returned.\")\nu=r.get(\"content\",{}).get(\"video_url\")\nurls=[u] if isinstance(u,str) else u\nif not isinstance(urls,list) or not urls:raise SystemExit(\"No completed video URL.\")\nfor u in urls:\n    if not isinstance(u,str):raise SystemExit(\"Invalid returned URL.\")\n    p=urlsplit(u)\n    if p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/media/assets/\") or not p.path.endswith(\"/content\") or not p.query:raise SystemExit(\"Wait for actual Ailoot-owned signed result.\")\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_ASSETS\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" -o \"video-${index}.bin\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "curl · download owned video",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and retain returned public id/polling_url.",
          "Poll the original job; download actual owned content.video_url after succeeded."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Бейне",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0044000",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_output_token",
            "label": "per 1,000 video tokens",
            "native_amount_usd_per_unit": "0.0000044",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_output_token"
          },
          {
            "amount": "0.2112",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2112",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "doubao-seedance-1-0-pro-250528",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6f72c6c3eafd13ca2273de81dbc1147ca063b56cb895d6da0003a2ab00c9ffa1",
    "input_html_sha256": "26abd45be9711ee15ae7fc0343eef5789a0d941b0485de7d48ceb56848d4de06",
    "private_audit_sha256": "cb474c98131a55b648ec2ee6cda962fbc3e1f9834f216fbbfb49239a22bf86f8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/doubao-seedance-1-0-pro-250528/",
    "description": "Seedance 1.0 Pro мәтіннен немесе бастапқы кескіннен дыбыссыз бейне жасайды. Әрекет пен камераны сипаттаңыз немесе қолда бар композицияны жандандырыңыз: ұзақтығы 2–12 секунд, кадр жиілігі секундына 24 кадр; шығыс кадрлауы мен ажыратымдылығы бөлек басқарылады.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/doubao-seedance-1-0-pro-250528/index.md",
    "title": "ByteDance: Seedance 1.0 Pro — Ailoot",
    "url": "https://ailoot.ai/models/kk/doubao-seedance-1-0-pro-250528/"
  },
  "rawModel": {
    "about": "Seedance 1.0 Pro мәтіннен немесе кескін бағыттайтын көріністен бейне жасайды. doubao-seedance-1-0-pro-250528 селекторы екі кіріс режимін де қолдайды, сондықтан бастапқы негіз жазбаша тұжырым немесе қолда бар визуалды композиция болуы мүмкін. Жаңа көрініс жасау үшін мәтіндік тапсырманы, ал нысанды, орналасуды және бастапқы көріністі визуалды түрде белгілеу керек болса, кескінді беріңіз. Бұл 1.0 профилі дыбыссыз бейне шығарады; синхрондалған дыбыс бөлек сипатталған 1.5 Pro профиліне жатады.\n\nМәтіннен бейне жасау үшін нысанды, ортаны, қозғалысты, кадрлауды және камераны біртұтас көрініс ретінде сипаттаңыз. Құжатталған мысалда камера түймедақ алқабынан жапырақшаларында шық бар гүлдің ірі планына біртіндеп өтеді. Мұндай құрылым басқа нысанды ашып көрсетуге де ыңғайлы: ортаны көрсетіп, нысанға жақындаңыз және маңызды бөлшекпен аяқтаңыз. Тауар тұжырымында әрекетпен бірге материал мен жарықты сипаттап, қысқа кадрда орындауға болатын камера қозғалысының бағытын белгілеңіз.\n\nКескіннен бейне жасау үшін референсті image_url түріндегі content элементіне салып, бастапқы көріністен не өзгеруге тиіс екенін түсіндіріңіз. Дайын портрет адамды және кадрлауды белгілесе, мәтін аздап бұрылуды, шаштың қозғалуын немесе камераның баяу шегінуін сипаттай алады. Тауардың статикалық суреті нысан мен фонды белгілеп, мәтін басқарылатын ашып көрсетуді сұрай алады. Сұралған қозғалысты бастапқы композициямен үйлестіріңіз; заттың бір жағының кескіні қалған барлық көрінбейтін жағының дәл бейнесін бермейді.\n\nКескін өрісі қолжетімді URL мекенжайын немесе Base64 кескін деректері бар data URL қабылдайды. Құжатталған пішімдер: JPEG, PNG, WEBP, BMP, TIFF және GIF. Кескін көлемі 30 MB-тан аз, енінің биіктігіне қатынасы қатаң түрде 0.4 пен 2.5 арасында, әр өлшемі қатаң түрде 300 бен 6000 пиксель арасында болуы керек. Айқындаушы бөлшектері жоғалып кеткен нобайға сенбей, қажетті кадрлаумен анық бастапқы кескін дайындаңыз. Кескіннен бейне жасау үшін нұсқаулық референс пропорцияларына еретін бейімделмелі кадрлауды ұсынады.\n\nҚұжатталған 1.0 ұзақтығы екіден он екі секундқа дейін, кадр жиілігі секундына 24 кадр. Шығыс баптауларында 480p, 720p және 1080p бар, Pro әдепкісі — 1080p; нұсқаулық бойынша референс кескін қолданылғанда 1080p қолжетімсіз. Тұрақты кадр пішімдері: 16:9, 4:3, 1:1, 3:4, 9:16 және 21:9. Кескінге негізделген план үшін барлық мәтіннен бейне жасау баптауларын өзгеріссіз көшірмей, кескінге сай параметрлер үйлесімін таңдаңыз. Клипті макетке орналастырмас бұрын нақты қайтарылған кадрлауды тексеріңіз.\n\nБастапқы мән мен сутаңба баптаулары camerafixed параметрімен бірге құжатталған. Камераны бекіту нұсқауы референс кескін сценарийінде қолдау таппайды, ал қолданылатын жерде нұсқаулық камераның толық қозғалмайтынына кепілдік бермейді. Мәтінге енгізілген параметр нұсқаулары бөлек қосымша өрістерден басым. Ұзақтық, ажыратымдылық және арақатынас үшін бір басым баптауды сақтап, камера сипаттамасын соған сәйкестендіріңіз. Бұл көрініс тапсырмасының сұрауға таңдалған баптауларды байқатпай өзгертуіне жол бермейді.\n\nПайдалану көлемі бейнетокендермен өлшенеді: шығыс ені × шығыс биіктігі × кадр жиілігі × шығыс ұзақтығы / 1024. Аяқталған тапсырма бұл мөлшерді usage.completion_tokens арқылы хабарлайды. Хабарланған пайдалану мөлшерін дайын клиппен және оның сұралған баптауларымен бірге сақтаңыз.\n\nАлдымен тапсырма идентификаторы, ал өңдеуден кейін дайын бейненің мекенжайы қайтарылады. Кезек немесе орындалу күйін тексергенде идентификаторды сақтаңыз; сәтті аяқталған тапсырма content.video_url және пайдалану мәліметтерін береді. Жасалған файлдың құжатталған сақтау мерзімі — жеті күн. Дайын клипті, бастапқы кескінді және дәл мәтіндік сұрауды нұсқа жазбасы ретінде сақтаңыз, содан соң толық нәтиже бойындағы нысанның сыртқы түрін, қозғалысты, кескін сабақтастығын және соңғы композицияны тексеріңіз.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.2112",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2112",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Конфигурация бағалары туралы толық ақпарат — егжей-тегжейлі мәліметтерде."
      }
    ],
    "ctx": null,
    "display_name": "ByteDance: Seedance 1.0 Pro",
    "formats": [
      "videos"
    ],
    "id": "doubao-seedance-1-0-pro-250528",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "errors": [
              {
                "condition": "JSON, модель, міндетті өрістердің түрлері немесе мазмұн индексі жарамсыз.",
                "http_status": 400,
                "type": "invalid_request_error"
              },
              {
                "condition": "Ailoot API кілті жарамсыз.",
                "http_status": 401,
                "type": "authentication_error"
              },
              {
                "condition": "Тапсырма немесе шығыс нәтижесі жоқ не сол пайдаланушыға, API кілтіне немесе топқа тиесілі емес.",
                "http_status": 404,
                "type": "not_found_error"
              },
              {
                "condition": "Бастапқы жіберу немесе күй мәліметі толық емес; бастапқы ID мәнін сақтап, қайта жібермеңіз.",
                "http_status": 502,
                "type": "result_pending_check"
              },
              {
                "condition": "Бастапқы медиа, маршрут немесе есеп айырысу тексерілуде; бастапқы операцияны жалғастырыңыз.",
                "http_status": 503,
                "type": "result_pending_check"
              }
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "completed_states": [
                "succeeded"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "content_pending": "Original status JSON until publication.",
              "content_ready": {
                "http_status": 303,
                "location": "actual signed Ailoot-owned asset URL"
              },
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [
                "failed",
                "expired"
              ],
              "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
              "mode": "submit_once_poll_original",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "pending_states": [
                "queued",
                "running"
              ],
              "signed_asset_lifetime_seconds": 86400,
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 200,
              "unknown": "Бастапқы жауапты, тақырыптарды және id мәнін сақтап, сол операцияның күйін мезгіл-мезгіл сұраңыз; нәтижесі белгісіз жасау сұрауын ешқашан қайта жібермеңіз.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              [
                "text"
              ],
              [
                "text",
                "image"
              ]
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video"
            ],
            "outputs": {
              "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
              "all_results": "content.video_url ішіндегі әрбір нақты URL мәнін сақтаңыз; index нақты қайтарылған шығыс нәтижесін көрсетуі керек.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string when supplied"
                },
                {
                  "description": null,
                  "name": "content.video_url",
                  "type": "string|string[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object when supplied"
                }
              ],
              "format": null,
              "maximum_outputs": null,
              "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
              "result": "Ашық id/polling_url бар төл JSON. Жарияланғаннан кейін content.video_url ішінде Ailoot иелігіндегі қолтаңбасы бар URL мекенжайлары болады; жарияланғанға дейін таңдалған шығыс URL мекенжайлары босатылады."
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "doubao-seedance-1-0-pro-250528"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Төл пішімдегі мәтін немесе медиа объектілері; сыртқы массив бос болмауы керек. Бұл әмбебап Ailoot құрастырушысы ішкі түйіндердің түрлерін тексермейді.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "content",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Бастапқы 1.x схемасында 2–12 көрсетілген; кейінгі ортақ сипаттама 1.5 үшін 4–12 немесе -1 деп береді. Мысалда екі деректе де құжатталған 5 қолданылады.",
                "default": 5,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 12,
                "minimum": 2,
                "name": "duration",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Мәтіннен бейне жасау үшін расталған мәндер — 480p және 1080p. Үлгі суреті бар кіріс 1080p мәніне жол бермейді. Ортақ 720p санамаланған мәні модельге арналған сипаттамаға қайшы келеді, сондықтан екі режимде де 720p қолдауы анықталмаған күйде қалады.",
                "default": "1080p",
                "default_conditions": "1080p is the documented model default for text-to-video. Reference-image input excludes 1080p; its default is not established here.",
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "resolution",
                "required": false,
                "supported_values_by_mode": {
                  "image_to_video": {
                    "confirmed": [
                      "480p"
                    ],
                    "excluded": [
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  },
                  "text_to_video": {
                    "confirmed": [
                      "480p",
                      "1080p"
                    ],
                    "unresolved": [
                      "720p"
                    ]
                  }
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Әдепкі мәндер көрініске және модельге байланысты; суретті кіріс ретінде қолдану құжаттамасы adaptive мәнін ұсынады.",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "4:3",
                  "1:1",
                  "3:4",
                  "9:16",
                  "21:9",
                  "adaptive"
                ],
                "enum_known": true,
                "name": "ratio",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "default=online, flex=offline; жасау алдында таңдаңыз.",
                "default": "default",
                "default_known": true,
                "enum": [
                  "default",
                  "flex"
                ],
                "enum_known": true,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": -1,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 4294967295,
                "minimum": -1,
                "name": "seed",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Ailoot талап етеді; құжаттамада үлгі суреті қолданылғанда камераны басқаруға қолдау көрсетілмейтіні жазылған және оның әсеріне кепілдік берілмейді.",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "camerafixed",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "watermark",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": 172800,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 259200,
                "minimum": 3600,
                "name": "execution_expires_after",
                "required": true,
                "type": "integer",
                "unit": "секунд"
              }
            ],
            "profile_binding": "Exact model ID and documented Ailoot video interface.",
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "camerafixed": {
                  "type": "boolean"
                },
                "content": {
                  "items": {
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "duration": {
                  "maximum": 12,
                  "minimum": 2,
                  "type": "integer"
                },
                "execution_expires_after": {
                  "maximum": 259200,
                  "minimum": 3600,
                  "type": "integer"
                },
                "model": {
                  "const": "doubao-seedance-1-0-pro-250528",
                  "type": "string"
                },
                "ratio": {
                  "enum": [
                    "16:9",
                    "4:3",
                    "1:1",
                    "3:4",
                    "9:16",
                    "21:9",
                    "adaptive"
                  ],
                  "type": "string"
                },
                "resolution": {
                  "description": "Use the explicit resolution supported_values_by_mode conditions: reference-image input excludes 1080p; 720p support is unresolved. No unconditional per-model enum is asserted.",
                  "type": "string"
                },
                "seed": {
                  "maximum": 4294967295,
                  "minimum": -1,
                  "type": "integer"
                },
                "service_tier": {
                  "enum": [
                    "default",
                    "flex"
                  ],
                  "type": "string"
                },
                "watermark": {
                  "type": "boolean"
                }
              },
              "required": [
                "camerafixed",
                "content",
                "execution_expires_after",
                "model",
                "seed",
                "watermark"
              ],
              "type": "object"
            },
            "source_ambiguities": [
              "Primary content.items.required says type+text even for its image example without text; preserve intended example branches and outer-array validation boundary.",
              "Pro/pro-fast inline-resolution and top-level enum differ; copyable example uses documented 480p."
            ],
            "unsupported": [
              "Separate cancel/delete for this generic method",
              "Separate edit/extension endpoint for this method"
            ]
          },
          "hints": [
            "Бір рет жасаңыз және қайтарылған ашық id/polling_url мәндерін сақтаңыз.",
            "Бастапқы тапсырманың күйін мезгіл-мезгіл сұраңыз; succeeded күйінен кейін иелігіңіздегі нақты content.video_url бойынша файлды жүктеп алыңыз."
          ],
          "input": {
            "additional_properties": true,
            "content_type": "application/json",
            "image_constraints": {
              "aspect_ratio_exclusive": [
                0.4,
                2.5
              ],
              "dimensions_px_exclusive": [
                300,
                6000
              ],
              "file_size_mb_exclusive": 30,
              "formats": [
                "jpeg",
                "png",
                "webp",
                "bmp",
                "tiff",
                "gif"
              ],
              "mb_bytes_definition": null
            },
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "duration",
              "resolution",
              "ratio",
              "service_tier"
            ],
            "required": [
              "camerafixed",
              "content",
              "execution_expires_after",
              "model",
              "seed",
              "watermark"
            ],
            "validation_scope": "Ailoot міндетті өрістердің түрлерін және model/content массивінің бос еместігін тексереді. Сұраудың басқа өрістері таңдалған модель үшін сақталады."
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "completed_states": [
              "succeeded"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "content_pending": "Original status JSON until publication.",
            "content_ready": {
              "http_status": 303,
              "location": "actual signed Ailoot-owned asset URL"
            },
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [
              "failed",
              "expired"
            ],
            "id_source": "Actual returned id or X-Ailoot-Task-Id; provider_task_id is separate. Use returned polling_url.",
            "mode": "submit_once_poll_original",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "pending_states": [
              "queued",
              "running"
            ],
            "signed_asset_lifetime_seconds": 86400,
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 200,
            "unknown": "Preserve original response/headers/id and poll that operation; never resubmit unknown creation.",
            "unknown_no_replay": true
          },
          "manufacturer_capability": {
            "documented_material_types": [
              "text",
              "image"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "operation_modes": [
            "text_to_video",
            "image_to_video"
          ],
          "output": {
            "additional_media_boundary": "Only content.video_url is selected for ownership. No owned last-frame/callback result flow is established.",
            "all_results": "Retain every actual URL in content.video_url; index must identify a real returned output.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "description": null,
                "name": "polling_url",
                "type": "string"
              },
              {
                "description": null,
                "name": "status",
                "type": "string when supplied"
              },
              {
                "description": null,
                "name": "content.video_url",
                "type": "string|string[]"
              },
              {
                "description": null,
                "name": "usage",
                "type": "object when supplied"
              }
            ],
            "format": null,
            "maximum_outputs": null,
            "ownership": "Configured video outputs are copied, reopened and SHA256/length/positive-duration checked before publication.",
            "result": "Native JSON with public id/polling_url. After publication content.video_url contains Ailoot-owned signed URL(s); before publication selected output URLs are blanked."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Генерацияның болжамды құны",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON_REQUEST'\n{\"model\":\"doubao-seedance-1-0-pro-250528\",\"content\":[{\"type\":\"text\",\"text\":\"女孩抱着狐狸，女孩睁开眼，温柔地看向镜头，狐狸友善地抱着，镜头缓缓拉出，女孩的头发被风吹动\"}],\"resolution\":\"480p\",\"ratio\":\"1:1\",\"duration\":5,\"service_tier\":\"default\",\"seed\":-1,\"camerafixed\":false,\"watermark\":false,\"execution_expires_after\":172800}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_POLL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\ni=r.get(\"id\")\nif not isinstance(i,str) or not i.startswith(\"native302_\"):raise SystemExit(\"Keep original response/headers/id; do not resubmit creation.\")\nu=urljoin(\"https://api.ailoot.ai\",r.get(\"polling_url\") or \"/v1/videos/\"+quote(i,safe=\"\"))\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/videos/\"):raise SystemExit(\"Use actual Ailoot lookup path.\")\nPath(\"poll-url.txt\").write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error \"$(cat poll-url.txt)\" -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\n",
            "label": "curl · read original task",
            "language": "bash"
          },
          {
            "code": "set -eu\npython3 - <<'PY_ASSETS'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nr=json.loads(Path(\"status.json\").read_text())\nif r.get(\"status\")!=\"succeeded\":raise SystemExit(\"Poll same original job until an owned result is returned.\")\nu=r.get(\"content\",{}).get(\"video_url\")\nurls=[u] if isinstance(u,str) else u\nif not isinstance(urls,list) or not urls:raise SystemExit(\"No completed video URL.\")\nfor u in urls:\n    if not isinstance(u,str):raise SystemExit(\"Invalid returned URL.\")\n    p=urlsplit(u)\n    if p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/media/assets/\") or not p.path.endswith(\"/content\") or not p.query:raise SystemExit(\"Wait for actual Ailoot-owned signed result.\")\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_ASSETS\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" -o \"video-${index}.bin\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "curl · download owned video",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and retain returned public id/polling_url.",
          "Poll the original job; download actual owned content.video_url after succeeded."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Бейне",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0044000",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_output_token",
                "label": "per 1,000 video tokens",
                "native_amount_usd_per_unit": "0.0000044",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_output_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.2112",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.2112",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0044000",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_output_token",
            "label": "per 1,000 video tokens",
            "native_amount_usd_per_unit": "0.0000044",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_output_token"
          },
          {
            "amount": "0.2112",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.2112",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "doubao-seedance-1-0-pro-250528",
        "request_model_id": "doubao-seedance-1-0-pro-250528",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance: Seedance 1.0 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.2112,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.2112,
      "varies": false
    },
    "short": "Seedance 1.0 Pro мәтіннен немесе бастапқы кескіннен дыбыссыз бейне жасайды. Әрекет пен камераны сипаттаңыз немесе қолда бар композицияны жандандырыңыз: ұзақтығы 2–12 секунд, кадр жиілігі секундына 24 кадр; шығыс кадрлауы мен ажыратымдылығы бөлек басқарылады."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Seedance 1.0 Pro мәтіннен немесе бастапқы кескіннен дыбыссыз бейне жасайды. Әрекет пен камераны сипаттаңыз немесе қолда бар композицияны жандандырыңыз: ұзақтығы 2–12 секунд, кадр жиілігі секундына 24 кадр; шығыс кадрлауы мен ажыратымдылығы бөлек басқарылады.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "40ded582bce1477fa93ccbe008e822997ae302e9b26f65f6fc5803d63456f51b",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "cf207d35b30251f20946cbf5e08f6ccdc663fe73172d140697e10611e0b02af0"
}
