3,583 papers
arXiv:2608.05233 76 5 авг. 2026 г. FREE

DSV (Dream Scene Visualiser): разбивка истории на сцены с общим стилем для серии согласованных картинок

КЛЮЧЕВАЯ СУТЬ
Просишь нарисовать 4 картинки по одной истории — получаешь четыре разных мира: герой то блондин, то брюнет, палитра скачет, будто каждый кадр рисовал новый художник. DSV позволяет получить серию картинок, которые выглядят одним визуальным рассказом, без ручной подгонки стиля под каждый кадр отдельно. Секрет — не генерировать промпты по одному, а зафиксировать стиль и эмоцию для всех четырёх сцен сразу, одним ответом LLM, а потом добить каждый промпт словами-якорями палитры и атмосферы. Итог — связный рассказ из 4 кадров вместо случайного набора картинок.
Адаптировать под запрос

TL;DR

DSV превращает текстовое описание (в оригинале — описание сна) в серию из четырёх картинок, которые выглядят как одна история, а не случайный набор изображений. Работает это в два шага: сначала LLM разбивает текст на четыре хронологические сцены, для каждой придумывает эмоцию и готовый промпт для генератора картинок, а потом каждый промпт достраивается словами-якорями — токенами стиля и эмоции из заранее составленного словаря.

Если просто попросить нейросеть нарисовать четыре картинки по кускам одного текста, они получаются разнобойными: то персонаж другой, то палитра скачет, то настроение не совпадает — будто каждую рисовал другой художник. Причина проста: короткий промпт не даёт генератору картинок достаточно "сигналов стиля", а без явной команды держаться за предыдущий кадр каждая новая картинка рисуется как бы с нуля, из памяти модели ничего не переносится.

DSV решает это одним развёрнутым промптом LLM: сначала зафиксировать единый стиль и эмоциональную арку для всех четырёх сцен сразу (а не генерировать промпты по одному), а потом усилить каждый промпт конкретными словами-якорями палитры и атмосферы — чтобы генератор картинок точно понял, что кадры должны быть похожи.

🔬

Схема метода

ШАГ 1 (один запрос к LLM): Разбить историю на 4 хронологические сцены 
→ для каждой: короткое описание + доминирующая эмоция + позитивный промпт + негативный промпт (в формате JSON)

ШАГ 2 (обработка текста, можно тем же промптом или отдельно): 
Обогатить каждый промпт словами из словаря:
[стиль → цветовая палитра и атмосферные токены] + [эмоция → набор образов] + общий "буст качества"

ШАГ 3 (генерация в T2I-сервисе, вне чата): 
Сгенерировать 4 картинки. Картинки 2–4 генерируются с оглядкой на предыдущую (referens-изображение), 
чтобы персонаж/обстановка/палитра не "расползались"

ШАГ 4 (проверка, опционально): 
Сравнить картинку с описанием сцены → если не совпадает, перегенерировать с усиленным промптом

Шаги 1–2 — это чистый текстовый промптинг, полностью переносится в обычный чат. Шаги 3–4 зависят от возможностей конкретного сервиса генерации картинок (референс-изображение, повторная генерация).

🚀

Пример применения

Задача: Основатель стартапа ведёт Telegram-канал и хочет выложить пост-историю "как я всё потерял и начал с нуля" — с четырьмя иллюстрациями вместо текста, чтобы пост цепляли визуально, а не только словами.

Промпт:

Ты — сценарист и промпт-инженер для генератора изображений.
Пользователь дал тебе историю. Твоя задача:

1. Разбей историю ровно на 4 хронологические сцены.
2. Для каждой сцены напиши детальный промпт для генератора картинок на русском.
3. Примени единый визуальный стиль «{стиль}» ко всем четырём промптам 
   (например: нуар, минимализм, тёплая акварель, киберпанк).
4. Определи доминирующую эмоцию каждой сцены.

Правила для промптов:
— В каждом промпте должен быть герой, который что-то конкретное делает 
  (идёт, сидит за столом, смотрит на экран и т.д.)
— Опиши позу, жесты, взаимодействие со сценой
— Опиши цвет, свет, атмосферу
— Добавь во все промпты слова, закрепляющие единый стиль
— Держи промпт в пределах 40–70 слов
— Для каждой сцены дай и то, чего НЕ должно быть в картинке (например: «без толпы людей, без ярких неоновых цветов»)

