Seedance API
Одной моделью делает ролик по описанию, из присланного изображения и по изображениям-образцам. Разрешение 480p, 720p, 1080p, 7 соотношений сторон, от 1:1 до adaptive, описание до 30 000 символов. Модель ByteDance, выпущена 31 июля 2026 года.
Seedance 2.5 API работает в России без VPN: один API ключ GEN202, оплата рублями с российской карты, цена до 10% ниже официальной. От 2 мин 52 с на генерацию.
Цена: за секунду, 480p — 43.66 кр. (21,83 ₽ · $0.1984), 720p — 93.65 кр. (46,83 ₽ · $0.4257), 1080p — 225.17 кр. (112,58 ₽ · $1.0235).
кр. — кредиты, покупаются за рубли.
работает
Песочница
Ещё настройки
Чтобы создать видео — войдите и получите 50 кредитов на тесты и любое использование сервиса.
{ "model": "seedance/2-5", "input": { "prompt": "Ginger cat in a white spacesuit floats in zero gravity above Earth. It slowly turns its head toward the camera, front paws drifting; sunlight glints across the helmet visor, the blue planet reflected in the glass. The camera eases backwards, revealing a solar panel at the edge of frame. Cinematic, soft rim light, shallow depth of field.", "aspect_ratio": "1:1", "resolution": "720p", "duration": 4, "reference_image_urls": [ "https://gen202.com/assets/sample-nano-banana-pro.jpg" ] } }
{
"code": 200,
"msg": "success",
"data": {
"taskId": "cm8r4t0vk0001s60p2xq7f9ab",
"model": "seedance/2-5",
"state": "success",
"resultJson": "{\"resultUrls\":[\"https://file.example/result.mp4\"]}",
"failCode": "",
"failMsg": "",
"creditsConsumed": 374.7
}
}
Цена Seedance 2.5
Цена за секунду. Списывается фактический расход, о котором сообщил поставщик.
| Вариант | Скидка от официальной цены | Наша цена |
|---|---|---|
| 480p with video input | $0.1323 −10% | 26.2 кр. $0.119113,1 ₽ |
| 480p no video input | $0.2205 −10% | 43.66 кр. $0.198421,83 ₽ |
| 720p with video input | $0.2838 −10% | 56.19 кр. $0.255428,1 ₽ |
| 720p no video input | $0.473 −10% | 93.65 кр. $0.425746,83 ₽ |
| 1080p with video input | $0.6823 −10% | 135.1 кр. $0.614167,55 ₽ |
| 1080p no video input | $1.1372 −10% | 225.17 кр. $1.0235112,58 ₽ |
В среднем на 10% ниже официальной цены поставщика. кр. — кредиты, покупаются за рубли.
Вызов через API
Ролик делается минуты, поэтому файл не приходит в ответ на запрос. Первый вызов
ставит задачу и сразу отвечает её номером, второй по этому номеру отдаёт состояние задачи, а когда
она готова — ссылку на результат. Ключ передаётся в обоих запросах заголовком
Authorization: Bearer sk-… и выпускается
в кабинете. На один ключ шлюз пропускает
30 постановок задачи и 300
запросов состояния в минуту.
Поля запроса
Значения проверяются до обращения к поставщику: поле не из списка модели или значение вне
перечисления возвращают 422 и кредитов не тратят.
| Поле | Тип | Обяз. | Допустимые значения |
|---|---|---|---|
| model | текст | обязательное | seedance/2-5 |
| input | объект | обязательное | Параметры генерации — поля из таблицы ниже |
Поля input
| Поле | Тип | Обяз. | Допустимые значения |
|---|---|---|---|
| prompt | текст | опц. | от 3 до 30 000 символов |
| first_frame_url | ссылка | опц. | одна ссылка на изображение |
| last_frame_url | ссылка | опц. | одна ссылка на изображение |
| reference_image_urls | список ссылок | опц. | до 30 ссылок на изображение |
| reference_video_urls | список ссылок | опц. | до 10 ссылок на видео |
| reference_audio_urls | список ссылок | опц. | до 10 ссылок на аудио |
| return_last_frame | да или нет | опц. | true или false |
| generate_audio | да или нет | опц. | true или false |
| resolution | значение из списка | опц. | 480p · 720p · 1080p |
| aspect_ratio | значение из списка | опц. | 1:1 · 4:3 · 3:4 · 16:9 · 9:16 · 21:9 · adaptive |
| duration | целое число | опц. | целое от 4 до 30 |
| output_format | значение из списка | опц. | mp4 · mov |
| web_search | да или нет | опц. | true или false |
| draft | да или нет | опц. | true или false |
| draft_task_id | текст | опц. | от 1 до 64 символов |
Поле draft. Черновик. Видео выходит в 480p и стоит как обычное в 480p; из готового черновика то же видео получают в 1080p — как это устроено.
Поле draft_task_id. Номер задачи черновика. Модель делает то же видео в 1080p, а остальное берёт из черновика — порядок двух запросов.
Ссылка на исходный файл принимается только полным адресом на http или https: не длиннее 2048 символов, на общедоступном сайте, без имени и пароля перед адресом и без порта, кроме 80 и 443. Относительный путь, а также адреса внутри сети — localhost, 127.0.0.1, 10.0.0.5, 192.168.1.2 — и имена без точки шлюз отклоняет ответом 422, к поставщику не обращаясь.
Черновик и тот же ролик в 1080p
Сначала делают черновик в 480p и смотрят, что получилось, затем по номеру его задачи получают тот же ролик в 1080p. Промпт, файлы, длительность, пропорции и звук второй запрос берёт из черновика.
Шаг 1. Черновик в 480p
К обычному запросу добавляют draft: true. Остальные поля и их правила те же. Поле resolution можно не присылать — шлюз поставит 480p; с другим значением запрос отклоняется.
curl -X POST "https://api.gen202.com/api/v1/jobs/createTask" \
-H "Authorization: Bearer sk-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance/2-5",
"input": {
"prompt": "Ginger cat in a white spacesuit floats in zero gravity above Earth. It slowly turns its head toward the camera, front paws drifting; sunlight glints across the helmet visor, the blue planet reflected in the glass. The camera eases backwards, revealing a solar panel at the edge of frame. Cinematic, soft rim light, shallow depth of field.",
"aspect_ratio": "1:1",
"duration": 4,
"reference_image_urls": [
"https://gen202.com/assets/sample-nano-banana-pro.jpg"
],
"draft": true
}
}'
Номер задачи черновика приходит в ответе полем data.taskId. Второй запрос отправляют, когда задача пришла в состояние success:
curl "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=cm8r4t0vk0001s60p2xq7f9ab" \
-H "Authorization: Bearer sk-ваш-ключ"
Шаг 2. Тот же ролик в 1080p
В поле draft_task_id передают номер задачи черновика. Поле resolution можно не присылать — шлюз поставит 1080p; с другим значением запрос отклоняется.
curl -X POST "https://api.gen202.com/api/v1/jobs/createTask" \
-H "Authorization: Bearer sk-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance/2-5",
"input": {
"draft_task_id": "cm8r4t0vk0001s60p2xq7f9ab",
"output_format": "mov"
}
}'
В ответе приходит номер новой задачи. Её состояние и ссылку на файл получают так же, как у любой задачи.
Эти поля второй запрос берёт из черновика. Присылать их вместе с draft_task_id нельзя — запрос отклоняется, даже если значения те же:
prompt, first_frame_url, last_frame_url, reference_image_urls, reference_video_urls, reference_audio_urls, generate_audio, aspect_ratio, duration, web_search.
Во втором запросе можно задать:
| Поле | Тип | Допустимые значения |
|---|---|---|
| resolution | значение из списка | только 1080p |
| output_format | значение из списка | mp4 · mov |
| return_last_frame | да или нет | true или false |
Поля draft: true и draft_task_id в одном запросе не принимаются.
Черновик годится 7 дней со дня создания.
Второй запрос отклоняется сразу, без удержания кредитов, если задачи с таким номером на аккаунте нет, она создана без draft: true, ещё не закончилась, закончилась отказом или черновику больше 7 дней.
Оплата черновика и второго запроса
Черновик считается как обычный ролик в 480p: ставки те же, ролик на входе учитывается как обычно.
Второй запрос считается по ставке 1080p без ролика на входе, на длительность черновика — даже если в черновике на входе был ролик.
| Длительность в запросе черновика | Черновик | Второй запрос |
|---|---|---|
| Число от 4 до 30 | 480p на эту длительность | 1080p на эту же длительность |
| Не задана | Удерживается сумма за 30 секунд в 480p, списывается по длине готового ролика | 1080p на длину готового черновика |
Ответ
Оба запроса отвечают одним конвертом: {"code":…,"msg":…,"data":…}, где
code повторяет HTTP-статус, а полезное лежит в
data. Тот же конверт приходит и при отказе — разбирать две формы ответа
не нужно.
/api/v1/jobs/createTask
| Поле | Тип | Что в нём |
|---|---|---|
| data.taskId | строка | Номер задачи. Больше в ответе ничего нет и быть не может — работа только началась. |
/api/v1/jobs/recordInfo
| Поле | Тип | Что в нём |
|---|---|---|
| data.taskId | строка | Номер задачи — тот же, что вернул createTask. |
| data.model | строка | Имя модели в том виде, в каком его прислал клиент. |
| data.state | строка | Состояние задачи: waiting, queuing, generating, success или fail. |
| data.param | строка | Параметры, с которыми задача создана, — строкой JSON внутри JSON. |
| data.resultJson | строка | Результат строкой JSON внутри JSON: {"resultUrls":["https://…"]} — разбирается вторым разбором. До завершения задачи — пустая строка. |
| data.failCode | строка | Код неудачи из таблицы ниже. У остальных задач — пустая строка. |
| data.failMsg | строка | Причина неудачи словами модели. Иначе пустая строка. |
| data.failComment | строка | Наш комментарий к словам модели, по-русски: что произошло. Есть не у всякой неудачи; иначе пустая строка. |
| data.costTime | число | Сколько задача заняла, миллисекунды. Пока не завершилась — null. |
| data.completeTime | число | Когда завершилась, миллисекунды эпохи Unix. Пока не завершилась — null. |
| data.createTime | число | Когда создана, миллисекунды эпохи Unix. |
| data.updateTime | число | Когда состояние менялось в последний раз, миллисекунды эпохи Unix. |
| data.creditsConsumed | число | Сколько кредитов списано. Ноль, пока задача не завершилась, и ноль у неудачной. |
Состояния задачи
Состояние лежит в поле state ответа
/api/v1/jobs/recordInfo. Первые три означают, что работа идёт: запрос надо
повторить примерно через 3 секунды — чаще спрашивать нечего, столько же
ждёт между опросами сам шлюз. Два последних состояния окончательные: после них задача не меняется.
| state | Что происходит |
|---|---|
| waiting | Задача принята и стоит в очереди шлюза; поставщику она ещё не отправлена. |
| queuing | Поставщик задачу принял и поставил в свою очередь. |
| generating | Генерация идёт. |
| success | Готово: ссылки на результат лежат в resultJson, в creditsConsumed — сколько списано. |
| fail | Задача не удалась: причина в failCode и failMsg, удержанные кредиты возвращены целиком. |
Задача идёт, пока модель не пришлёт результат или отказ. Причина неудачи приходит двумя полями:
failCode из таблицы ниже и failMsg словами.
| failCode | Что произошло |
|---|---|
| 501 | Поставщик вернул отказ: генерация не удалась. |
| 408 | Модель не приняла задачу за 60 минут или не отвечала сутки. |
| 404 | Поставщик не знает такой задачи. |
| 429 | Поставщик отбил создание задачи по своему лимиту. |
| 500 | Поломка на нашей стороне; подробности остаются в журнале шлюза. |
Слова модели в failMsg бывают непонятны, поэтому к части неудач шлюз
добавляет поле failComment — наш комментарий по-русски о том, что
произошло. У остальных неудач это поле пустое.
| failMsg, пример | failComment |
|---|---|
| Image fetch failed. | Модель не смогла скачать файл из нашего хранилища. Вероятно, это разовый сбой, повторите запрос. Если ошибка повторится — напишите в поддержку: hi@gen202.com |
| File type not supported | По ссылке открывается страница сайта, а не файл. Загрузите сам файл или дайте прямую ссылку на него. |
| image #2: width and height must be between 300px and 6000px (got 262x377) (invalid_asset_material) | Одна из картинок слишком маленькая. Seedance принимает картинки от 300 до 6000 пикселей по каждой стороне. |
| Seedance identified your task as video editing based on your prompt. | Seedance понял запрос как редактирование присланного видео. В песочнице и чате выберите режим «Редактирование видео», в API поставьте пропорции adaptive и длительность −1. |
| Seedance identified your task as video extension based on your prompt. | Seedance решил, что присланное видео нужно продлить. Для этого поставьте пропорции adaptive, а если продлевать не нужно — уберите эту просьбу из промта. |
| generate task timeout. | Модель не успела создать результат и сама остановила задачу. |
| Internal Error | Модель остановилась и не назвала причину. Возможно, она перегружена или временно недоступна. Или запрос отклонён из-за чувствительной темы: нагота и откровенные сцены, дети, известные люди, насилие, чужие персонажи и бренды. |
| The request failed because the input image may contain sensitive information. | Модель отклонила загруженную картинку из-за чувствительной темы. Такие темы: нагота и откровенные сцены, дети, известные люди, насилие, чужие персонажи и бренды. |
| The generated content was filtered by the safety system. | Модель отклонила запрос из-за чувствительной темы. Такие темы: нагота и откровенные сцены, дети, известные люди, насилие, чужие персонажи и бренды. |
| The model provider rejected or dropped the task creation request. | Модель остановилась и не назвала причину. Возможно, она перегружена или временно недоступна. Или запрос отклонён из-за чувствительной темы: нагота и откровенные сцены, дети, известные люди, насилие, чужие персонажи и бренды. |
| No result from the provider within the task deadline. | Модель либо не приняла задачу за 15 минут (у видео — за 60), либо не ответила за сутки. |
Ссылка на готовый файл живёт 14 дней — столько его хранит поставщик. Файл,
который нужен дольше, скачивайте к себе сразу после того, как задача пришла в состояние
success.
Отказы
Тело отказа одно на все случаи: {"code":…,"msg":…,"data":null}. Задача, не
дошедшая до результата, не тарифицируется — удержанные кредиты возвращаются целиком.
| Код | Адрес | Когда |
|---|---|---|
| 400 | /api/v1/jobs/createTask | Тело запроса — не разбираемый JSON. |
| 401 | /api/v1/jobs/createTask | Ключа нет в заголовке Authorization, либо он неверный или отключён. |
| 402 | /api/v1/jobs/createTask | Свободных кредитов меньше, чем удерживается под задачу. |
| 403 | /api/v1/jobs/createTask | Аккаунт заблокирован: вызовы модели, пополнение и загрузка файлов ему закрыты. Ключи при этом не отключены — запрет лежит на аккаунте. |
| 413 | /api/v1/jobs/createTask | Тело запроса больше 512 КиБ. |
| 415 | /api/v1/jobs/createTask | Тело отправлено не как application/json или заголовок Content-Type не передан. |
| 422 | /api/v1/jobs/createTask | Поле model пустое или его имени нет в каталоге, input — не объект, поле не из списка модели либо значение вне её перечисления. В сообщении перечислено, что принимается. Тот же код — если во входе наша ссылка на готовый результат старше 14 дней: файла уже нет, его нужно загрузить заново. И если модель не может выполнить именно это сочетание полей: в сообщении сказано, что поменять, — например, другие файлы-образцы. |
| 429 | /api/v1/jobs/createTask | Больше 30 запросов в минуту на один ключ, больше 50 незавершённых задач на аккаунте либо таймаут: за час 5 запросов к моделям этого вида отклонены из-за чувствительной темы, и запуск всех моделей этого вида приостановлен. У такого отказа в теле есть поле timeout с временем окончания паузы, а в заголовке Retry-After — секунды до него. |
| 500 | /api/v1/jobs/createTask | Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят. |
| 401 | /api/v1/jobs/recordInfo | Ключа нет в заголовке Authorization, либо он неверный или отключён. |
| 404 | /api/v1/jobs/recordInfo | Задачи с таким номером нет или она создана другим аккаунтом. |
| 422 | /api/v1/jobs/recordInfo | Параметр taskId не передан. |
| 429 | /api/v1/jobs/recordInfo | Больше 300 запросов в минуту на один ключ. |
| 500 | /api/v1/jobs/recordInfo | Поломка на нашей стороне. Подробности остаются в журнале шлюза и наружу не уходят. |
Пример вызова
# 1. Поставить задачу — в ответе придёт её номер
TASK=$(curl -s https://api.gen202.com/api/v1/jobs/createTask \
-H "Authorization: Bearer sk-ваш-ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance/2-5",
"input": {
"prompt": "Ginger cat in a white spacesuit floats in zero gravity above Earth. It slowly turns its head toward the camera, front paws drifting; sunlight glints across the helmet visor, the blue planet reflected in the glass. The camera eases backwards, revealing a solar panel at the edge of frame. Cinematic, soft rim light, shallow depth of field.",
"aspect_ratio": "1:1",
"resolution": "720p",
"duration": 4,
"reference_image_urls": [
"https://gen202.com/assets/sample-nano-banana-pro.jpg"
]
}
}' | jq -r '.data.taskId')
# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
# generating означают «работа идёт», success и fail — окончательные
while true; do
RECORD=$(curl -s "https://api.gen202.com/api/v1/jobs/recordInfo?taskId=$TASK" \
-H "Authorization: Bearer sk-ваш-ключ")
STATE=$(echo "$RECORD" | jq -r '.data.state')
case "$STATE" in success|fail) break;; esac
sleep 3
done
# 3. Забрать результат. Ссылка на файл лежит в resultJson — это строка JSON
# внутри JSON, поэтому её разбирают вторым разбором (fromjson)
echo "$RECORD" | jq -r '.data |
if .state == "fail"
then "отказ \(.failCode): \(.failMsg)"
else .resultJson | fromjson | .resultUrls[0]
end'
import json
import time
import requests
headers = {"Authorization": "Bearer sk-ваш-ключ"}
# 1. Поставить задачу — в ответе придёт её номер
created = requests.post(
"https://api.gen202.com/api/v1/jobs/createTask",
headers=headers,
json={
"model": "seedance/2-5",
"input": {
"prompt": "Ginger cat in a white spacesuit floats in zero gravity above Earth. It slowly turns its head toward the camera, front paws drifting; sunlight glints across the helmet visor, the blue planet reflected in the glass. The camera eases backwards, revealing a solar panel at the edge of frame. Cinematic, soft rim light, shallow depth of field.",
"aspect_ratio": "1:1",
"resolution": "720p",
"duration": 4,
"reference_image_urls": [
"https://gen202.com/assets/sample-nano-banana-pro.jpg"
]
}
},
).json()
task_id = created["data"]["taskId"]
# 2. Спрашивать состояние, пока задача не закончится: waiting, queuing и
# generating означают «работа идёт», success и fail — окончательные
while True:
task = requests.get(
"https://api.gen202.com/api/v1/jobs/recordInfo",
headers=headers,
params={"taskId": task_id},
).json()["data"]
if task["state"] in ("success", "fail"):
break
time.sleep(3)
# 3. Разобрать итог. У неудачи причина в failCode и failMsg
if task["state"] == "fail":
raise SystemExit("отказ " + task["failCode"] + ": " + task["failMsg"])
# resultJson — строка JSON внутри JSON, поэтому разбор второй
result = json.loads(task["resultJson"])
print(result["resultUrls"][0])
print("списано кредитов:", task["creditsConsumed"])
Пример проходит весь путь: ставит задачу, повторяет запрос состояния раз в
3 секунды, пока задача не закончится, и разбирает ответ до ссылки
на файл. Разборов два, потому что поле resultJson — строка JSON
внутри JSON. В теле первого запроса стоят обязательные поля модели и значения из её
перечислений, поэтому он проходит проверку шлюза как есть.
Подставить остаётся только свой ключ.
Пример на оболочке разбирает ответ через jq; на Python своего
ничего не нужно, кроме requests.
Остальные модели этого семейства и их поля — в разделе документации Видео.
Что делает нейросеть Seedance 2.5
Seedance 2.5 — видеомодель ByteDance, объявленная 31 июля 2026 года. Цена у GEN202 — от 21,83 ₽ до 112,58 ₽ за секунду, и цену задают разрешение и то, идёт ли на вход готовый ролик. Модель собрана вокруг длинного связного рассказа: сцену задают описанием, кадрами и образцами, а звуковая дорожка считается вместе с изображением.
Режим у неё один, и вид работы задают заполненные поля: видео из текста, видео из изображения и видео по образцам. В поле model уходит seedance/2-5.
Сам ByteDance называет выпуск продолжением прошлого поколения на той же основе, а прибавку сводит к трём направлениям: длинный рассказ одним заходом, больше образцов в одном запросе и точная правка уже снятого.
Прошлое поколение разобрано на странице Seedance 2.0, тело запроса по полям — в разделе «Seedance», а все поля с допустимыми значениями собраны в таблице выше.
Как пользоваться Seedance 2.5 и что получится скачать
Работа идёт в браузере: поля заполняют в песочнице, готовый ролик проигрывается прямо под формой, и оттуда же он сохраняется файлом. Сама модель считается на стороне ByteDance, а к себе на компьютер забирают результат.
Формат этого файла выбирают полем output_format: mp4 и mov. Первый открывается везде и годится для показа как есть, второй держит цвет и звук точнее и предназначен для того, чтобы ролик потом красили, монтировали и собирали с другими кусками.
Плата уходит за секунды готового ролика по ставке выбранного разрешения, и все ставки стоят таблицей выше. Приветственные кредиты начисляются счёту при первом входе и засчитываются в цену первого ролика.
Как снимать ролики в Seedance без кода, прямо в браузере, разобрано на странице как пользоваться Seedance в России.
Ниже — порядок, по которому замысел доходит до готового файла.
- Опишите сцену по времени. В поле prompt складывают, кто в кадре и что происходит, а ход рассказа размечают отрезками времени. Разработчик просит держать шаг разметки ровным и не расписывать по секундам частые мелкие движения.
- Назовите образцы в описании. Каждую приложенную картинку, каждый ролик и каждую дорожку разработчик просит назвать в описании по порядку загрузки и связать со своим героем или местом. Связку задают словами, а не надписью поверх самой картинки.
- Задайте длительность, разрешение и форму кадра. Поля duration, resolution и aspect_ratio решают, каким выйдет ролик, а от разрешения вдобавок зависит, во сколько обойдётся секунда.
- Выберите формат готового файла. Поле output_format ставит обычный файл или тот, что точнее держит цвет. Для правки и доращивания разработчик советует второй и на входе, и на выходе.
- Сверьте замысел пробным роликом. Пробу снимают на младшем разрешении и малой длительности: так замысел проверяется дешевле. Полную длину ставят уже тому описанию, которое получилось.
Чем Seedance 2.5 отличается от Seedance 2.0
Соседние выпуски удобнее считать по столбцам: в первом — то, что задают в запросе, дальше — как это устроено у каждого из двух. Колонка Seedance 2.0 взята у старшего уровня прошлого поколения.
| Что задают | Seedance 2.5 | Seedance 2.0 |
|---|---|---|
| Потолок длительности | 30 секунд | 15 секунд |
| Разрешения | 480p, 720p и 1080p | 480p, 720p, 1080p и 4k |
| Образцы-картинки | до 30 ссылок | до 9 ссылок |
| Образцы-ролики | до 10 ссылок | до 3 ссылок |
| Образцы звука | до 10 ссылок | до 3 ссылок |
| Формат готового файла | mp4 и mov | mp4 |
| Как размечают ход рассказа | отметками времени | номерами кадров |
Главным в выпуске ByteDance называет ровно то, что стоит в верхних строках: ролик стал длиннее, а образцов в один запрос помещается больше. Отметки времени он добавляет к этому отдельным пунктом — у прошлого поколения кусок ролика называли номером кадра, здесь его называют секундой.
Разрешения у двух выпусков расходятся: 4k остаётся за старшим уровнем прошлого поколения, а Seedance 2.5 держит 3 разрешения ниже него — 480p, 720p и 1080p.
Отсюда и выбор между соседями. Длинную сцену с большим числом образцов и правку готового ролика ставят на Seedance 2.5; кадр наивысшей чёткости снимают на старшем уровне поколения Seedance 2.0.
Выпуски Seedance: имена у ByteDance и даты
В каталоге GEN202 два соседних поколения этой модели. В таблице — имя у ByteDance, дата объявления, что изменилось и имена, которые уходят в поле model.
| Имя у ByteDance | Дата по анонсу | Что изменилось | Имя для поля model |
|---|---|---|---|
| Dreamina Seedance 2.5 | 31 июля 2026 | Потолок ролика поднят до 30 секунд, образцов в один запрос стало больше, ход рассказа размечают отметками времени | seedance/2-5 |
| Seedance 2.0 | 12 февраля 2026 | Прошлое поколение: ролик до 15 секунд и до 9 образцов-картинок | seedance/2, seedance/2-fast и seedance/2-mini |
Дата стоит на странице анонса полем «Date» со значением «2026-07-31», а текст под ним открывается словами «Today, we are officially launching Seedance 2.5, the new-generation video creation model». Перевод наш: «Сегодня мы официально выпускаем Seedance 2.5, видеомодель нового поколения». Страница — объявление о выпуске Seedance 2.5.
На сколько поднят потолок, разработчик пишет числом в своём учебнике: «The upper limit for Seedance 2.5 video generation duration has been extended from 15 seconds in the Seedance 2.0 series to 30 seconds, supporting one-time generation of coherent videos up to 30 seconds long and presenting a complete story without multi-segment stitching». Перевод наш: «Верхний предел длительности видео у Seedance 2.5 поднят с 15 секунд у линейки Seedance 2.0 до 30 секунд: за один раз получается связный ролик длиной до 30 секунд, показывающий законченную историю без склейки из нескольких кусков». Столько же держит поле duration в форме GEN202. Страница — учебник BytePlus по Dreamina Seedance 2.5.
Дата выпуска Seedance 2.0 стоит в шапке публикации ByteDance «Seedance 2.0 Official Launch»: «Date 2026-02-12». Публикация — официальный запуск Seedance 2.0 в блоге ByteDance Seed.
Какой длины и в каком разрешении выходит ролик Seedance 2.5
Длину ролика задают полем duration целым числом секунд — от 4 до 30. Внутри верхней отметки разработчик обещает связный рассказ, а не растянутый один момент: завязку, развитие, поворот и развязку.
Разрешений 3: 480p, 720p и 1080p. Ставка за секунду у каждого своя, и все они стоят в таблице цен.
Старшее из разрешений разработчик отдаёт с расширенной глубиной цвета: переходы оттенков на нём выходят плавнее, и такой ролик ложится на цветокоррекцию ровнее остальных.
Кадр выбирают полем aspect_ratio, и значений в нём 7 — 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive. Последнее берёт пропорции с приложенного материала, остальные задают кадр числом.
Когда на вход идёт готовый ролик, считается сумма длительностей — присланной и снятой. Ставка в этих строках ниже, а платят по ней за обе части сразу.
Что кладут в запрос Seedance 2.5 кроме описания
Начальный и конечный кадр приходят ссылками в поля first_frame_url и last_frame_url, по одной в каждое. Заполняют либо одно из них, либо оба сразу.
Образцы идут тремя списками ссылок — картинки в reference_image_urls, готовые ролики в reference_video_urls, звук в reference_audio_urls. Сколько ссылок берёт каждый список, названо в таблице полей.
Образцом здесь задают героя, движение, работу камеры, манеру и общий замысел кадра — так их перечисляет сам разработчик. Многоракурсная картинка при этом считается годным образцом героя: у прошлого поколения такие снимки он советовал разбивать по одному ракурсу на файл.
Чем меньше героев в одном запросе, тем ровнее результат: разработчик прямо пишет, что ближе к верхней границе списка приходится делать несколько попыток. Про образцы-ролики он добавляет, что короткий кусок держится устойчивее длинного.
Дальше идёт служебное: generate_audio включает звуковую дорожку, return_last_frame присылает вместе с роликом его последний кадр.
Поле draft делает черновик в 480p, а поле draft_task_id — тот же ролик в 1080p из готового черновика. Как устроены оба запроса, написано под таблицей полей.
Что ByteDance говорит о модели Seedance 2.5
На чём собран выпуск, разработчик пишет в объявлении: «Building on the unified multimodal audio-video joint-generation architecture of Seedance 2.0, Seedance 2.5 centers on foundational generation and reference-based generation, delivering major breakthroughs in long-form storytelling, multimodal reference, and editing». Перевод наш: «Опираясь на единую многомодальную архитектуру совместной генерации звука и видео, взятую у Seedance 2.0, Seedance 2.5 сосредоточена на базовой генерации и генерации по образцам и даёт крупные подвижки в длинном рассказе, многомодальных образцах и правке». Страница — объявление о выпуске Seedance 2.5.
Сколько образцов берётся за один заход, в том же объявлении ByteDance сказано числами: «Fully upgraded multimodal referencing: Users can now input up to 30 images, 10 video clips, and 10 audio clips as reference materials in a single pass». Перевод наш: «Полностью обновлённая работа с многомодальными образцами: теперь пользователь может за один проход прислать до 30 изображений, 10 видеофрагментов и 10 звуковых фрагментов как образцы». Те же три предела стоят в форме GEN202: до 30 картинок, до 10 роликов и до 10 звуковых дорожек.
Разрешения разработчик перечисляет в учебнике: «Default value: 720p», «480p (8-bit color depth)», «720p (8-bit color depth)», «1080p (10-bit color depth)». Перевод наш: по умолчанию 720p, допустимы 480p и 720p с восемью битами на цвет и 1080p с десятью. Страница — учебник BytePlus по Seedance 2.5. Тот же набор стоит в форме GEN202 — 480p, 720p и 1080p, — и 4k в перечне разработчика нет: это разрешение осталось за прошлым поколением.
Свою цену ByteDance считает по токенам: «Estimated video price: Token unit price × Token consumption» — перевод наш: «Ориентировочная цена ролика = цена за токен × расход токенов». Цену за секунду он называет только внутри условий акции: «Seedance 2.5: From 14:00 (UTC+8) on August 14, 2026 through 14:00 (UTC+8) on September 17, 2026, 1080p output is billed at 28% off the list price (480p and 720p output are not eligible for the discount), with prices starting at approximately USD 0.41 per second». Перевод наш: «Seedance 2.5: с 14:00 (UTC+8) 14 августа 2026 года по 14:00 (UTC+8) 17 сентября 2026 года выход в 1080p считается со скидкой 28 процентов от прейскурантной цены (480p и 720p под скидку не подпадают), цена начинается примерно от 0,41 доллара за секунду». Страница — страница цен BytePlus.
В таблице цен GEN202 официальной ценой старшего разрешения без ролика на входе стоит $1.1372 за секунду, а разработчик на срок акции называет примерно 0,41 доллара. Считаются эти два числа по разным правилам: у ByteDance счёт идёт за токены и зависит от размера кадра, у GEN202 ставка назначена за секунду по разрешению и стоит в таблице цен выше.
Чего модели не хватает, разработчик признаёт сам: «At the same time, we recognize there is still room for improvement, particularly regarding the physical plausibility of complex motions and the stability of scenes involving interactions among multiple subjects». Перевод наш: «Вместе с тем мы понимаем, что есть куда расти, особенно в физической правдоподобности сложных движений и в устойчивости сцен, где взаимодействуют несколько героев».
Слова ByteDance о Seedance 2.5 приведены по его страницам на 14 сентября 2026 года.
Что ByteDance оговаривает у Seedance 2.5 отдельно
Правка готового ролика, его доращивание и съёмка по первому и последнему кадру идут на особых условиях: форма кадра в этих задачах берётся с присланного файла, а у правки оттуда же берётся и длительность.
Вид задачи модель определяет по самому описанию, поэтому в нём просят прямо назвать действие — поправить, добавить, убрать, заменить или продолжить. Разойдётся названное с приложенным — придёт отказ с названной причиной.
Входной ролик разработчик принимает в младших разрешениях, а для правки советует держаться короче разрешённого потолка: на коротком куске результат выходит ровнее.
Ссылка на готовый ролик живёт ограниченное время, и число скачиваний по ней тоже ограничено. Файл поэтому забирают сразу, как только задача сошлась.
Профессиональный формат файла читают отдельные проигрыватели, и для просмотра берут один из них. Обычный формат открывается везде — на страницах, на телефоне и в любой монтажной программе.
Что показали независимые проверки Seedance 2.5
Разбор с прогонами — ролик Yapper AI «Don't Try Seedance 2.5 Until You Watch This (Honest Review)» от 6 августа 2026 года. Долю удачного автор называет числом: «But again, I would say 90% of the generated footage is genuinely good». Перевод наш: «И всё же, я бы сказал, 90 процентов отснятого по-настоящему хороши». Ролик — честный разбор Seedance 2.5.
Про число подходов он говорит там же: «Just don't expect it can generate a complete finished film straight out of the model. You still need to edit, cut around the mistakes, and sometimes regenerate a few shots to make it work». Перевод наш: «Не ждите, что готовый фильм выйдет прямо из модели. Всё равно придётся монтировать, обрезать вокруг ошибок и иногда перегенерировать несколько планов».
Слепые сравнения LMArena дают модели свои строки в трёх аренах. В арене «текст в видео» у dreamina-seedance-2.5-720p стоит 1482 с допуском 12 при 4 066 голосах, в арене «картинка в видео» — 1475 с допуском 8 при 12 151, в арене правки видео — 1410 с допуском 26 при 429. У прошлого поколения, dreamina-seedance-2.0-720p, в тех же аренах 1479, 1474 и 1365. Таблицы — арена «текст в видео», арена «картинка в видео» и арена правки видео на LMArena.
Разбор Yapper AI о Seedance 2.5 приведён на 14 сентября 2026 года, числа арен — на 21 сентября.
Что заметно на съёмке в Seedance 2.5
Учебник разработчика по Seedance 2.5 в документации BytePlus описывает поля и то, подо что выпуск задуман. Ниже собрано другое — то, что видно у авторов, снявших на нём готовые сцены и разобравших их при зрителе.
Наблюдения о Seedance 2.5 взяты из разбора с живыми прогонами: Curious Refuge, 31 июля 2026.
- Ролик во всю длину получается цельным реже короткого: на длинной сцене расходится логика происходящего, и такую сцену обычно режут на куски покороче.
- Приложенных героев модель расставляет по сцене сама: кто-то из них выходит вперёд, а кто-то занимает своё место позади.
- Образец она читает с вольностью: предмет переезжает на другое место, а мелкие связи между предметами придумываются заново.
- Прибавка против прошлого выпуска видна на людях: кожа выходит живее, а попадание речи в губы держится и на крупном плане.
- Свет держится через склейки: источник в кадре сохраняет свой ритм от плана к плану.
- Быстрое движение даёт дрожание, будто выдержка съёмки меняется по ходу сцены.
- На части сюжетов ровнее отрабатывает прошлый выпуск, поэтому спорную сцену прогоняют на обоих и сравнивают своими глазами.
- Доращивание уводит ролик заметно дальше одного захода, но к концу длинной цепочки надписи в кадре и сам сюжет уходят в сторону.
- Главной ценностью выпуска авторы разборов называют как раз образцы: чем больше картинок и роликов приложено, тем ближе результат к замыслу.
Отсюда обычный порядок: сцену собирают короткими кусками, каждый следующий доращивают от готового, а сводят их вместе уже при монтаже.
Как купить доступ к Seedance 2.5 в России и сколько стоит секунда
Доступ к Seedance 2.5 по API покупают на этой странице, без договора с ByteDance и без VPN: вход, пополнение баланса рублями с карты российского банка и ключ, который выпускается в кабинете. Запрос уходит на адрес GEN202, а не на серверы разработчика.
- Войдите. Войти можно по письму или через Яндекс, а новому счёту начисляется 50 кредитов: у Seedance 2.5 это 1 секунда в 480p, и на столько дешевеет первый ролик.
- Пополните баланс. Нижний пакет — 500 ₽ за 1 000 кредитов: у Seedance 2.5 их хватает на 22 секунды в 480p или на 4 секунды в 1080p.
- Выпустите ключ. Ключ создаётся в кабинете за один шаг; в запросе модель называется seedance/2-5, и тем же ключом вызываются Seedance 2.0 и остальной каталог.
Секунда ролика из описания стоит у Seedance 2.5 от 21,83 ₽ в 480p до 112,58 ₽ в 1080p; с готовым роликом на входе ставка ниже, и все ставки собраны в таблице цен. Самый короткий ролик — 4 секунды в 480p — обходится в 87,32 ₽, самый длинный — 30 секунд в 1080p — в 3377,48 ₽.
Тот же баланс уходит на Kling, Wan, MiniMax, Gemini Omni и Veo и на остальной каталог GEN202. Как устроена покупка доступа ко всей линейке Seedance и что в ней даётся без денег, написано на странице Seedance API.