Перейти к основному контенту

Гайд по промптам Seedance 2.0: текст, первые кадры и референсы

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

Автор
Lydia
Опубликовано
Время чтения
14 мин чтения
Обновлено
Женщина играет на вертикальном пианино, руки и педаль видны, пока режиссёр выстраивает кадр

У Seedance 2.0 на SpicyAPI (spicyapi.ai) три видеозадачи, и каждой нужен свой промпт. В задаче текст в видео промпт несёт весь кадр. В задаче изображение в видео облик задаёт открывающий кадр, поэтому промпт говорит только о том, что происходит дальше. В задаче референс в видео вы передаёте изображения, клипы или аудио, и промпт объясняет, для чего нужен каждый файл. Напишете промпт не того типа для задачи — и никакое количество прилагательных не спасёт клип.

Цены и ограничения ниже взяты с публичных страниц моделей, октябрь 2026. Все три задачи возвращают от 4 до 15 секунд видео со звуком, от 480p до 4K.

Выберите задачу по тому, что должно остаться неизменным

Что у вас уже естьЗадачаРабота промптаЦена от
Идея, без изображенияТекст в видеоОпишите сцену, затем что меняется$0.07/с
Точный открывающий кадр (кадр с товаром, утверждённый стоп-кадр)Изображение в видеоОпишите только то, что происходит после кадра$0.07/с
Раздельные источники: лицо, место, движение камеры, звукРеференс в видеоСкажите, что даёт каждый файл, затем поставьте новый кадр$0.07/с ($0.043 с референсным видео)

Текст в видео придумывает открывающую композицию, поэтому используйте его для вымышленных или гибких сцен. Если важны этикетка и пропорции реального товара, текстовое описание их не воспроизведёт; начните с фотографии. У референса в видео нет контроля над первым кадром; если открывающий кадр должен совпасть, используйте изображение в видео. Изображение в видео сохраняет одежду, форму объектов и освещение из кадра. Это не гарантирует, что они переживут поворот или перекрытие, поэтому смотрите клип целиком.

Референс в видео принимает до 9 изображений, 3 видеоклипа и 3 аудиофайла. Каждый клип или аудиофайл длится от 2 до 15 секунд, и по каждому типу суммарно установлен предел в 15 секунд. Требуется хотя бы одно изображение или видео; одно лишь аудио отклоняется. Берите самый небольшой набор, который решает задачу. Лишние файлы добавляют противоречия, например одно лицо при трёх освещениях или движение камеры, которое борется с кадрированием референсов, и модель не поймёт, какой файл главный, если промпт не скажет.

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

Напишите бриф кадра

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

  • Одно видимое действие, одна инструкция по камере. «Механик один раз проворачивает педаль, затем кладёт руку рядом» даёт модели что отрисовывать; «эмоционально, кинематографично» — нет. Описывайте, как движется субъект («медленно поднимает затвор»), а не добавляйте слова качества.
  • Скажите, где камера относительно субъекта. «Камера остаётся на высоте пояса, средняя дистанция» — рабочая инструкция. Не объединяйте «зафиксированная камера», «орбита» и «быстрый зум» в одном кадре; выберите одно поведение или ни одного.
  • Подберите длительность под действие. Пять секунд хватает на поворот, движение руки или взгляд. Чтобы войти в комнату, взять инструмент и произнести фразу, нужно 10 секунд или больше либо отдельные кадры. duration_seconds принимает целые секунды от 4 до 15 или -1, чтобы выбрала модель.
  • Используйте порядок кадров, а не тайм-коды. Seedance 2.0 точнее следует «Shot 1, Shot 2, Shot 3», чем диапазонам по секундам. Если действие исчезает, сократите число событий или дайте последовательности больше времени.
  • Стиль ставьте в конце и держите коротким. «Мягкий утренний свет, документальная текстура» поддерживает кадр. Куча не связанных между собой меток тянет результат к обезличенной гладкости и прячет действие. Для стилизованной сцены начните с «Photorealistic live action, not animation», иначе она может уйти в иллюстрацию.

Бриф на несколько кадров для 10 секунд с прописанной склейкой:

