workflow-studio · бриф · раунд 2

Бриф перед ТЗ новой версии

Зафиксированные решения раунда 1 плюс вопросы, на которые нужен твой ответ. Отвечать можно номерами пунктов — где согласен с моей ставкой, достаточно «ок».

17 августа 2026 · дальше: ответы → глубокий ресёрч → полное ТЗ одной ссылкой. Промежуточных отчётов не будет.
Из 38 пунктов раунда 2
11

вопросов требуют твоего решения, а не пробегания глазами

На 27 пунктах я уже поставил ставку по умолчанию — если согласен, достаточно «ок». На 11 ниже либо ставки нет вовсе, либо решение принципиально твоё, даже если предложенный вариант рядом есть.

Разделы A–H: 8
Ресёрч после ответов: 7 тем
Раунд 1 закрыт: 20 решений

Обязательно ответить — 11 пунктов

Переходы по ссылкам ведут прямо к вопросу в тексте ниже.

Где мы сейчас, факты

Причина провала прошлой попытки видна в коде

Граф надстроили над старыми сущностями как второе представление. Отсюда полупустые карточки и отсутствие загрузки картинок в узел. Дело не в узлах, а в двойной модели данных.

Что переиспользуется без переписывания

КусокЧто даёт
compose.pyсборка промпта по слоям: стиль → сцена → ремесло → рефы по ролям → identity lock → негативы, плюс проверки «два лица в один слот» и «цепочка ушла от якоря»
pricing.pyпрайс и смета: 3 картиночных модели $0.04–0.24, 3 тарифа Veo, оценка времени
vertex.pyадаптер Vertex: рефы с ролевыми подписями, формат кадра, сид, first/last frame для Veo
master-sheet/утверждённый эталон компоновки мастер-листа: зелёный манекен 2×2 плюс промпт «зелёное замени героем»
knowledge + загрузчиксправочник режиссуры: крупности, ракурсы, движения, композиция, свет, оптика
thumbs.pywebp-превью вместо исходников на карточки

Модель, как я её понял

КАНАЛ (формат, ниша)
 └── СТИЛЬ — библиотека версий, каждая залоченная неизменяема
      └── МАСТЕР-АССЕТ (компонент): персонаж | локация | объект
           этап 1: описание → ПРОМПТ (узел, правится) → N вариантов → выбор
           этап 2: выбранный вариант + эталон компоновки → МАСТЕР-ЛИСТ (якорь)
           ├── СОСТОЯНИЕ (вариант компонента, вытекает из родителя)
           └── ИНСТАНС (использование в кадре, живая ссылка на ассет)
                └── СЦЕНА: кадр A / кадр B / доп. ракурсы того же момента
                     └── ШОТ: клип из одного кадра или интерполяция A→B
                          └── РОЛИК: последовательность шотов

Что уже решено в раунде 1

Решение Тимура
1–3Скоуп первой версии: только ассеты и шоты. Сценарий с автораскадровкой, обложки, монтаж и озвучка — после готового ядра
4Инстанс наследует живой ссылкой: поменял якорь, кадры помечены «устарело», автоперегенерации нет никогда
5Состояние — полноценный вариант со своим мастер-листом, но обязан вытекать из родительского ассета
6Залоченный стиль неизменяем. Правки только через копию. В генерации выбирается один из зафиксированных стилей
7Ассеты живут внутри канала, с копированием в другой
8Два уровня холста: канал и ролик
9Нужен удобный формат просмотра для приёмки (по миниатюрам решение не принять) и итеративная доводка выбранного варианта вместо перегенерации с нуля
10Переиспользуемые рецепты — потом
11Мастер-лист объекта делаем, но предметы не должны плыть в ракурсах и должны наследовать форму
12Лист локации — четыре вида, как предложено
13Механику ракурсов сделать по-настоящему хорошо, провести отдельное исследование
14Только Vertex, расширение движков в будущем
15Лимита трат нет. Нужна прозрачная экономика: и по отдельной генерации, и по проекту целиком
16По умолчанию всё на дешёвой модели. Дорогую Тимур включает сам
17Новое ядро, структурнее и продуманнее
18Старые данные не переносим
19Приёмка не тремя гейтами, а на каждом шаге: промпт, варианты, мастер-лист. Любой шаг правится и переделывается со своими дополнениями
20Формат кадра и настройки задаются в момент генерации, по умолчанию наследуются от канала