История: {текст истории про запуск и провал стартапа}

Ответь в формате JSON: 4 объекта со сценой, описанием, эмоцией, 
позитивным и негативным промптом.

Результат: Модель выдаст JSON с четырьмя блоками — по одному на сцену истории (например: "офис в 3 часа ночи, эмоция — тревога", "пустой счёт в банке, эмоция — отчаяние", "разговор с партнёром, эмоция — надежда", "запуск нового продукта, эмоция — облегчение"). Каждый блок будет содержать готовый текстовый промпт для вставки в Midjourney, DALL-E или любой другой генератор картинок — с общими словами стиля во всех четырёх, чтобы кадры выглядели одной историей.

🧠

Почему это работает

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

LLM, наоборот, хорошо держит связный план внутри одного ответа — если попросить её сразу расписать все четыре сцены с общим стилем и конкретными деталями (цвет, герой, эмоция), она сама протащит консистентность через текст, потому что видит все четыре описания одновременно.

Метод использует эту сильную сторону: заставляет LLM сначала зафиксировать "рецепт" каждой сцены текстом сразу для всех четырёх, а потом усиливает зацепки явными словами-якорями (палитра, атмосфера), которые генератор картинок точно распознает — вместо того чтобы надеяться, что он сам "запомнит" стиль.

Рычаги управления: - Число сцен (4) → меняй под свою историю: 3 для короткого поста, 6 для развёрнутого сторителлинга - Словарь стилей/эмоций → расширяй своими категориями: "киберпанк", "нуар", "детская книга" — вместо готовых 4 из исследования - Место эмоциональных деталей в промпте → ставь их в начале, не в конце: если промпт длинный, некоторые сервисы обрезают конец, и именно эмоция/сюжет теряются первыми - Негативный промпт → если сервис не поддерживает отдельное поле "чего не должно быть", впиши это прямо в основной текст промпта

⚠️

Ограничения

⚠️ Сохранение персонажа между кадрами работает только с референс-режимом. В исследовании кадры 2–4 генерировались с "подсказкой" в виде предыдущей картинки (вес 0.3/0.7). В обычном чате без загрузки референс-изображения (как в Midjourney с --cref или при явной загрузке картинки) эффект слабее — модель может не удержать внешность героя.

⚠️ Длинные промпты теряют детали в конце. В исследовании обогащённые промпты обрезались генератором картинок после определённой длины, и терялись именно слова про эмоцию и сюжет — из-за этого итоговые картинки получались красивыми, но слабо передавали историю (оценка нарратива — 2.68 из 5 против 4.41 за красоту картинки). Вывод: важные смысловые детали пиши в начале промпта.

⚠️ Метод плохо держит согласованность, если сюжет скачет между разными местами. Работает лучше всего, когда история происходит в одной обстановке — герой, цвет, декорации могут "переехать" из сцены в сцену без проблем. Если сюжет прыгает между разными локациями и временами, персонаж и палитра начинают расползаться.

🔍

Как исследовали

Исследователи взяли 50 описаний снов из архива DreamBank и прогнали через пайплайн: LLM Qwen2.5 разбивала текст на четыре сцены, SDXL рисовал картинки, CLIP проверял соответствие тексту, а Qwen2-VL выступал "судьёй" по семи параметрам качества. Дополнительно провели пилотный опрос 10 человек и ablation-тест — по очереди отключали части пайплайна, чтобы понять, что именно даёт эффект.

Самое интересное открытие: полный пайплайн получал более низкую оценку по CLIP (метрика соответствия текста и картинки), чем упрощённая версия без всех "улучшений". Казалось бы, провал. Но разгадка в том, что генератор картинок SDXL молча обрезает промпт после определённой длины токенов — а именно в конце промпта авторы дописывали слова про эмоцию и сюжет. То есть добавление деталей стиля выталкивало важные смысловые слова за пределы того, что модель вообще видит.

Это объясняет, почему судья (Qwen2-VL) ставил высокие оценки за стиль и красоту картинки (выше 4 из 5), но низкие — за то, насколько картинки передают сюжет и эмоцию (около 2.5–2.7 из 5). Практический вывод для читателя: порядок слов в промпте имеет значение — критичные смысловые детали нужно ставить первыми, а декоративные (стиль, качество) — последними.