text
A mechanic in a dark blue work shirt repairs a red commuter bicycle in a tidy daylight workshop. Naturalistic photography, soft morning light.
Shot 1: Fixed medium shot. The mechanic turns the right pedal once by hand and the rear wheel spins.
Shot 2: Cut to a close side view of the rear wheel slowing while his gloved hand steadies the frame.
Shot 3: Back to the medium shot. He steps back and wipes his hands on a rag.
Sound: ratchet clicks, the spinning wheel, quiet workshop. No music, no captions.

Сначала попробуйте в Playground

Выполните бриф в Playground до того, как писать код; промпт, который не сработает здесь, не сработает и через API.

  1. Откройте страницу текста в видео и оставайтесь во вкладке Playground в режиме Form. Войдите с пополненным счётом, чтобы запустить.
  2. Вставьте бриф в Prompt.
  3. Задайте Aspect ratio (16:9), Resolution и Duration. Для черновика возьмите 480p и 5 секунд; обе эти настройки помечены «affects price», как и Generate audio и Web search (оставьте Web search выключенным).
  4. Прочитайте оценку цены и запускайте. В разделе Advanced parameters поле Seed помогает сравнить правку промпта с предыдущим запуском.

У изображения в видео та же вкладка с загрузкой Input image (и необязательным Closing frame). В референсе в видео добавляйте файлы в Reference images, Reference videos и Reference audio; они нумеруются как image 1, video 1, audio 1 по мере добавления, а Insert reference вставляет нужную метку в промпт.

Затем вызовите из кода

Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY в окружении сервера и выполните:

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

request = {
    "model": "bytedance/seedance-2.0/text-to-video",
    "input_data": {
        "prompt": "One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.",
        "duration_seconds": 5,
        "resolution": "720p",
        "aspect_ratio": "16:9",
        "generate_audio": True,
    },
}

quote = client.quote_task(**request)  # free; nothing is reserved
print(quote["estimatedCost"], quote["maxCharge"])

task = client.create_task(
    **request,
    idempotency_key=str(uuid.uuid4()),
    quote_id=quote["quoteId"],
    expected_cost=quote["estimatedCost"],
)
print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
    raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"])  # copy it to your own storage now

Две другие задачи используют тот же вызов с другими model и input_data: image_url (плюс необязательный last_image_url) для изображения в видео и reference_image_urls с необязательными списками референсного видео и аудио для референса в видео. Режим JSON в Playground показывает точное тело запроса для текущей задачи. Загрузки, ожидание, повторы, ошибки и экономящие деньги ключи идемпотентности описаны в справочнике Python SDK и в гайде по асинхронным задачам.

Или пусть запустит агент

Если за вас клипы должен запускать ассистент, дайте ему CLI, сервер MCP или Skill. CLI и сервер MCP показывают цену и спрашивают разрешения перед платным вызовом.

  • CLI. Положите тот же объект input в input.json, затем выполните следующее (npx @spicyapi/cli работает без установки; см. документацию по CLI):

``bash spicyapi tasks create --model bytedance/seedance-2.0/text-to-video --input-file input.json --wait ``

  • Сервер MCP. Добавьте сервер MCP к своему ассистенту и затем попросите: «Run Seedance 2.0 text to video with this brief, 5 seconds at 480p.» Он вызывает spicyapi_task_create, который останавливается для подтверждения цены, а затем spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill устанавливает Agent Skill, благодаря которому ассистент по коду читает актуальную схему модели, а не угадывает поля.

Текст в видео: выстройте всю сцену

Без изображения сначала назовите действующие лица и ключевые объекты, затем начальную композицию, затем одно небольшое изменение. «Механик держит педаль» — это состояние; «проворачивает педаль один раз» — действие, и модели нужно второе. Если велосипед должен быть красным и оставаться на подставке, напишите это в описании сцены, а не в конце.

text
One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.

Параметр enable_web_search существует только в задаче текст в видео и повышает тариф (720p растёт с $0.152 до $0.246 в секунду). Оставляйте его выключенным, если только кадру не нужно то, что модели пришлось бы искать, и проверяйте любые факты самостоятельно.

Если клип не попал в цель, измените ту единственную часть брифа, которая за это отвечает:

