Войти

Seedance 2.0 Text to Video

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

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

Референсы (необязательно)

Изображения для стиля, персонажей или композиции.
Готово: 1
Видео для движения, темпа или визуального стиля. До 3 файлов, суммарно до 15 секунд.
Аудио для голоса, ритма или атмосферы. До 3 файлов, суммарно до 15 секунд.

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

Обзор

Seedance 2.0 от ByteDance Seed официально представлена в феврале 2026 года. Базовый режим Text to Video на Standard-линейке создаёт короткие кинематографичные ролики (4–15 секунд) в 480p, 720p или 1080p из текстового сценария с нативной синхронизацией звука и возможностью добавить изображения, видео и аудио как референсы (до 9 / 3 / 3). Среди вариантов линейки это основной Standard-вариант для финальных или брендовых T2V-генераций: он уместнее Fast и Turbo, когда важнее управляемость движения, стабильность кадров, свет, композиция и аудиовизуальная связность, чем минимальная задержка. Пользователь описывает сцену, движение камеры, формат, длительность и качество; при необходимости включает генерацию звука и опциональный веб-поиск для актуального контекста. Главное о семействе: единая мультимодальная аудио-видео архитектура, входы text/image/audio/video, сильный режиссёрский контроль и устойчивость движения. Ограничения: сложные сцены с несколькими субъектами, текстом в кадре или конфликтующими референсами требуют проверки и итераций.

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

Критерий Оценка Комментарий
Верность референсам Верность референсам у модели очень сильная: она умеет использовать изображения, видео и аудио как управляющие материалы, а не просто как слабую подсказку; снижение небольшое из-за возможных потерь мелких признаков.
Управление камерой Управление камерой — одна из наиболее сильных сторон модели: она хорошо понимает наезды, панорамы, трекинг, смену планов и режиссёрские указания; снижение минимальное из-за редких срывов траектории.
Эстетика и композиция Модель хорошо строит зрелищные композиции, держит свет, ракурс и визуальную иерархию; небольшое снижение оценки связано с тем, что в сложных многообъектных сценах композиция не всегда остаётся идеально управляемой.
Плавность движения Плавность движения — одна из главных сильных сторон модели: движение камеры, тел, объектов и сцен обычно выглядит естественно; небольшие рывки возможны в сложной хореографии и контактах.
Соответствие запросу Модель хорошо следует запросу и умеет совмещать текстовые инструкции с референсами; балл немного снижен из-за того, что перегруженные промпты с множеством условий иногда выполняются не полностью.
Качество отдельного кадра Качество кадра — сильная сторона в 480p–1080p: картинка обычно кинематографичная, детальная и чистая; на очень сложных сценах возможны локальные артефакты и просадки мелких деталей.
Стиль и разнообразие Модель сильна в стилевом диапазоне: кино, реклама, анимация, реалистичные и стилизованные сцены обычно получаются выразительно; иногда результат может уходить в эффектную, но похожую «AI-кинематографичность».

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

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

Примеры промптов

Советы

FAQ

Чем обычный Seedance 2.0 отличается от Seedance 2.0 Fast для text-to-video?

Seedance 2.0 Fast нужен для быстрых черновиков и серийных проб, когда важна низкая задержка. Базовый Text to Video лучше для финального результата, где важнее стабильность движения, согласованность кадров и качество аудио-видео. Практичный воркфлоу: сначала проверить идею на Fast, затем финальный вариант — на Standard Text to Video.

Какую длительность выбрать: 4-5 секунд или сразу 15 секунд?

Для первого прогона лучше начать с 4–5 секунд: так проще поймать кадр, движение и свет без накопления ошибок. Увеличивайте длительность до 15 секунд после того, как промпт и референсы уже дают стабильный короткий клип.

Как правильно использовать изображения-, видео- и аудиореференсы в text-to-video?

Референсы лучше давать не просто списком, а с понятной ролью в промпте: изображение для персонажа или стиля, видео для движения или камеры, аудио для ритма или атмосферы. Если результат начинает смешивать роли, сократите число референсов и оставьте самые важные.

Что даёт переключатель «Генерировать аудио» и когда добавлять аудиореференсы?

Переключатель просит Seedance 2.0 создавать синхронный звук вместе с видео (по умолчанию включён). Аудиореференсы добавляйте, когда важны голос, ритм, темп или атмосфера. При видеореференсах избегайте лишнего шума в исходнике. Для точных диалогов на русском и строгой синхронизации губ часто безопаснее отдельная озвучка.

Как выбрать соотношение сторон и разрешение?

Соотношение сторон лучше выбирать под площадку просмотра: 16:9 для горизонтального видео, 9:16 для вертикального формата, 1:1 для квадратной ленты, 21:9 для ультраширокого кинематографичного кадра. Разрешение влияет на детализацию и время ожидания: низкое — для черновиков, более высокое — для финального экспорта. Если кадр критичен по композиции, задавайте формат сразу.

Цены

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

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

API

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

Параметры

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

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

Запрос

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

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

url = "https://api.flixa.io/v1/video/seedance-2.0/text-to-video"
payload = json.loads({"aspect_ratio": "16:9", "duration": 4, "enable_web_search": false, "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": ["https://uploads.flixa.io/media/1af332adbdebb9dc1df4f996109661c00fadfeccd435f692fd349031e450562f.jpg"], "reference_videos": [], "resolution": "480p"})

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.0/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": 4, "enable_web_search": false, "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": ["https://uploads.flixa.io/media/1af332adbdebb9dc1df4f996109661c00fadfeccd435f692fd349031e450562f.jpg"], "reference_videos": [], "resolution": "480p"}),
  }
);

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"