Три следствия, на которых держится всё дальше

1

Стиль перестаёт быть настройкой канала и становится библиотекой. Каждый лок неизменяем, докрутка через копию. Ассет и кадр навсегда помнят, на каком стиле собраны.

2

Доводка выбранного варианта — отдельный механизм, которого сейчас нет. Не «сгенерь ещё раз», а «возьми вот этот и убери изъян»: входной картинкой идёт сам вариант, промптом только правка, результат становится дочерней итерацией, дерево доводки сохраняется целиком.

3

Приёмка на каждом шаге означает, что каждый шаг обязан быть остановимым, правимым и повторяемым без потери сделанного.

Раздел A · Цепочка ассета, микромеханика

A1

«Создать промпт»: на входе описание, тип ассета и выбранный стиль. На выходе английский промпт для модели плюс русский текст для чтения. Повторное нажатие не затирает, а кладёт новую версию рядом, листается стрелками.

ставлю так
A2

От одного описания можно держать несколько промптов-веток и вести каждую отдельно.

ставлю да, ветвление норма
A3нужен ответ

Сколько вариантов за прогон по умолчанию: 2, 4 или 6?

ставлю 4 на дешёвой модели
A4

Из вариантов можно отметить несколько в шорт-лист и повести дальше каждый. Якорь один, переназначается в любой момент.

ставлю так
A5

Доводка: выбранный вариант идёт входной картинкой, пишешь только правку («убери шрам, добавь седину в бороду»), получается дочерняя итерация. Дерево доводки видно на холсте, из любой точки можно уйти в другую сторону.

ставлю так
A6нужен ответ

Нужна ли кисть-маска (обвёл область, переделал только её), или на первом этапе хватит текстовой правки?

ставлю сначала текст, маска вторым заходом — по маске на 2K модель ведёт себя нестабильно, это надо тестировать отдельно
A7

Две разные кнопки: «ещё варианты по тому же промпту» (другой сид) и «поправить вот этот». Обе нужны?

ставлю да, это разные задачи

Раздел B · Мастер-лист

B1нужен ответ

Одна панель из четырёх плохая. Перегенерить лист целиком или доснять эту панель отдельным вызовом и подменить её в листе?

ставлю обе кнопки, по умолчанию доснять панель — дешевле и не ломает остальные три
B2

Что уходит рефом в кадр по умолчанию: лист целиком одной картинкой или панель, ближайшая к заданному ракурсу?

ставлю если ракурс кадра задан, автоматом подставляем подходящую панель, иначе лист целиком. Прямо влияет на то, поплывёт лицо или нет
B3нужен ответ

Объект. Развилка: эталон с зелёными болванками держит компоновку, но может навязать силуэт — меч и стул не влезут в одну болванку. Альтернатива: сначала генерим объект в одном ракурсе как якорь, потом доснимаем остальные ракурсы от этого якоря, а эталон держит только рамки панелей и порядок ракурсов.

ставлю для объектов второй путь, форма берётся с якоря
B4

Локация: один из четырёх видов помечается «главный фон» (пустой кадр с уровня глаз) и дальше уходит рефом в кадры как якорь места.

ставлю так

Раздел C · Стиль

C1

До фиксации можно жечь пробные картинки на черновом стиле, они не становятся ассетами и лежат внутри карточки стиля.

ставлю да
C2

Один из залоченных стилей помечен основным и подставлен по умолчанию, менять можно на каждом узле.

ставлю так
C3нужен ответ

В кадре два ассета, собранные на разных стилях: предупредить и дать выбрать стиль кадра, или запретить такой кадр?

ставлю предупредить, решение твоё
C4

Подмешивать ли, кроме текста, 1–2 картинки-референса стиля прямо в генерацию? Манеру они держат лучше текста, но занимают слоты рефов, а их эффективно три.

ставлю да для ассетов, нет для кадров, где слоты заняты героями
C5

Разбор стиля агентом даёт карту: манера, палитра, свет, материал, линия, оптика, эпоха, анти-признаки; текст правится руками до фиксации. Нужна ли возможность завести стиль вообще без картинок, одним текстом?

ставлю да, нужна

Раздел D · Сцены и кадры

D1нужен ответ

Сцена появляется сама при создании первого кадра и потом переименовывается, или ты хочешь заводить её руками первой?

ставлю сама
D2

Сцена хранит локацию, состав участников, время суток и погоду, описание момента. Кадры это наследуют, поэтому доп ракурс не описывается заново.