Что вы видитеЧто изменить
Лишние люди или второй велосипедУкажите количество («один механик, один велосипед») и уберите слова про группу
Действие так и не заканчиваетсяУберите одно событие или увеличьте длительность
Камера двигается, хотя написано «фиксированная»Дайте камере одну прямую фразу и уберите остальные слова о камере
Нежелательная склейкаСкажите «one continuous shot» и уберите смены сцен из брифа
Субтитры или музыка, которых вы не просилиДобавьте «no captions, no music»; это снижает риск, но не гарантирует
Мультяшный или иллюстративный видНачните с «Photorealistic live action, not animation»

Изображение в видео: пусть кадр делает визуальную работу

Выбирайте кадр под то движение, которое вам нужно. Плотный портрет по грудь не даст промпту с ходьбой ничего, с чем работать, а велосипед, обрезанный по заднему колесу, не покажет, что колесо вращается. Проверьте кадр перед отправкой: анатомия, количество объектов, случайный текст и освещение. Каждый изъян стоп-кадра сохраняется на всём протяжении клипа, и анимация его не чинит.

Иллюстрация механика, который держит педаль красного городского велосипеда на подставке, педаль обведена.
Иллюстрация вместо открывающего кадра; это не результат Seedance.

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

text
The mechanic turns the visible pedal once by hand. The rear wheel rotates naturally, then slows while the mechanic watches it. The camera remains fixed at the original medium distance. One continuous shot, quiet workshop ambience.

image_url должен быть публичной прямой ссылкой (от 300 до 6000 px по стороне, меньше 10 MB; фото реального узнаваемого человека могут отклонить); для файла на вашем компьютере сначала загрузите его и передайте полученный URI spicy://. Промпт необязателен, и без него модель сама выберет движение. aspect_ratio: "adaptive" следует собственной форме изображения.

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

Чтобы выйти за 15 секунд, поставьте return_last_frame в true, сохраните полученный финальный кадр и передайте его как image_url в следующем вызове. Поля продолжения нет, поэтому каждый отрезок начинается с сохранённого кадра.

Референс в видео: дайте каждому файлу задачу

Назначьте роли в промпте и сопоставьте их с порядком загрузки: image 1, image 2, video 1, audio 1. Дайте субъекту короткое имя, определите его один раз и используйте дальше. Скажите модели, что взять из клипа, а что оставить за бортом.

text
Define the mechanic in image 1 as the Mechanic. Use image 2 for the workshop and the red bicycle. The Mechanic turns the pedal once while the wheel rotates, then pauses. Medium shot, camera fixed at waist height. One continuous shot. Quiet ambience, no speech.
Иллюстрация доски референсов: портрет механика, красный велосипед на подставке и механик, настраивающий задние передачи.
Иллюстрированная доска с тремя ролями референсов; это не результат Seedance.

Что помогает:

  • Одна задача на файл. Если внешность плывёт, отделите референс лица от референса одежды или тела целиком и скажите, кто что даёт. Два-три ракурса одного персонажа работают лучше, чем стопка почти одинаковых кадров, а коллаж из нескольких ракурсов может читаться как несколько людей.
  • Используйте сгенерированные или полностью освобождённые лица. Проверка входных данных Seedance может отклонить фото реального узнаваемого человека ещё до списания. Изображения должны быть от 300 до 6000 px по стороне и меньше 10 MB.
  • Держите стиль единым. Смешивание фотографий, мультфильмов и аниме в одном наборе референсов обычно делает результат плоским.
  • Ссылка на референс — это не редактирование. «Borrow the slow sideways track from video 1, not its people or location» просит новую сцену. «Edit video 1» просит изменить этот материал. Не смешивайте оба варианта в одном промпте.
  • Скажите, что даёт аудиофайл: голос, атмосферу или музыкальный характер. Рядом с ним нужно изображение или видео, а при выключенном generate_audio звуковая дорожка не отрисовывается, даже если аудио передано.
  • Добавляйте видео последним. Сначала добейтесь рабочей сцены на изображениях, потом добавляйте клип по названной причине. Видео меняет и цену (см. ниже).
  • Порядок важен. Если инструмент пересортирует файлы, image 1 станет другим изображением. Когда заменяете файл, перечитайте назначения в промпте.