💡

Адаптации и экстраполяции

🔧 Техника: перенос эмоциональных якорей в начало промпта → меньше потерь смысла при обрезке

Вместо:

[описание сцены], [стиль], [эмоция], masterpiece, best quality, 8k...

Пиши:

[эмоция], [описание сцены], [стиль], masterpiece, best quality, 8k...

Так даже если сервис где-то обрежет промпт, смысловая суть уже "прочитана" моделью раньше декоративных слов.

🔧 Техника: замена img2img-chaining на явный текстовый якорь

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

Тот же герой (короткие тёмные волосы, синяя куртка), 
та же цветовая палитра (тёмно-синий и оранжевый), 
но теперь [новое действие]...

Это грубее, чем img2img, но частично компенсирует отсутствие визуального референса.

🔗

Ресурсы

Coherence-Oriented Dream Scene Visualisation, Azra Açıl и Simon Colton, Queen Mary University of London. Использованные модели: Qwen2.5 (14B) для декомпозиции текста, SDXL для генерации изображений, CLIP и DINOv2 для измерения соответствия и согласованности, Qwen2-VL как визуальный судья. Датасет снов — DreamBank (Domhoff and Schneider, 2008).


📋 Дайджест исследования

Ключевая суть

Просишь нарисовать 4 картинки по одной истории — получаешь четыре разных мира: герой то блондин, то брюнет, палитра скачет, будто каждый кадр рисовал новый художник. DSV позволяет получить серию картинок, которые выглядят одним визуальным рассказом, без ручной подгонки стиля под каждый кадр отдельно. Секрет — не генерировать промпты по одному, а зафиксировать стиль и эмоцию для всех четырёх сцен сразу, одним ответом LLM, а потом добить каждый промпт словами-якорями палитры и атмосферы. Итог — связный рассказ из 4 кадров вместо случайного набора картинок.

Принцип работы

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

Почему работает

Генератор картинок — как художник с амнезией: рисует каждый кадр с нуля, ничего не помня про предыдущий. LLM наоборот держит весь план в одном ответе — видит все 4 сцены сразу и сама протягивает через них цвет, героя, настроение. Вот почему стиль не расползается: сначала текстом фиксируется рецепт для всех сцен, потом добавляются слова-якоря, которые генератор точно считает. Но нюанс есть: в исследовании нарратив получил 2.68 из 5, а красота кадра — 4.41. Если промпт длинный, смысл сцены обрезается первым.

Когда применять

Визуальный сторителлинг → для постов в Telegram, лендингов, детских книг, серии для соцсетей — особенно когда история происходит в одной локации с одним героем. Не подходит, если сюжет прыгает между разными местами и временами — тогда персонаж и палитра всё равно расползутся.

Мини-рецепт

1. Разбей историю на 4 сцены: попроси LLM сделать это одним запросом, а не по одной сцене за раз — так она видит всю арку сразу.
2. Задай единый стиль и эмоцию: одна фраза типа «примени стиль нуар ко всем четырём промптам» и «определи доминирующую эмоцию каждой сцены».
3. Добавь слова-якоря: цвет, атмосфера, свет — впиши в каждый промпт одинаковые опорные слова стиля.
4. Смысл — в начало промпта: эмоцию и сюжет пиши первыми словами, иначе длинный промпт обрежет их первыми.
5. Генерируй с референсом: кадры 2–4 создавай с оглядкой на предыдущую картинку (вес 0.3/0.7), если сервис это поддерживает.

Примеры

[ПЛОХО] : Нарисуй 4 картинки по этой истории про запуск стартапа (генерируешь по одной, каждый раз с нуля)
[ХОРОШО] : Разбей историю на 4 хронологические сцены. Примени единый стиль «нуар» ко всем четырём промптам. Для каждой сцены дай эмоцию, позитивный и негативный промпт (40-70 слов, эмоция и сюжет в начале). Ответь в JSON. История: {текст про провал и перезапуск стартапа}
Источник: Coherence-Oriented Dream Scene Visualisation
ArXiv ID: 2608.05233 | Сгенерировано: 2026-08-07 04:29

Проблемы LLM

