Войти

Seedance 2.5 Text to Video

Генерация кинематографичного видео по тексту с нативным аудио. Поддерживаются референсы изображений, коротких видео и аудио. Длительность ролика 4–30 секунд, разрешение до 4K.

Запрос
Опишите сцену, действия, движение камеры, свет и настроение ролика.
Изображения для стиля, персонажей или композиции. До 30 файлов.
Видео для движения, темпа или визуального стиля. До 10 файлов, суммарно до 30 секунд.
Аудио для голоса, ритма или атмосферы. До 10 файлов, суммарно до 30 секунд.
Формат кадра выходного видео.
Соотношение сторон
Выберите качество выходного видео: 480p, 720p, 1080p или 4k.
Разрешение
От 4 до 30 секунд.
5

О модели Seedance 2.5 Text to Video

Обзор

Seedance 2.5 от ByteDance Seed официально представлена в июле 2026 года. Режим Text to Video — базовый текстовый endpoint линейки 2.5: создаёт ролики длительностью 4–30 секунд с нативным аудио в разрешениях до 4K (также 480p, 720p и 1080p). По сравнению с Seedance 2.0 Text to Video (короче клип, потолок 1080p и меньше референсов) версия 2.5 рассчитана на длинный нарратив «в один проход»: лучше держит сюжетную связность между планами, переходы камеры и аудиовизуальную согласованность. Главное отличие — расширенные мультимодальные референсы: до 30 изображений, 10 видео и 10 аудио за один запрос, плюс усиленный контроль через clay render, motion и creative references. Пользователь задаёт сцену текстом, при необходимости добавляет референсы персонажей, стиля или движения, выбирает формат кадра, длительность и разрешение, включает генерацию звука. Самое важное: это endpoint для законченных коротких историй и продакшен-сцен, а не для мгновенных черновиков. Ограничения: сложная физика движений и взаимодействие многих субъектов всё ещё требуют проверки и итераций.

Сильные стороны

Критерий Оценка Комментарий
Верность референсам Верность референсам — одна из сильнейших сторон endpoint'а: до 30 изображений, 10 видео и 10 аудио, плюс усиленные clay render / motion / creative references. Мелкие признаки и перегрузка большим числом материалов всё ещё могут теряться.
Управление камерой Управление камерой — одна из главных сильных сторон: модель хорошо следует наездам, панорамам, трекингу, смене планов и режиссёрским указаниям, в том числе через clay-render траектории. Редкие срывы траектории остаются на сложных стыках.
Качество отдельного кадра Качество кадра — сильная сторона Seedance 2.5 Text to Video: материалы, кожа, свет и насыщенность заметно чище, чем у типичных AI-роликов, вплоть до 4K. На экстремальных крупных планах и в перегруженных сценах отдельные артефакты всё ещё возможны.
Эстетика и композиция Эстетика и композиция очень сильные: модель уверенно строит кинематографичные кадры, свет, иерархию и «смотрибельность» на длинных дублях до 30 с. В сложных многообъектных постановках композиция иногда требует более жёсткой режиссуры в запросе.
Соответствие запросу Соответствие запросу высокое: модель хорошо собирает объекты, действия, свет и камеру из развёрнутого сценария, включая покадровые временные метки. Перегруженные промпты с слишком частыми резкими сменами всё же выполняются менее стабильно.
Управляемость генерации Управляемость высокая за счёт текста, timestamp-блоков и мультимодальных референсов (изображение/видео/аудио). Предсказуемость падает, если промпт переносят «как есть» со Seedance 2.0 или перегружают слишком частыми короткими кадрами.
Стиль и разнообразие Стилевой диапазон широкий: кино, реклама, анимация и реалистичные сцены получаются выразительно. При избытке разнородных референсов возможен стилевой «bleed»; иногда результат уходит в эффектную, но узнаваемую AI-кинематографичность.

Сценари использования (use cases)

Ограничения и недостатки

Советы

FAQ

Когда выбирать Seedance 2.5, а когда Seedance 2.0 для text-to-video?

