Seedance из фото в видео: 3 режима, обрезка кадра и цена ролика
Для одного фото в Seedance нужен режим первого кадра. В 2.5 ratio только adaptive, а duration задайте сами: 5 с в 720p — около $1,32, по умолчанию — до $7,84.
Содержание

Seedance делает видео из одного фото в режиме первого кадра: картинка становится стартовым кадром ролика, а движение вы описываете промптом. В приложении Dreamina (CapCut) для этого достаточно загрузить изображение и написать, что должно двигаться. Через API нужно создать задачу на модели doubao-seedance-2-5-260628 (Seedance 2.5) или doubao-seedance-2-0-260128 (Seedance 2.0), передать фото с ролью first_frame и сразу задать ratio, duration и resolution.
Два других режима решают другие задачи. Если у вас есть и начальный, и конечный кадр, нужен режим первого и последнего кадра (first_frame + last_frame). Если фото товара или персонажа должно появиться в новой сцене, а не открывать ролик, нужны референсные изображения (reference_image). Смешивать режимы в одном запросе нельзя.
По состоянию на 2 ноября 2026 года результат чаще всего портят две настройки. В Seedance 2.5 режимы с первым кадром принимают только ratio: "adaptive", а в 2.0 соотношение сторон, не совпадающее с фото, приводит к обрезке по центру: снимок 4:3 при 16:9 теряет четверть высоты. Кроме того, duration в 2.5 по умолчанию равен -1, и длину ролика, вплоть до 30 секунд, выбирает модель. Пять секунд в 720p на Seedance 2.5 стоят около $1,32 по прайсу laozhang.ai, а худший случай без явной длительности — около $7,84.
Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.
Первый кадр, первый и последний или референсы: какой режим нужен
Режим определяется ролью вашего фото. Если оно должно открыть ролик и ожить, это первый кадр. Если важно, чем ролик закончится, добавьте второе изображение и используйте режим первого и последнего кадра. Если фото служит образцом товара, персонажа или стиля, который должен появиться в новой сцене, это референсы.