ПроблемаСутьКак обойти
Серия картинок по отдельным промптам получается разнобойнойПросишь генератор картинок нарисовать несколько кадров одной истории по очереди. Каждый кадр рисуется с нуля — как будто разные художники. Персонаж меняется, палитра скачет, настроение не совпадает. Причина: генератор картинок не помнит, что рисовал в прошлый раз, если это отдельный запросНе проси картинки по одной. Сначала одним запросом к LLM распиши сразу все сцены — стиль, эмоцию, детали для каждой. Потом добавь в каждый промпт одинаковые слова-якоря (цвет, атмосфера), чтобы генератор картинок видел общий стиль явно, а не угадывал его

Методы

МетодСуть
Один запрос на весь план — вместо генерации по кускамПопроси LLM за один вызов расписать сразу все сцены серии: краткое описание, эмоция, готовый промпт для каждой. Не генерируй промпты по одному в диалоге. Разбей историю на N сцен, для каждой дай: описание, эмоцию, позитивный и негативный промпт. Почему работает: LLM видит все сцены одновременно внутри одного ответа и сама протаскивает через них общие детали — цвет, героя, настроение. Если генерировать сцены отдельными запросами, LLM каждый раз "забывает" предыдущий контекст, и детали расходятся. Работает: серии картинок, серии постов, сценарии, карусели в соцсетях — любой контент из нескольких связанных частей. Не работает: если частей всего одна-две — смысла в общем плане нет
Слова-якоря — усиление стиля через словарьПосле того как LLM написала промпты для сцен, добавь в каждый готовый набор слов: токены палитры и атмосферы для выбранного стиля, набор образов для нужной эмоции. [стиль] цветовая палитра + атмосферные токены, [эмоция] образы. Почему работает: генератор картинок реагирует на конкретные слова сильнее, чем на общее описание "стиль такой-то" — явные повторяющиеся токены он точно распознаёт и переносит в каждый кадр. Работает: когда нужна визуальная консистентность серии. Не работает: если серия картинок про разные несвязанные темы без общего стиля

Тезисы

ТезисКомментарий
LLM держит согласованность лучше внутри одного ответа, чем в серии отдельных запросовКогда LLM пишет сразу весь план — все сцены, все части серии — за один вызов, она видит всё целиком и сама подгоняет детали друг к другу: одного героя, одну палитру, одну эмоциональную линию. Если просить писать части по одной в разных запросах, каждая часть теряет связь с предыдущей, потому что модель не держит в фокусе весь план сразу. Применяй: для любой серии связанного контента (посты, сценарии, диалоги, описания сцен) — проси LLM выдать весь план целиком в одном ответе, а не запрашивать части по очереди
📖 Простыми словами

Coherence-Oriented Dream Scene Visualisation

arXiv: 2608.05233

Генераторы картинок вроде Midjourney или Stable Diffusion работают как золотые рыбки: они забывают всё, что нарисовали секунду назад, как только ты отправляешь новый запрос. В итоге, если ты хочешь сделать серию кадров для одной истории, персонаж на первой картинке будет бородатым хипстером, а на второй — внезапно гладковыбритым клерком. Метод DSV (Dream Scene Visualisation) решает эту проблему на корню, заставляя нейронку соблюдать визуальную связность. Суть в том, чтобы не просто кидать промпты в пустоту, а жестко привязывать их к единому эмоциональному и стилистическому каркасу, превращая разрозненные кадры в цельное повествование.

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

Технически это работает в два этапа: сначала LLM (вроде ChatGPT) берет твой текст и рубит его на четыре логические сцены, вычленяя из каждой ключевую эмоцию. Затем в дело вступает магия слов-якорей. Система берет промпт для каждой сцены и «прошивает» его специальными токенами из заранее подготовленного словаря стилей и чувств. Эти якоря работают как клей: они гарантируют, что если в первой сцене у нас тревожный синий туман, то и в четвертой он не превратится в солнечный пляж просто потому, что нейронка так решила.

Хотя метод обкатывали на визуализации снов, принцип универсален и жизненно необходим любому, кто занимается сторителлингом. Будь то раскадровка для рекламного ролика, серия иллюстраций для поста в Telegram или визуальная новелла — везде, где нужно больше одного кадра, DSV спасает от «эффекта галлюцинации». Ты просто берешь абстрактную идею «как я прогорел и поднялся», а на выходе получаешь четыре кадра с единым героем и атмосферой, которые не стыдно склеить в один пост.

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

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с