Seedance 2.5 берите, когда нужен цельный сюжет до 30 секунд в одном проходе, более плотная работа с мультимодальными референсами и стабильная таймлайн-структура (завязка — развитие — поворот — развязка). Seedance 2.0 остаётся разумным выбором для коротких клипов, быстрых черновиков и массовых проб, где важнее скорость итераций, а не финальная «готовая сцена». На практике часто черновик делают на 2.0, а финальный прогон истории — на 2.5.

Почему при большом числе референсов персонажи и стили смешиваются?

Seedance 2.5 принимает до 50 мультимодальных референсов (до 30 изображений, 10 видео и 10 аудио), но это потолок, а не целевой объём: чем больше слабо размеченных ассетов, тем чаще модель путает роли. В промпте явно привязывайте каждый файл к субъекту или задаче (@Image 1 — лицо и одежда героя, @Video 1 — только движение камеры) и прописывайте, что из референса брать нельзя (фон, посторонние люди, чужой стиль). Для стабильности обычно достаточно небольшого курированного набора и одной роли на файл.

Как правильно задать диалог и нативное аудио, чтобы липсинк не ломался?

Держите «Генерировать аудио» включённым: речь, эффекты и атмосфера рождаются вместе с картинкой. Реплику лучше помещать в фигурные скобки {}, а язык, акцент и подачу указывать до строки — иначе модель может прочитать текст как описание сцены или выбрать неверный язык. Держите реплики короткими и привязанными к видимому говорящему; музыку, шумы и субтитры разделяйте (скобки разных типов или явные запреты вроде «без фоновой музыки / без субтитров»).

Почему клип на 20–30 секунд часто «уплывает» с первого прогона?

Один проход до 30 секунд убирает швы склейки, но не гарантирует неизменность персонажа и сцены до финала — особенно без явной структуры завязка → развитие → поворот → развязка. В промпте планируйте этапы по времени или как связанные кадры с конечным состоянием каждого отрезка и не перегружайте один клип несвязанными действиями. Сначала проверьте идею на короткой длительности, затем поднимайте до 20–30 секунд, когда композиция и идентичность уже стабильны.

Какие ограничения у Seedance 2.5 признаёт сама команда ByteDance Seed?

В официальном анонсе Seedance 2.5 команда прямо отмечает два слабых места: физическая правдоподобность сложных движений и стабильность сцен с взаимодействием нескольких субъектов. На практике это чаще проявляется на тканях, жидкостях, частицах, быстрых многотельных контактах и в сценах, где несколько персонажей одновременно делят кадр и действия. Для таких задач упрощайте физику, сокращайте число конкурирующих героев в одном клипе и отдельно проверяйте идентичность на периферийных кадрах.

Цены

Цена при активной подписке

Стоимость необязательной подписки 299 ₽/месяц Подробнее

API

Инструкция ниже является выдержкой из документации.

Параметры

Поля тела JSON-запроса, которые используются в Playground и доступны для настройки через API. Порядок совпадает с формой на странице.

Параметр Тип Обязательный По умолчанию Допустимые значения Описание
prompt string Да длина 1–8000 символов Опишите сцену, действия, движение камеры, свет и настроение ролика.
reference_images array[string] Нет [] до 30 элементов Изображения для стиля, персонажей или композиции. До 30 файлов. Выберите с диска или перетащите сюда Передайте массив HTTPS-ссылок.
reference_videos array[string] Нет [] до 10 элементов Видео для движения, темпа или визуального стиля. До 10 файлов, суммарно до 30 секунд. Выберите с диска или перетащите сюда Передайте массив HTTPS-ссылок.
reference_audios array[string] Нет [] до 10 элементов Аудио для голоса, ритма или атмосферы. До 10 файлов, суммарно до 30 секунд. Выберите с диска или перетащите сюда Передайте массив HTTPS-ссылок.
aspect_ratio string Нет 16:9 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 Формат кадра выходного видео.
resolution string Нет 720p 480p, 720p, 1080p, 4k Выберите качество выходного видео: 480p, 720p, 1080p или 4k.
duration integer Нет 5 4–30 От 4 до 30 секунд.
generate_audio boolean Нет true Добавить синхронный звук к видео.