| Режим | role в запросе | Сколько изображений | Модели | ratio | Когда выбирать |
|---|---|---|---|---|---|
| Первый кадр | first_frame или без role | 1 | 2.5, серия 2.0, 1.0 pro и pro fast | 2.5 — только adaptive; 2.0 — adaptive или любое из списка | Фото должно ожить: товар, пейзаж, иллюстрация, снимок с телефона |
| Первый и последний кадр | first_frame и last_frame, обязательно у обоих | 2, могут совпадать | 2.5, серия 2.0, 1.0 pro | Те же правила, что у первого кадра; последний подгоняется под пропорции первого | Известно, чем кончается сцена: переход между двумя состояниями, раскрытие упаковки |
| Референсы | reference_image у каждого изображения | 2.5 — от 1 до 30, серия 2.0 — от 1 до 9 | 2.5 и серия 2.0 | adaptive (по промпту) или любое из списка | Товар, персонаж или стиль нужно перенести в новую сцену |
Таблица составлена по документации Volcengine Ark о создании задачи генерации видео, обновлённой 28 октября 2026 года. Там же сказано, что три режима взаимоисключающие. В режиме референсов можно попросить модель в промпте сделать одно из изображений первым или последним кадром, но если кадры должны точно совпасть с вашими картинками, документация советует режим первого и последнего кадра. Вместе с референсными изображениями 2.5 принимает до 10 видео и 10 аудио, серия 2.0 — до 3 видео и 3 аудио.
Примет ли Seedance ваше фото: размер, формат и вес файла
API Seedance принимает изображение, если каждая его сторона от 300 до 6000 пикселей, отношение ширины к высоте от 0,4 до 2,5, а файл весит меньше 30 МБ. Форматы — jpeg, png, webp, bmp, tiff и gif, а heic и heif понимает только серия 2.0 и новее. Это ограничения API из той же документации Ark; у приложений вроде Dreamina могут быть свои.
Перед отправкой сверьте файл по списку:
- формат jpeg, png, webp, bmp, tiff или gif; heic и heif — только для 2.5 и серии 2.0;
- каждая сторона от 300 до 6000 px;
- ширина, делённая на высоту, от 0,4 до 2,5: кадр 1000×2500 ещё проходит, 3000×1000 уже нет;
- файл меньше 30 МБ, а весь запрос вместе со всеми картинками — не больше 64 МБ;
- крупные файлы передаются по публичному URL, а не в Base64;
- число изображений совпадает с режимом: 1 для первого кадра, 2 для первого и последнего, до 30 (2.5) или до 9 (2.0) референсов;
- в кадре нет реального лица: Seedance 2.5 и серия 2.0 не принимают такие изображения напрямую, законные варианты разобраны в статье Seedance 2.0/2.5: ошибка «input image may contain a real person».
2 ноября 2026 года эти правила проверил локальный скрипт предпроверки на Python 3.12 с Pillow 12: он сверяет файл с опубликованными ограничениями, но саму модель не вызывает. Из девяти синтетических изображений без людей четыре не прошли, причём по разным причинам. Аватар 256×256 отклонён из-за короткой стороны меньше 300 px. Панорама 8000×2000 нарушает сразу два правила: длинная сторона больше 6000 px, а соотношение 4,0 выходит за 2,5. Баннер 3000×1000 укладывается по размерам, но с соотношением 3,0 тоже слишком вытянут. Скан 6000×4000 в BMP весит 68,7 МБ, и в Base64 запрос раздулся бы примерно до 91,6 МБ при лимите 64 МБ. Обычное фото с телефона 4032×3024 (0,42 МБ), скриншот 1179×2556, квадрат 2048×2048 и иллюстрация 1536×2048 в webp прошли.
Ту же проверку можно повторить у себя. Функция ниже возвращает список проблем, пустой список означает, что файл укладывается в правила; модерацию лиц и содержимого она не проверяет.
import os
from PIL import Image
FORMATS = {"JPEG", "PNG", "WEBP", "BMP", "TIFF", "GIF"}
def check_seedance_image(path):
problems = []
if os.path.getsize(path) >= 30 * 1024 * 1024:
problems.append("файл 30 МБ или больше")
if os.path.splitext(path)[1].lower() in (".heic", ".heif"):
return problems # heic/heif: только 2.5 и серия 2.0; Pillow без плагина их не откроет
with Image.open(path) as im:
w, h = im.size
fmt = im.format
if fmt not in FORMATS:
problems.append(f"формат {fmt} не принимается")
if min(w, h) < 300:
problems.append(f"короткая сторона {min(w, h)} px меньше 300")
if max(w, h) > 6000:
problems.append(f"длинная сторона {max(w, h)} px больше 6000")
if not 0.4 <= w / h <= 2.5:
problems.append(f"соотношение сторон {w / h:.2f} вне диапазона 0.4–2.5")
return problems
print(check_seedance_image("photo.jpg"))Почему Seedance обрезал фото и какой ratio ставить
Обрезка происходит, когда ratio не совпадает с пропорциями фото: в этом случае Ark обрезает изображение по центру. Чтобы не потерять края, в режимах с первым кадром оставляйте adaptive (в 2.5 другого варианта нет), а если нужен конкретный формат вроде 9:16, кадрируйте фото сами до загрузки.
В Seedance 2.5 ролик в режимах с первым кадром всегда повторяет пропорции первого кадра, поэтому документация разрешает там только adaptive. Скрипт предпроверки 2 ноября остановил задачу 2.5 с фото 4:3 и ratio: "16:9" именно на этом правиле; какой текст ошибки вернёт сервер, документация не приводит. Точный размер ролика для нестандартных пропорций в таблице Ark тоже не указан: там только шесть стандартных соотношений.
В серии 2.0 соотношение можно задать самому, и тогда обрезка становится вашей заботой. Посчитать потерю просто: если фото шире выбранного формата, остаётся доля ширины, равная отношению «формат ÷ фото», а если уже, остаётся доля высоты «фото ÷ формат». Та же проверка 2 ноября дала такие цифры: фото с телефона 4032×3024 (4:3) при ratio: "16:9" сохраняет 75 % высоты, то есть срезается четверть высоты, по 12,5 % сверху и снизу. Скриншот 1179×2556 при 9:16 теряет 18 % высоты. Если вы оставите adaptive, модель 2.0 сама выберет одно из стандартных соотношений по первому кадру.

