Войти

Seedance 2.0 Image to Video

Создание видео из стартового кадра, промпта и необязательного финального кадра.

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

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

Обзор

Seedance 2.0 — мультимодальная модель генерации видео от ByteDance, официально представленная 12 февраля 2026 года. Режим image-to-video преобразует стартовый кадр (и при необходимости — финальный) в ролик длиной от 4 до 15 секунд с разрешениями 480p, 720p и 1080p и шестью соотношениями сторон. Ключевая особенность — единая архитектура совместной генерации аудио и видео: фоновые звуки, эффекты и стереозвук синтезируются синхронно с картинкой, без отдельных этапов обработки. Среди вариантов семейства (Turbo, Fast) стандартный режим даёт наивысшее качество движения и физической правдоподобности — корректную гравитацию, реалистичные ткани и взаимодействие объектов — хотя и ценой более длительной генерации. По данным Artificial Analysis Video Arena (июнь 2026), Seedance 2.0 входит в число лидеров «изображение в видео»: 2-е место без звука (Elo ~1343) и 1-е место с учётом нативного аудио (Elo ~1190). Доступен опциональный веб-поиск для актуального контекста; синхронизированный звук можно включить или отключить. Контент маркируется водяными знаками C2PA. Оптимален для финальных продуктовых роликов, где важны детализация и реализм.

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

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

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

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

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

Советы

FAQ

Как удержать одного и того же персонажа в серии роликов?

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

Почему сложное движение камеры иногда получается не так, как в промпте?

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

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

Последний кадр полезен, если важна конкретная финальная поза, композиция или переход между двумя заранее подготовленными кадрами. Но для лиц и персонажей он может сильнее перетягивать внешний вид в конце ролика, поэтому иногда надежнее строить сцену от одного стартового кадра и описывать финальное действие словами. Для продолжения сцены часто практичнее взять последний удачный кадр предыдущего ролика как новый стартовый кадр.

Чем обычный Seedance 2.0 I2V отличается от Fast для рабочих задач?

Fast стоит выбирать для черновиков, быстрых вариантов и проверки идеи, где важнее скорость итераций. Обычный Seedance 2.0 лучше оставлять для финальных дублей, когда важны более стабильная кинематографичность, свет, текстуры и контролируемость движения. Такой подход совпадает с тем, как пользователи описывают воркфлоу: сначала быстро найти удачный кадр, затем сделать финальный прогон в более качественном варианте.

Когда включать генерацию аудио в I2V, и почему звук может мешать сцене?

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

Цены

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

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

API

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

Параметры

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

Параметр Тип Обязательный По умолчанию Допустимые значения Описание
prompt string Да длина 1–8000 символов Опишите движение камеры, действия, свет и настроение ролика.
image string Да от 8 символов Изображение, с которого начнется видео. Выберите с диска или перетащите сюда
last_image string Нет Кадр, которым должен закончиться ролик. Выберите с диска или перетащите сюда
aspect_ratio string Нет 1:1 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 Формат кадра выходного видео.
resolution string Нет 480p 480p, 720p, 1080p Выберите качество выходного видео: 480p, 720p или 1080p.
duration integer Нет 4 4–15 От 4 до 15 секунд.
enable_web_search boolean Нет false Учитывать актуальный контекст из интернета.
generate_audio boolean Нет true Добавить синхронный звук к видео.

Запрос

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

curl -X POST "https://api.flixa.io/v1/video/seedance-2.0/image-to-video" \
  -H "Authorization: Bearer $FLIXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "image": "https://uploads.flixa.io/media/9c1ad5ad44f268692ceb4cf3a496fdee94c6690803e5c4057d6b1fed1c067baa.jpeg",
  "prompt": "Лёгкое живое движение: едва заметный наезд камеры, моргание, естественное микродвижение лица, мягкий свет студии.",
  "duration": 4,
  "resolution": "480p",
  "aspect_ratio": "1:1",
  "generate_audio": true,
  "enable_web_search": false
}'
import json
import os
import requests

url = "https://api.flixa.io/v1/video/seedance-2.0/image-to-video"
payload = json.loads({"aspect_ratio": "1:1", "duration": 4, "enable_web_search": false, "generate_audio": true, "image": "https://uploads.flixa.io/media/9c1ad5ad44f268692ceb4cf3a496fdee94c6690803e5c4057d6b1fed1c067baa.jpeg", "prompt": "\u041b\u0451\u0433\u043a\u043e\u0435 \u0436\u0438\u0432\u043e\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435: \u0435\u0434\u0432\u0430 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0439 \u043d\u0430\u0435\u0437\u0434 \u043a\u0430\u043c\u0435\u0440\u044b, \u043c\u043e\u0440\u0433\u0430\u043d\u0438\u0435, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043c\u0438\u043a\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0430, \u043c\u044f\u0433\u043a\u0438\u0439 \u0441\u0432\u0435\u0442 \u0441\u0442\u0443\u0434\u0438\u0438.", "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/image-to-video",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.FLIXA_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"aspect_ratio": "1:1", "duration": 4, "enable_web_search": false, "generate_audio": true, "image": "https://uploads.flixa.io/media/9c1ad5ad44f268692ceb4cf3a496fdee94c6690803e5c4057d6b1fed1c067baa.jpeg", "prompt": "\u041b\u0451\u0433\u043a\u043e\u0435 \u0436\u0438\u0432\u043e\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435: \u0435\u0434\u0432\u0430 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0439 \u043d\u0430\u0435\u0437\u0434 \u043a\u0430\u043c\u0435\u0440\u044b, \u043c\u043e\u0440\u0433\u0430\u043d\u0438\u0435, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043c\u0438\u043a\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043b\u0438\u0446\u0430, \u043c\u044f\u0433\u043a\u0438\u0439 \u0441\u0432\u0435\u0442 \u0441\u0442\u0443\u0434\u0438\u0438.", "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"