Запрос

Асинхронный запуск: POST https://api.flixa.io/v1/video/seedance-2.5/text-to-video с заголовком Authorization: Bearer $FLIXA_API_KEY и телом JSON. Ниже — пример с полями из Playground.

curl -X POST "https://api.flixa.io/v1/video/seedance-2.5/text-to-video" \
  -H "Authorization: Bearer $FLIXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "Превратите это фото товара в премиальную студийную рекламу: мягкий кинематографический свет, чистый бежевый фон, лёгкие тени, реалистичные отражения и эстетика люксового бренда.",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "generate_audio": true,
  "reference_audios": [],
  "reference_images": [],
  "reference_videos": []
}'
import json
import os
import requests

url = "https://api.flixa.io/v1/video/seedance-2.5/text-to-video"
payload = json.loads({"aspect_ratio": "16:9", "duration": 5, "generate_audio": true, "prompt": "\u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0435 \u044d\u0442\u043e \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u0439\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443: \u043c\u044f\u0433\u043a\u0438\u0439 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0432\u0435\u0442, \u0447\u0438\u0441\u0442\u044b\u0439 \u0431\u0435\u0436\u0435\u0432\u044b\u0439 \u0444\u043e\u043d, \u043b\u0451\u0433\u043a\u0438\u0435 \u0442\u0435\u043d\u0438, \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0430 \u043b\u044e\u043a\u0441\u043e\u0432\u043e\u0433\u043e \u0431\u0440\u0435\u043d\u0434\u0430.", "reference_audios": [], "reference_images": [], "reference_videos": [], "resolution": "720p"})

response = requests.post(
    url,
    headers={"Authorization": f"Bearer {os.environ['FLIXA_API_KEY']}"},
    json=payload,
    timeout=120,
)
print(response.json())
const response = await fetch(
  "https://api.flixa.io/v1/video/seedance-2.5/text-to-video",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.FLIXA_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"aspect_ratio": "16:9", "duration": 5, "generate_audio": true, "prompt": "\u041f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u0435 \u044d\u0442\u043e \u0444\u043e\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0430 \u0432 \u043f\u0440\u0435\u043c\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u0439\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443: \u043c\u044f\u0433\u043a\u0438\u0439 \u043a\u0438\u043d\u0435\u043c\u0430\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0432\u0435\u0442, \u0447\u0438\u0441\u0442\u044b\u0439 \u0431\u0435\u0436\u0435\u0432\u044b\u0439 \u0444\u043e\u043d, \u043b\u0451\u0433\u043a\u0438\u0435 \u0442\u0435\u043d\u0438, \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0430 \u043b\u044e\u043a\u0441\u043e\u0432\u043e\u0433\u043e \u0431\u0440\u0435\u043d\u0434\u0430.", "reference_audios": [], "reference_images": [], "reference_videos": [], "resolution": "720p"}),
  }
);

console.log(await response.json());

Пример ответа

Сразу после POST приходит объект с идентификатором задачи и статусом (queued или processing). Готовый результат — в поле outputs после завершения.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "queued",
  "created_at": "2026-05-22T12:00:00Z"
}

После успешного завершения:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "outputs": [
    { "url": "https://storage.example/result.png", "type": "image" }
  ]
}

Поллинг

Пока задача в работе, опрашивайте GET https://api.flixa.io/v1/predictions/{id}/result с тем же API-ключом. Рекомендуемый интервал — 1–2 секунды; остановитесь при completed, failed или cancelled.

  • queued / processing — продолжайте опрос.
  • completed — заберите URL из outputs.
  • failed — смотрите error в теле ответа.
curl "https://api.flixa.io/v1/predictions/{id}/result" \
  -H "Authorization: Bearer $FLIXA_API_KEY"