Загружайте только материал, на который у вас есть права, и только людей, которые согласились появиться.

Управляйте звуком

generate_audio включён по умолчанию и стоит столько же, сколько выключенный. Выключите его, если позже будете сводить или озвучивать клип. Относитесь к звуку как к отдельной части брифа:

  • Называйте источники. «Ratchet clicks, spinning wheel, quiet workshop» лучше, чем «ambient sound». Пишите «no music», когда имеете в виду именно это, иначе сцена может вернуться с музыкой.
  • Диалог: назовите говорящего, возьмите реплику в кавычки, сделайте её достаточно короткой для длительности и держитесь одного языка. Слушайте точные слова; правдоподобно звучащая реплика всё равно может изменить имя или предложение.
  • Почините это на монтаже. Если картинка верна, а звук неверен, замените звук локально, а не перегенерируйте картинку.

Итерируйте с одним изменением за раз

Меняйте одно за попытку: фразу про камеру против нежелательного зума, набор референсов против дрейфа личности. Иначе удачный клип не покажет, какая правка сработала. Зафиксируйте seed и держите всё остальное постоянным, чтобы оценить правку промпта. Seed — это инструмент сравнения, а не обещание повторов, идентичных кадр в кадр.

Черновик делайте в 480p и поднимайте разрешение, когда действие читается правильно; 720p — значение по умолчанию. Разрешение и длительность определяют цену, а соотношение сторон, битрейт и водяной знак — нет. Собственная проверка Seedance отклоняет некоторые формулировки до отрисовки, и формулировки с поцелуями являются надёжным триггером; отклонённая задача обычно освобождается без списания.

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

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

Иллюстрация блокнота с набросками педали, камеры и микрофона рядом с фотографией механика за работой.
Блокнот для записи задачи, источников и настроек; это иллюстрация, а не журнал запуска.

Сколько это стоит

Текст в видео и изображение в видео тарифицируются за секунду результата, со звуком включённым или выключенным по одному тарифу:

РазрешениеЗа секундуКлип на 5 секунд
480p$0.07$0.35
720p$0.152$0.76
1080p$0.374$1.87
4K$0.778$3.89

Три черновика в 480p плюс финальный в 720p — это $1.81. С -1 (длительность выбирает модель) оценка берёт максимум в 15 секунд, $2.28 при 720p, а итоговое списание соответствует выданной длительности. Seedance 2.0 Fast и Mini дешевле (Mini начинается с $0.025 за секунду в 480p, Fast с $0.045) и заканчиваются на 720p; относитесь к черновику от них как к подсказке о брифе, а не как к предпросмотру результата базовой модели.

Референсное видео — единственный вход, который меняет счёт. Референс в видео берёт меньшую ставку за секунду, когда запрос включает видео (720p: $0.0928 вместо $0.152), но вы платите её за свои секунды результата плюс секунды референсного клипа. Клип на 5 секунд в 720p с референсным клипом на 10 секунд даёт 15 × $0.0928 = $1.39 против $0.76 без клипа. В 4K ставка одинакова при наличии видео и без него, поэтому клип добавляет только секунды. SpicyAPI удерживает средства по максимуму заранее и освобождает неиспользованную часть, когда задача рассчитывается. Обрезайте референсные клипы до тех нескольких секунд, которые несут движение.

Когда ответ — другая модель

Сначала проверьте выбор задачи, качество кадра, роли референсов и инструкции по камере, потому что эти проблемы преследуют вас в любой модели. Переходите дальше, когда требование выходит за рамки контракта 2.0: Seedance 2.5 работает от 4 до 30 секунд и принимает до 30 изображений, 10 клипов и 10 аудиофайлов в задаче референс в видео, со своими ценами и потолком 1080p. Прочитайте его гайд по промптам, прежде чем переносить промпт с 2.0. BytePlus также публикует собственный гайд по промптам.

FAQ

Можно ли вставлять промпты, использующие @Image1 из других гайдов?

Перепишите их. В SpicyAPI метки называются image 1, video 1 и audio 1 и соответствуют порядку входных массивов.

Другие языки English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Italiano · Polski