ставлю так
D3

У кадра явная роль A или B, видна на карточке. Из кадра A делаешь «конечный кадр», из B «начальный», роли система расставляет сама.

ставлю так
D4

Доп ракурс сцены наследует всё и меняет только камеру.

ставлю так
D5нужен ответ

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

ставлю склейка плюс предупреждение. Главный пункт для ресёрча
D6

Кадр без ассетов, только промпт и стиль, разрешён для перебивок и пейзажей.

ставлю да

Раздел E · Оживление

E1

Длительности только 4, 6, 8 секунд (предел Veo), звук Veo по умолчанию выключен.

ставлю так
E2

У клипа есть выходы «первый кадр» и «последний кадр» для сцепки следующей сцены, но с предупреждением: после трёх шагов от якоря персонаж плывёт, надо возвращаться к мастер-листу.

ставлю так
E3

Несколько дублей клипа на один кадр, выбираешь лучший, остальные не удаляются.

ставлю так

Раздел F · Интерфейс, мелочи, где и живёт дьявол

F1

Добавление узла тремя способами: пробел или слэш открывает поиск; тянешь связь в пустоту и поиск сам фильтруется по типу; правый клик на холсте.

ставлю все три
F2

Карточка в двух состояниях: свёрнутая (превью, имя, статус) и развёрнутая (промпт, настройки, история). Размер тянется за угол, положение и размер запоминаются.

ставлю так
F3нужен ответ

Просмотр для приёмки: полный экран, листание стрелками, зум 1:1 по клику, сравнение двух картинок рядом, отметки «шорт-лист» и «сделать якорем» прямо оттуда, вся клавиатура. Что здесь лишнее, чего не хватает?

F4

Пока идёт генерация: на карточке полоска и обратный отсчёт (среднее время по модели известно), внизу лента очереди с отменой. Нужно ли уведомление в Telegram, когда пачка готова?

ставлю да, ты уходишь и возвращаешься
F5

Параллельно 2 картинки и 1 видео. Больше — Vertex начинает отдавать 429.

ставлю 2 и 1
F6

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

ставлю всё да
F7

Удаление узла с холста не удаляет ассет. Удаление ассета спрашивает подтверждение и уносит генерации в корзину на 30 дней, а не насмерть.

ставлю так

Раздел G · Экономика, раз лимита нет

G1нужен ответ

Показываем цену на кнопке до запуска, стоимость каждой генерации на её карточке, суммы по ассету, ролику, каналу и за месяц, плюс журнал трат с разбивкой по моделям. Чего добавить?

G2

Считать отдельной строкой «сожжено на невыбранное» — сколько стоили варианты, которые не взял?

ставлю да, по этой цифре видно, где перебор
G3

Черновой режим без трат нужен только для разработки, тебе он не показывается.

ставлю так

Раздел H · Процесс

H1

Новая версия поднимается на отдельном адресе, на studio.obahoba.com переключается после твоей приёмки. Старая всё это время живая.

ставлю так
H2нужен ответ

Без ответа с прошлого раунда: нужен ли просмотр и апрув с телефона; доступ только у тебя или ещё у кого-то; держим всё на VPS или выгружаем в облако, когда генерации распухнут.

H3нужен ответ

Показывать прогресс блоками (готово ядро ассетов — смотри) или один финальный показ?

ставлю блоками, ты сам сказал, что контролируешь по ходу

Что забирается в ресёрч, а не в твоё время

Перед ТЗ идёт глубокое исследование там, где «как правильно» решается фактами, а не вкусом.

1

Контроль ракурса и turnaround в живых продуктах (LTX Studio, Krea, Freepik Spaces, Higgsfield, Kling, Seedance) и что из этого воспроизводимо на Vertex.

2

Сколько картинок-рефов реально держит Gemini 3 Pro Image, что лучше — композит или отдельные слоты с ролями, как адресовать роли без утечки деталей.

3

Доводка по маске: возможности и грабли.

4

Как держат консистентность локаций и фонов, актуальные приёмы ре-якорения.

5

Veo 3.1: пределы по двум кадрам, длительностям и рефам, лучшие практики motion-промпта.

6

UX графовых редакторов на 500+ узлов: виртуализация, отмена действий, автораскладка, скорость.

7

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

workflow-studio · бриф раунд 2 · источник BRIEF.md
После ответов — ресёрч, затем полное ТЗ одной ссылкой