В режиме первого и последнего кадра главным считается первый кадр. Если пропорции картинок разные, последний кадр обрезается под первый: квадратный снимок товара 2048×2048 в паре с кадром 1920×1080 оставит от второго только центральный квадрат, примерно 56 % ширины (1080 ÷ 1920). В режиме референсов изображения служат образцами, а не кадрами, поэтому ratio задаётся свободно или выбирается моделью по промпту.
Если нужен определённый формат, проще всего заранее обрезать фото до пропорций итогового ролика, тогда вы сами решаете, что останется в кадре. Размеры ролика по таблице Ark:
ratio | 720p | 1080p |
|---|---|---|
| 16:9 | 1280×720 | 1920×1080 |
| 4:3 | 1112×834 | 1664×1248 |
| 1:1 | 960×960 | 1440×1440 |
| 3:4 | 834×1112 | 1248×1664 |
| 9:16 | 720×1280 | 1080×1920 |
| 21:9 | 1470×630 | 2206×946 |
Для 2.0 fast и 2.0 mini 1080p недоступно. В 480p размеры у 2.5 и 2.0 почти совпадают, кроме 16:9 и 9:16: 854×480 у 2.5 против 864×496 у 2.0.
Видео из фото в Dreamina: три шага с официальной страницы
В приложении Dreamina от CapCut видео из фото делается в три шага: открыть генератор, загрузить картинку с описанием движения и скачать ролик. Так порядок описан на странице Dreamina «Seedance image to video» по состоянию на 2 ноября 2026 года.
- Откройте генератор Seedance image to video в Dreamina и начните новый проект.
- Загрузите изображение и опишите, как оно должно двигаться: движение камеры, действие, стиль.
- Запустите генерацию, посмотрите результат, при необходимости поправьте описание и скачайте видео.
Управлять результатом в приложении можно промптом или референсами. Сколько кредитов уходит на ролик, какие ограничения действуют на изображение и есть ли отдельный режим первого и последнего кадра, страница не сообщает, так что цифры из разделов про API к приложению напрямую не переносятся. На странице встроен генератор на Seedance 2.0 mini и есть ссылка на Seedance 2.5. Как попасть в официальные сервисы и что с доступом из России, разобрано в статье Как пользоваться Seedance 2.0: официальный вход и доступ из России.
Запрос к Seedance API для каждого режима
Все три режима отправляются одним и тем же запросом на создание задачи, меняются только элементы массива content и их role. В Volcengine Ark это POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks, причём модель нужно заранее активировать: баланс больше 200 юаней, план экономии (savings plan) от 200 юаней или пакет ресурсов Seedance. У ретранслятора laozhang.ai путь тот же с префиксом /seedance: https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks, а ключ должен быть из группы SeeDance2. ID моделей в BytePlus ModelArk и условия активации там собраны в статье Seedance 2.5 API: ID модели, Python и Node.js, активация от $30.
Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.
Примеры ниже составлены по документации Ark и laozhang.ai и отправляют запрос через laozhang.ai; для Ark поменяйте адрес и ключ. Промпты в них на английском, почему — в вопросах в конце. Параметры передавайте в теле запроса: там они проверяются строго, а вариант с флагами в конце промпта (--rs 720p --rt 16:9 --dur 5) проверяется слабо, и ошибочное значение может быть молча проигнорировано.
Первый кадр: одно фото с role first_frame
curl -s -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LAOZHANG_API_KEY" \
--data-raw '{
"model": "doubao-seedance-2-5-260628",
"content": [
{
"type": "text",
"text": "Steam slowly rises from the coffee cup, soft morning light, the camera slowly pushes in"
},
{
"type": "image_url",
"image_url": { "url": "https://example.com/photo.jpg" },
"role": "first_frame"
}
],
"ratio": "adaptive",
"duration": 5,
"resolution": "720p",
"generate_audio": false,
"return_last_frame": true
}'Для 2.0 замените model на doubao-seedance-2-0-260128: там ratio можно поставить и явно, с учётом обрезки из раздела выше. generate_audio по умолчанию включён, и ролик выходит со стереозвуком; если звук не нужен, выключите его, как в примере. Водяной знак «AI 生成» в правом нижнем углу появляется только при "watermark": true, по умолчанию его нет.
Первый и последний кадр: role обязателен у обоих изображений
curl -s -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LAOZHANG_API_KEY" \
--data-raw '{
"model": "doubao-seedance-2-0-260128",
"content": [
{
"type": "text",
"text": "Image 1 is the first frame, image 2 is the last frame. A smooth product transition from the closed box to the opened box, no people"
},
{
"type": "image_url",
"image_url": { "url": "https://example.com/start.jpg" },
"role": "first_frame"
},
{
"type": "image_url",
"image_url": { "url": "https://example.com/end.jpg" },
"role": "last_frame"
}
],
"ratio": "adaptive",
"duration": 5,
"resolution": "720p",
"generate_audio": false
}'В этом режиме документация требует role у обоих изображений, а сами картинки могут и совпадать. Чтобы последний кадр не обрезался, готовьте обе в одних пропорциях.
Референсы: role reference_image и номера изображений в промпте
curl -s -X POST "https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LAOZHANG_API_KEY" \
--data-raw '{
"model": "doubao-seedance-2-0-fast-260128",
"content": [
{
"type": "text",
"text": "Use image 1 as the product reference and image 2 as the style reference. The product stands on a wooden table in a bright kitchen, the camera orbits around it"
},
{
"type": "image_url",
"image_url": { "url": "https://example.com/product.png" },
"role": "reference_image"
},
{
"type": "image_url",
"image_url": { "url": "https://example.com/style.jpg" },
"role": "reference_image"
}
],
"ratio": "9:16",
"duration": 5,
"resolution": "720p"
}'Здесь ratio выбирается свободно, потому что референсы не задают кадр ролика. Как ссылаться на изображения и описывать движение, чтобы модель не перепутала их роли, разобрано в статье Промпты для Seedance 2 и 2.5: раскадровка, референсы и правки.
URL, Base64 или asset://: как передать изображение
Публичный URL подходит для любого размера в пределах лимитов и не раздувает запрос. Base64 удобен для локального файла, но строка должна иметь вид data:image/<формат>;base64,<данные>, причём формат пишется строчными буквами (data:image/jpeg;base64,...), а для крупных файлов документация Base64 использовать не советует: весь запрос ограничен 64 МБ. Третий вариант, asset://<ASSET_ID>, ссылается на загруженный в платформу материал, например на предустановленные виртуальные портреты. Собрать строку Base64 из файла можно так:
echo "data:image/jpeg;base64,$(base64 < photo.jpg | tr -d '\n')" > photo.b64.txtОтвет 503 «no available channels»: ключ не из группы SeeDance2
2 ноября 2026 года к https://api.laozhang.ai/seedance/api/v3/contents/generations/tasks был отправлен бесплатный пробный запрос в режиме первого кадра (картинка 100×100 в Base64) с ключом laozhang.ai из группы default. Ответ — HTTP 503 Current group default has no available channels for model doubao-seedance-2-0-260128 under billing mode [pay-per-request], то же самое для doubao-seedance-2-5-260628; списания не было. Решение одно: создать в кабинете laozhang.ai отдельный ключ в группе SeeDance2. Группа проверяется раньше изображения, поэтому такой ответ ничего не говорит о вашей картинке: заведомо слишком маленькое изображение 100×100 до проверки размера так и не дошло.
Статус задачи и скачивание ролика
Создание задачи возвращает её id. Дальше опрашивайте GET …/contents/generations/tasks/{id}, пока status не станет succeeded (у laozhang.ai также completed), failed или expired; queued и running означают, что ждать нужно дальше. Готовое видео лежит в content.video_url, а у laozhang.ai его можно забрать и через GET https://api.laozhang.ai/v1/videos/{id}/content. У laozhang.ai ссылка на результат временная, обычно около 24 часов, поэтому скачивайте ролик сразу. Полный цикл опроса на Python и Node.js есть в статье Seedance 2.5 API: ID модели, Python и Node.js, активация от $30, а что делать, если задача упала или зависла, — в статье Seedance 2.5: ошибка, очередь или тайм-аут — диагностика по статусу задачи.
Сколько стоит ролик из фото: разрешение, длительность и duration -1
Цена ролика зависит от модели, разрешения и длительности, а сами изображения на входе её не увеличивают. Оплата идёт за токены, и по формуле Volcengine их число примерно равно (длительность входного видео + длительность ролика) × ширина × высота × частота кадров ÷ 1024. Входное изображение в формулу не входит, длительность добавляет только входное видео.
| Модель | Разрешения | Цена laozhang.ai за 1 млн токенов | 5 с, 16:9, 720p | 5 с, 16:9, 1080p |
|---|---|---|---|---|
| Seedance 2.5 | 480p, 720p, 1080p | $12,00; в 1080p — $13,20 | ≈ $1,31 | ≈ $3,23 |
| Seedance 2.0 | 480p, 720p, 1080p, 4k | $7,88; в 1080p — $8,74 | ≈ $0,86 | ≈ $2,14 |
| Seedance 2.0 fast | 480p, 720p | $6,34 | ≈ $0,69 | нет |
| Seedance 2.0 mini | 480p, 720p | $3,94 | ≈ $0,43 | нет |
Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.
Это тарифы из документации laozhang.ai по Seedance 2.0 и 2.5, действующие с 14 октября 2026 года, для задач без видео на входе; цену 4k прайс не приводит. Пример легко пересчитать: пять секунд — это 121 кадр, ролик 16:9 в 720p даёт 1280 × 720 × 121 ÷ 1024 = 108 900 токенов, а по $12,00 за миллион это около $1,31. В журнале laozhang.ai каждая задача даёт две записи: предварительное списание и итоговый расчёт, и стоимость задачи — их сумма. Цены других каналов, включая BytePlus и подписку Dreamina, сведены в статье Seedance 2.5 API: цена за секунду по каналам и подписка Dreamina.
Самая дорогая ошибка — не указать длительность в Seedance 2.5. По умолчанию там duration: -1: модель сама выбирает длину от 4 до 30 секунд, а документация прямо предупреждает, что длительность влияет на оплату. В локальной проверке 2 ноября 2026 года иллюстрация 1536×2048 (3:4) в 2.5 и 720p дала такую оценку: если модель выберет максимум, 30 секунд — это 721 кадр размером 834×1112, около 652 989 токенов и примерно $7,84, а при явных duration: 5 — около 109 586 токенов и $1,32. Серия 2.0 принимает от 4 до 15 секунд или -1, и запрос на 20 секунд в той же проверке не прошёл по диапазону.
Для первых проб выгоднее всего короткий ролик в низком разрешении. Seedance 2.0 mini в 480p, квадрат 640×640 на 5 секунд — около 48 400 токенов, то есть примерно $0,19 по той же оценке; 1080p у mini нет. В 2.5 можно включить draft, и задача создаст черновик в 480p. Учтите и формат файла: 1080p у 2.5 и 4k у 2.0 кодируются в 10-битный H.265/HEVC, который открывают не все плееры.
Вопросы о видео из фото в Seedance
Можно ли сделать видео из фото в Seedance бесплатно?
По состоянию на 2 ноября 2026 года официальная страница Dreamina обещает для Seedance 2.0 пробные кредиты (free trial credits), на которые можно сделать видео из фото без оплаты, но сколько их и на сколько роликов хватит, не указывает. Цены API и подписки по каналам собраны в статье Seedance 2.5 API: цена за секунду по каналам и подписка Dreamina.
Можно ли писать промпт для Seedance по-русски?
Русского нет в списке языков промпта ни у Seedance 2.5, ни у серии 2.0 (документация Volcengine Ark, обновлена 28 октября 2026 года). Все модели принимают китайский и английский, 2.5 дополнительно понимает испанский, индонезийский, португальский, японский, малайский, тайский, арабский, вьетнамский и корейский, а серия 2.0 — испанский, индонезийский, португальский и японский. Из этого списка следует простой вывод: надёжнее писать промпт по-английски, укладываясь в рекомендованные 1000 слов. Реплики персонажей при включённом звуке документация советует брать в двойные кавычки.
Почему Seedance не принимает фото с человеком?
Seedance 2.5 и серия 2.0 не принимают загруженные напрямую изображения с реальными лицами; какие варианты остаются (предустановленные виртуальные портреты, авторизованные материалы), разобрано в статье Seedance 2.0/2.5: ошибка «input image may contain a real person».
Как продолжить ролик с последнего кадра предыдущего?
Добавьте в запрос "return_last_frame": true: после успешной задачи API вернёт последний кадр в JPEG того же размера, что и видео, без водяного знака (у laozhang.ai он лежит в content.last_frame_url). Документация Ark предлагает передавать этот кадр как first_frame следующей задачи, и так можно склеить несколько роликов в одну сцену.
Примечание: laozhang.ai — наш собственный сервис; его цены — наши тарифы, а не независимое сравнение.
Что делать, если задача висит в queued или упала с failed?
Сначала сохраните id задачи и точный status с текстом error, потом ищите причину по статусу; пошаговая диагностика — в статье Seedance 2.5: ошибка, очередь или тайм-аут — диагностика по статусу задачи.
Источники2
Внешние страницы, на которые ссылается это руководство, в порядке упоминания. Последнее обновление: 3 нояб. 2026 г..
Источники2
Внешние страницы, на которые ссылается это руководство, в порядке упоминания. Последнее обновление: 3 нояб. 2026 г..





