Skip to content
КОНЦЕПТЫ
4 мин. чтенияЧитать на английском

Воркфлоу генерации JSON-промптов для Seedance 2

Под каждый Seedance 2-проект команда заново изобретает воркфлоу. Кто-то начинает с проверки референсов, кто-то пишет global-блок последним, кто-то про face pre-flight вспоминает только когда фильтр модерации зарубает сабмишн. Под дедлайн обычно отлетают именно те шаги, которые казались дешёвыми и пропускаемыми — image pre-flight, аудит бюджета символов, когерентность маппинга сцен — и стоят они дороже всего, когда падают уже в конце.

Ниже — задокументированная версия этого воркфлоу, чтобы шаги не зависели от того, какой проект оператор делал последним.

Форма end-to-end: на вход — сценарий и референсные стиллы, на выход — production-ready Seedance 2 JSON. Компаньон к системному промпту seedance-2-cinematic-video-prompt-engineer: промпт тащит основную работу, а воркфлоу окружает его дисциплиной (image pre-flight, маппинг сцен, бюджет символов, финальная валидация), чтобы выход промпта приземлялся чисто каждый раз.

Входы

  1. Сценарий — текстовое описание ролика (на любом языке). Может быть свободной прозой или уже разбитым по кадрам шот-листом.
  2. Референсные изображения — пронумерованные стиллы ключевых кадров. Имена файлов вида img1, 1.png, shot_01.png.
  3. (Опционально) переопределения — кастомный потолок по символам, целевое число шотов, фиксированные wardrobe / location notes.

Выход

Один сырой JSON-объект (без кодовых ограждений, без прозы), соответствующий структуре, описанной в seedance-2-cinematic-video-prompt-engineer:

{"refs":[...],"g":"...","s":[{"id":"1","c":"...","p":"..."}]}

Процесс

0. Image pre-flight (цензура / фильтр лиц)

В первую очередь проверьте каждый референс на триггерный контент:

  • Реальные лица, портретные таблички, фотостены, плотные толпы с видимыми лицами → накладывайте Слой 1 grid overlay по seedance-2-censorship-bypass (белая 100%-непрозрачная сетка, по умолчанию 6×6 @ 12 px; эскалация до 10×10 @ 8 px после первого срабатывания фильтра).
  • На референсе уже что-то похожее на сетку (продакшн-планшеты с +-маркерами)? Проверьте, что это белая непрозрачная сетка; если нет — кладите правильную поверх.
  • Чувствительный сценарий (мемориал, война, протест, исторически-политический)? Накладывайте сетку, даже если лица вторичны.
  • Помечайте в refs[].r, что картинка с сеткой, чтобы модель не путалась — например, "white 6×6 grid overlay for detector bypass; ignore in output".

Заранее зафиксируйте гигиену Слоя 2 (применяется на шаге 7):

  • Никаких возрастных слов, никаких эмоций / бэкграунда, никаких имён публичных персон.
  • Каждое p — это визуальные факты + контекст сцены + production-язык + роль вместо возраста.
  • Если применён image-оверлей, scene-промпты содержат no grid lines, no overlay, no mesh, clean skin, smooth image.

1. Проверьте входы

  • Сценарий есть? Если нет — попросите.
  • Картинки приложены? Сосчитайте их и зафиксируйте имена файлов как есть.
  • Уточните любые override (потолок символов, число шотов, специфический VFX-язык) до генерации.

2. Загрузите системный промпт

Используйте seedance-2-cinematic-video-prompt-engineer дословно как system-слой для шага генерации.

3. Разберите сценарий

  • Определяйте сцены по смене камеры — новая сцена начинается на кате или на дискретном движении камеры.
  • Помечайте: моменты freeze, состояния VFX, композитные оверлеи (текст/UI/логотипы), петли (loops).
  • Лочьте: wardrobe, location, описания персонажей.

4. Разберите каждый референс

Для каждого изображения извлеките:

  • Wardrobe (цвета, кройка, аксессуары)
  • Интерьер / элементы локации
  • Положения рук, реквизит, жесты
  • Стиль VFX, если есть (grid / pixel / wireframe / particle, цвет, покрытие)
  • Угол и крупность камеры
  • Цветокор / световое настроение

Выберите PRIMARY-референс (обычно якорь персонажа + локации) — он маппится на большинство сцен.

5. Маппинг images → scenes

Сначала собирайте refs[]. Каждое изображение получает:

  • img — точное имя файла
  • s — CSV из ID сцен, к которым применяется
  • r — match-описание ≤ 80 символов

6. Пишите глобальное (g)

≤ 300 символов. Должно покрыть: композитные элементы, wardrobe lock, location lock, правила VFX.

7. Пишите сцены (s[])

На каждую сцену:

  • c — только стенография камеры, ≤ 80 символов. Полная палитра глаголов (ROCKET, whip, CRASH stop, orbit, corkscrew, bullet-time, …).
  • p — только визуальное содержимое кадра, ≤ 250 символов. Никакого повторения камеры. Явный scoping freeze / VFX.

8. Сосчитайте символы

Если общий JSON > потолка (по умолчанию 3500):

  • Сначала сжимайте поля p (плотные аббревиатуры).
  • Сливайте соседние сцены с похожей камерой и содержимым.
  • Сокращайте g (но никогда не удаляйте заметку о композитных элементах).

9. Финальный проход

  • Английский во всём (переводите с любого исходного языка).
  • Имена собственные и бренды сохранены.
  • Без markdown, без ограждений, без комментариев.
  • Валидный JSON (закрытые скобки, экранированные кавычки).

10. Доставка

Вставьте сырой JSON и только его. Предложите: «Покрутить какой-то шот / сжать потолок / добавить сцену?»

Частые вариации

  • Loop-видеоp последней сцены должно явно указывать «final frame matches shot 1 first frame»; камера в c реверсирует открывающее движение.
  • Сцены с freeze — каждая замороженная сцена прописывает позу + «Zero movement.».
  • Много текстовых оверлеевg явно перечисляет «empty comp spaces»; сцены отмечают, где эти пустоты в кадре.
  • Несколько персонажей — каждому персонажу одна заблокированная строка wardrobe в g; референсы с несколькими людьми идут как PRIMARY на большинство сцен.

Анти-паттерны

  • Описание движения камеры внутри p — это в c.
  • Прописывание текстового содержимого композитных титров — никогда.
  • Добавление "type":"cut" или других расширений схемы — это не часть контракта.
  • VFX, протекающие на персонажей без явного «chars CLEAN» — нельзя.
  • Забыть пометить PRIMARY-референс.
  • Пропустить image pre-flight на face-heavy референсах — большинство срабатываний фильтра предотвращается на этапе загрузки (см. seedance-2-censorship-bypass).
  • Возрастные слова в pyoung, child, elderly и т. д. поднимают подозрение ко всему промпту.
  • Эмоциональная рамка — «remembering», «sad», «hopeful» → заменяется визуальными фактами.

Идёт в паре с