Source: https://ailoot.ai/models/ru/bytedance-seedance-2-0/
Canonical: https://ailoot.ai/models/ru/bytedance-seedance-2-0/
Language: ru

# ByteDance: Seedance 2.0

[Markdown](https://ailoot.ai/models/ru/bytedance-seedance-2-0/index.md) · [JSON](https://ailoot.ai/models/ru/bytedance-seedance-2-0/facts.json)

## [ByteDance: Seedance 2.0](https://ailoot.ai/models/ru/bytedance-seedance-2-0/)

ByteDance Seedance 2.0 сочетает встроенную генерацию аудио и видео с референсами изображений, видео и звука. Создавайте новые сцены, редактируйте материал или расширяйте последовательность; стандартная версия включает документированный вывод 1080p и 10-битный 4K.

- [**Ailoot Ultra · Видео** `POST /v1/videos` `bytedance/seedance-2.0`](https://ailoot.ai/models/ru/bytedance-seedance-2-0/#method-0)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Seedance 2.0 — стандартная модель ByteDance Seed для мультимодального аудиовизуального творчества. Совместная архитектура объединяет текст, изображения, видео и аудио; отдельные сценарии создают сцены по референсам, редактируют и расширяют видео. Она полезна, когда нужны связное исполнение и конкретная визуальная или звуковая информация подготовленных материалов.

#### Мультимодальные референсы и режиссёрское управление

Изображения задают внешность, стиль и композицию; видео направляют действия, камеру и эффекты; аудио — тембр, музыку или диалог. Определите роль материала и опишите итоговую сцену. Производитель подчёркивает управление исполнением, светом, тенями и языком камеры.

Для продуктовой истории подготовьте фото продукта, референс камеры и звуковую подсказку. Пример: «Сохраните синюю стеклянную вазу из Image 1. Используйте медленное боковое движение камеры из Video 1. Ваза стоит на освещённой солнцем полке под мягкую инструментальную музыку на основе Audio 1». Результат — новая постановочная сцена из выбранных сведений референсов.

Можно сочетать изображение и аудио, изображение и видео, видео и аудио или все три типа. Только аудио и текст с аудио без изображения или видео не поддерживаются. Также документированы текст–видео, первый кадр и первый с последним. Если важны фиксированные начало и конец, используйте специальный сценарий: название референса граничным кадром в omni-reference-промпте управляет им лишь косвенно.

#### Редактирование материала

Модель заменяет объект, добавляет или удаляет предметы, меняет элементы, перерисовывает или исправляет части видео. Опишите конкретную правку и исходный материал. Для добавления укажите время и место появления; для удаления или замены — точный объект и сохраняемые детали.

Например: «Замените настольную лампу в Video 1 латунной лампой из Image 1. Сохраните движение камеры, расположение на столе и направление света». Нужный результат — изменённая сцена с заданной заменой. Проверяйте неизменяемые области и новый предмет, особенно при перекрытии, движении и смене планов.

#### Расширение и соединение последовательности

Seedance 2.0 расширяет видео вперёд или назад и соединяет до трёх клипов сгенерированными переходами. Задайте временное направление и новое событие. Для связки упорядочите клипы и опишите переход каждой пары, например вход камеры в дверной проём и появление в следующем окружении.

Простое расширение обычно возвращает продолжение вокруг исходника; явно укажите, если нужно повторить исходный сегмент. При соединении двух-трёх клипов сценарий может включать оригиналы и новый переход. Это помогает развить начало или конец либо связать подготовленные сцены с определённым действием стыка.

#### Стандартный вывод и 4K

Стандартная версия документирует MP4, 24 fps и длительность от 4 до 15 секунд. Уровни — 480p, 720p, 1080p с 8-битным цветом и 4K с 10-битным. Соотношения — 21:9, 16:9, 4:3, 1:1, 3:4 и 9:16. Также документированы адаптивное кадрирование и автоматическая длительность. У Fast отдельный более узкий профиль 480p/720p.

4K использует H.265/HEVC. Десятибитная кодировка сохраняет дополнительные тональные градации и плавность цвета, важные для тонких световых или цветовых переходов. Проверьте декодирование в целевой среде воспроизведения и монтажа: некоторые браузеры и устройства не воспроизводят напрямую. Совместимый контейнер сам по себе не обеспечивает совместимого видеодекодирования.

Модель создаёт синхронный звук или немое видео и возвращает последний сгенерированный кадр для следующей сцены. Звук монофонический. Семейство 2.0 не поддерживает отдельное двухэтапное превью Draft; не следует переносить его из другой версии Seedance.

#### Подготовка референсов и существенные пределы

Ёмкость — до девяти изображений, трёх видео и трёх аудио. Прямая загрузка изображений или видео с реальными лицами в этом профиле не принимается; используется поддерживаемый портретный сценарий. Каждый видео- и аудиоклип — 2–15 секунд. Все видео вместе — до 15 секунд, все аудио отдельно — до 15 секунд. Видео: MP4/MOV, 24–60 fps, до 200 MB каждое; аудио: WAV/MP3, до 15 MB каждое. Изображения: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF, меньше 30 MB каждое; тело запроса — до 64 MB. В референсном профиле ширина и высота изображения строго между 300 и 6 000 пикселей, отношение ширины к высоте строго между 0,4 и 2,5. Видео допускают 300–6 000 пикселей по измерению, отношение 0,4–2,5 включительно и 407 696–8 295 044 пикселя всего. MP4/MOV используют H.264/AVC либо H.265/HEVC и аудио AAC либо MP3.

Упорядочите файлы и называйте тип с номером: Image 1, Video 1, Audio 1. Номер следует порядку внутри типа. Объясните переносимые черты и содержание, которое не должно задавать новую сцену. Документированные языки промпта — английский, испанский, индонезийский, португальский и японский. Сохраняйте один язык речи в диалоге; кроме имён собственных, смешение не рекомендуется. При работе с голосом отделяйте диктора, точную реплику и указание подачи.

Подготовьте первый и последний кадры с совместимым кадрированием. Несовпадение изображения и вывода может вызвать обрезку или резкую смену кадра; согласованные размеры и адаптивное кадрирование документированы как решения. Сосредоточьте описание на событии и ролях референсов. Производитель предупреждает: длинный промпт рассеивает информацию, детали могут игнорироваться. Проверяйте движение, непрерывность референсов, звук и стыки сцен отдельно.

#### Планирование кадров и указания текста

Сложную сцену организуйте как Shot 1, Shot 2 и Shot 3, задавая камеру, действие, положение и звук по порядку. Рекомендованы одно движение камеры на план и медленные связанные действия. Точные временные метки планов нестабильны; последовательность событий управляет лучше нескольких точных окон.

Модель генерирует обычный текст: слоганы, субтитры и речевые облачка. Можно задать цвет, оформление, место и появление. Используйте обычные символы вместо редких или специальных, проверяйте надпись в движении. Ясно привяжите каждый референс к персонажу или объекту. Ракурсы продукта дают разную информацию; коллажи разворотов персонажа могут путать узнаваемость лица. Документированная рекомендация — отдельные ясные портрет и изображение в полный рост.

#### Поведение для проверки перед монтажом

Руководство описывает нежелательные субтитры, логотипы, дубли персонажей и уход стиля. Чистые материалы, постоянные метки и явные ограничения уменьшают риск, но не гарантируют устранения текста или дублей. Более четырёх референсных людей — риск устойчивости, отдельный от числа файлов.

Расширение может дать скачок или откат на стыке; повторные продолжения накапливают потерю качества. Проверяйте граничные кадры и ограничивайте последовательные расширения. Референсный голос может отличаться тембром, повествование — оканчиваться щелчком или обрывом; документированное решение — затухание аудио. Китайские иероглифы с несколькими чтениями, редкие или похожие по начертанию знаки могут произноситься неверно. Для точного анимированного эффекта, например обратного отсчёта, референс движения информативнее словесного запроса. Это конкретные причины отдельно проверять соответствие внешности референсам, текст, движение и звук при выборе клипа.

**Ailoot Ultra · Видео** `POST /v1/videos` `bytedance/seedance-2.0`

[`bytedance/seedance-2.0`](https://ailoot.ai/models/ru/#m=bytedance%2Fseedance-2.0&route=Ultra&caller=bytedance%2Fseedance-2.0&fmt=videos)

ByteDance /`bytedance/seedance-2.0`

### Начало

ByteDance Seedance 2.0 сочетает встроенную генерацию аудио и видео с референсами изображений, видео и звука. Создавайте новые сцены, редактируйте материал или расширяйте последовательность; стандартная версия включает документированный вывод 1080p и 10-битный 4K.

Допустимые входные данные

Текст · Картинки · Аудио

Результаты

Видео

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Видео** `POST /v1/videos`

Входные данные

`text`, `image`, `audio`

Результат

`video`

Выходной формат

Исходные байты MP4; без нормализации и перекодирования

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения bytedance/seedance-2.0 | По умолчанию— |
| Поле`prompt` | Тип`string` | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
| Поле`duration` | Тип`integer` | ТребованиеОбязательно | Значения и ограничения 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Минимум: 1 Максимум: 600 | По умолчанию— |
| Поле`resolution` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения 480p, 720p, 1080p, 4K | По умолчанию— |
| Поле`aspect_ratio` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения 1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21 | По умолчанию— |
| Поле`generate_audio` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения false, true Условия: При 480p и 720p отсутствие generate\_audio выбирает цену с аудио, а false — цену без аудио. При 1080p и 4K цена разрешения действует при обоих значениях. Проверьте has\_audio в результате, чтобы узнать о возвращённой аудиодорожке. | По умолчанию— |
| Поле`frame_images` | Тип`array` | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 1 Максимум элементов: 2 Входное содержимое: Массив объектов кадров. Каждый содержит type=image\_url, image\_url с url и frame\_type=first\_frame или last\_frame. Каждая роль встречается не более одного раза. Используйте публичные HTTPS-ссылки. Точные ключи: type, image\_url, frame\_type Условия: Эти ключи применяются к каждому объекту кадра. Не передавайте frame\_images для запроса только с текстом. | По умолчанию— |
| Поле`input_references` | Тип`array` | ТребованиеНеобязательно | Значения и ограничения Входное содержимое: Массив объектов референсных изображений или аудио. Укажите image\_url или audio\_url в type и передайте соответствующий объект URL, содержащий url. Стоимость видеореференсов по-прежнему невозможно определить. Условия: Не передавайте frame\_images, чтобы использовать режим референсов. Используйте публичные HTTPS URL. | По умолчанию— |
| Поле`size` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения 480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720, 1080x1080, 1080x1440, 1080x1920, 1440x1080, 1920x1080, 2520x1080, 3840x2160, 2160x3840, 2160x2160, 2880x2160, 2160x2880, 5040x2160 Шаблон: ^\[1-9\]\[0-9\]\*x\[1-9\]\[0-9\]\*$ | По умолчанию— |
| Поле`seed` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: -9 223 372 036 854 775 808 Максимум: 9 223 372 036 854 775 807 | По умолчанию— |
| Поле`callback_url` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Шаблон: ^https:// | По умолчанию— |
| Поле`session_id` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`trace` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
| Поле`user` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |

Сочетания входных материалов

**Из текста в видео** · Текстовый запрос. · Обязательно: model, prompt, duration

`Передайте текстовый запрос и поддерживаемую длительность в целых секундах. Используйте точный размер из списка либо разрешение и соотношение сторон, дающие указанные в списке размеры.`

`model`: Тип: string · bytedance/seedance-2.0

`prompt`: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да

**Из изображения в видео** · Текстовый запрос и изображение кадра. · Обязательно: model, prompt, duration, frame\_images

`frame_images — массив объектов с type=image_url, image_url, содержащим url, и frame_type. Используйте публичный HTTPS URL изображения; first_frame и last_frame могут встречаться по одному разу. Используйте перечисленный размер результата или совместимые размеры. Не добавляйте видеореференсы.`

Точные ключи: type, image\_url, frame\_type

`model`: Тип: string · bytedance/seedance-2.0

`prompt`: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да

**Reference to video** · Текстовый запрос и референсные изображения или аудио. · Обязательно: model, prompt, duration, input\_references

`input_references — массив. Каждый объект содержит type=image_url или type=audio_url и соответствующий объект URL с url. Используйте публичные HTTPS-ссылки. Не передавайте frame_images, чтобы выбрать режим референсов. Стоимость видеореференсов определить невозможно.`

`model`: Тип: string · bytedance/seedance-2.0

`prompt`: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, prompt, duration |
| Параметр`material_types` | Контрактtext, image, audio |
| Параметр`additional_properties` | Контрактfalse |
| Параметр`optional_controls` | Контрактresolution, aspect\_ratio, generate\_audio, frame\_images, input\_references, size, seed, callback\_url, session\_id, trace, user |

Жизненный цикл: `submit_once_poll_original`

`GET /v1/videos/{public_id}`

`GET /v1/videos/{public_id}/content`

### Тарифы

##### Как рассчитывается итоговая плата

Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим

Не указано При выборе быстрого режима

Режим flex

Не указано При выборе режима flex

Максимальная интенсивность рассуждений

Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

#### Оценочные ставки для сравнения

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Условия расчёта | Плата |
| --- | --- | --- | --- | --- | --- |
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Условия расчёта— | Плата Вход · Входные токены · Оценка только для сравнения **—** / 1K токенов Выход · Выходные токены · Оценка только для сравнения **—** / 1K токенов Вход · Чтение кэша · Оценка только для сравнения **—** / 1K токенов Вход · Запись в кэш · Оценка только для сравнения **—** / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения **—** / 1K токенов |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видеотокена · Оценка только для сравнения **$0.014** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётаresolution: 1080p | Плата Выход · Цена видеотокена · Оценка только для сравнения **$0.0154** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётавходные данные: with\_video\_input; разрешение: 1080p | Плата reference · Цена видеотокена · Оценка только для сравнения **$0.0094** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётаresolution: 4k | Плата Выход · Цена видеотокена · Оценка только для сравнения **$0.008** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётавходные данные: with\_video\_input; разрешение: 4k | Плата reference · Цена видеотокена · Оценка только для сравнения **$0.0048** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётавходные данные: with\_video\_input | Плата reference · Цена видеотокена · Оценка только для сравнения **$0.0086** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Шкала ставок— | Прогноз количества— | Расчётная единицаза 1K видеотокенов | Условия расчётааудио: without\_audio | Плата Выход · Цена видеотокена · Оценка только для сравнения **$0.014** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Условия расчёта— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения **$0.3024** оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

#### Сведения о справочном тарифе

Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.

Ссылки на цены конфигураций видео

#### Цены по конфигурациям

Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.

| Конфигурация | Условия расчёта | Плата |
| --- | --- | --- |
| КонфигурацияЦена видеотокена | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видеотокена **$0.014** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Условия расчётаresolution: 4k | Плата Выход · Цена видеотокена **$0.008** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Условия расчётаresolution: 1080p | Плата Выход · Цена видеотокена **$0.0154** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Условия расчётааудио: without\_audio | Плата Выход · Цена видеотокена **$0.014** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Условия расчётавходные данные: with\_video\_input | Плата reference · Цена видеотокена **$0.0086** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Условия расчётавходные данные: with\_video\_input; разрешение: 4k | Плата reference · Цена видеотокена **$0.0048** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |
| КонфигурацияЦена видеотокена | Условия расчётавходные данные: with\_video\_input; разрешение: 1080p | Плата reference · Цена видеотокена **$0.0094** за 1K видеотокенов Тариф за видеотокен — основной ориентир цены. Посекундные оценки в заголовке служат отдельными ориентирами, а не дополнительным списанием. |

### Примеры запросов

#### Ailoot Ultra · Видео

curl · создать видео

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"model":"bytedance/seedance-2.0","prompt":"A serene mountain landscape at sunset","duration":4,"resolution":"480p","size":"480x480","generate_audio":false}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
```

### Получить и сохранить результаты

#### Ailoot Ultra · Видео

подписанные ссылки на содержимое, принадлежащее Ailoot

- `GET /v1/videos/{public_id}`
- `GET /v1/videos/{public_id}/content`

##### Проверить статус задачи

GET статус исходной операции

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
```

Чтение другого содержимого

Сохраняйте каждый готовый результат, принадлежащий вам

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
```

##### Сохраняйте все готовые результаты

Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.

Сохраняйте каждый фактический результат, принадлежащий Ailoot, и возвращённые измеренные метаданные.

##### Если нужно проверить исходный ответ

503 result\_pending\_check + исходный id + X-Should-Retry:false; никогда не отправляйте исходный запрос повторно

Поля ответа

| Поле | Тип | Значение |
| --- | --- | --- |
| Поле`index` | Типinteger | ЗначениеПозиция этого видео в списке результатов, начиная с нуля. |
| Поле`content_url` | Типstring | ЗначениеПодписанный HTTPS URL для скачивания этого готового видео. |
| Поле`sha256` | Типstring \| null | ЗначениеХэш SHA-256 исходных байтов видео; null, если недоступен. |
| Поле`size_bytes` | Типinteger \| null | ЗначениеРазмер исходного видеофайла в байтах; null, если недоступен. |
| Поле`duration_ms` | Типinteger \| null | ЗначениеИзмеренная длительность видео в миллисекундах; null, если недоступна. |
| Поле`width` | Типinteger \| null | ЗначениеШирина видео в пикселях; null, если недоступна. |
| Поле`height` | Типinteger \| null | ЗначениеВысота видео в пикселях; null, если недоступна. |
| Поле`video_codec` | Типstring \| null | ЗначениеИдентификатор видеокодека; null, если не записан. |
| Поле`has_audio` | Типboolean \| null | ЗначениеЕсть ли у видео аудиодорожка; null, если не измерено. |
| Поле`audio_codec` | Типstring \| null | ЗначениеИдентификатор аудиокодека; null, если идентификатор не записан. |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ404 · `not_found_error` | УсловиеДоступ к видео недоступен либо этот ID видео не найден. | Следующий шагПроверьте доступ к видео. Для существующего видео используйте исходный публичный ID и тот же ключ API. |
| Ответ401 · `authentication_error` | УсловиеКлюч API не соответствует авторизованному аккаунту. | Следующий шагПеред отправкой проверьте ключ API и доступ к аккаунту. |
| Ответ400 · `invalid_request_error` | УсловиеНе удалось прочитать запрос либо индекс скачивания недопустим. | Следующий шагИсправьте тело запроса. Для скачивания выберите индекс результата, возвращённый исходной задачей. |
| Ответ422 · `price_unavailable` | УсловиеНевозможно определить цену выбранной конфигурации видео. | Следующий шагВыберите поддерживаемую конфигурацию видео и заполните обязательные параметры перед отправкой исправленного запроса. |
| Ответ422 · `invalid_request_error` | УсловиеНедопустимы входное видео или исходная задача продолжения. | Следующий шагИспользуйте корректные входные HTTPS-ссылки. Для продолжения используйте исходный публичный ID вашего готового видео и тот же ключ API. |
| Ответ402 · `billing_error` | УсловиеДоступный баланс или лимиты не позволяют зарезервировать средства. | Следующий шагПеред отправкой нового запроса проверьте доступный баланс и лимиты. |
| Ответ503 · `server_error` | УсловиеПроверка видео, хранилище или доступ к сервису временно недоступны. | Следующий шагДождитесь доступности сервиса. Если у вас уже есть ID видео, проверяйте ту исходную задачу вместо создания новой генерации. |
| Ответ503 · `result_pending_check` | УсловиеНужно проверить результат исходного видео и начисление. | Следующий шагСохраните возвращённый ID видео и проверьте эту задачу. Не отправляйте заменяющий запрос на генерацию, пока идёт проверка. |
| Ответ503 · `owned_result_unavailable` | УсловиеСкачивание существующего видео временно недоступно. | Следующий шагПроверьте ту же видеозадачу позже и скачайте её существующий результат. Новая генерация создаёт отдельную операцию. |
| Ответ409 · `video_not_ready` | УсловиеСодержимое видео не опубликовано. | Следующий шагПроверьте исходный статус задачи. Скачайте результат после completed; при failed следуйте уведомлению о проверке начисления. |

### Псевдонимы

#### Псевдонимы моделей

**Ailoot Ultra** [`bytedance/seedance-2.0`](https://ailoot.ai/models/ru/#m=bytedance%2Fseedance-2.0&route=Ultra&caller=bytedance%2Fseedance-2.0&fmt=videos)

#### Псевдонимы путей метода

Используйте пути методов, указанные выше.

#### Связанные ID для вызова

[`bytedance/seedance-2.0`](https://ailoot.ai/models/ru/#m=bytedance%2Fseedance-2.0&route=Ultra&caller=bytedance%2Fseedance-2.0&fmt=videos)

FAQ · ByteDance: Seedance 2.0

Какие входные данные и результаты доступны?

`POST /v1/videos` · `bytedance/seedance-2.0`: `text`, `image`, `audio` → `video`

Какие поля использует запрос?

`POST /v1/videos` · `bytedance/seedance-2.0`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`, `generate_audio`, `frame_images`, `input_references`, `size`, `seed`, `callback_url`, `session_id`, `trace`, `user`

Какие ограничения действуют?

`POST /v1/videos` · `bytedance/seedance-2.0`: `duration.minimum`: `1`; `duration.maximum`: `600`; `frame_images.max_items`: `2`; `frame_images.min_items`: `1`; `seed.minimum`: `-9223372036854775808`; `seed.maximum`: `9223372036854775807`

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

## Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

## Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка

Выберите тариф со скидкой для своих регулярных запросов.

Промокод до 50%

Введите код при покупке. Цена пересчитается с учётом действующей акции.

Расходы в истории

Модель, токены и сумма сохраняются для каждого запроса.

[Выбрать подписку](https://ailoot.ai/docs/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
