Generate & Place New People by Mask — новый человек отдельно, placement отдельно
Workflow 01 нужен, когда подходящего человека ещё нет в base render. Персонаж генерируется отдельно, segmentation превращает его в чистый compositing element, а scene placement mask определяет, куда он попадёт в архитектурный кадр.
Два маршрута сходятся в selector 459
Когда использовать Workflow 01
Этот режим нужен, когда нужного человека нет в исходной 3D/Corona сцене и stock / 3D asset не даёт нужную эпоху, одежду, позу или character type. AI создаёт person asset отдельно от архитектуры.
Архитектура не должна генерироваться вместе с персонажем. Сначала создаётся человек как отдельный image asset, затем он изолируется, подготавливается и только после этого вставляется в утверждённый scene canvas.
Core principle
PPL FLUX generation node 829 существует как отдельный decoded image before composite; main architecture scene входит позже на paste stage.
Production value
Разделение person generation и architecture canvas уменьшает риск случайного изменения фасада, перспективы и композиции.
Главное различие двух PEOPLE workflows
Не смешивать
Workflow 01 и Workflow 02 используют похожие generation / segmentation / preparation инструменты, но имеют разный spatial contract.
| Workflow | Кто определяет placement | AI responsibility |
|---|---|---|
| 01 · Generate & Place | Scene placement mask / target region | Создать нового человека, очистить и разместить |
| 02 · Replace Existing | Уже существующий 3D / rendered person | Улучшить или заменить человека в том же spatial slot |
Полный production route Workflow 01
Person сначала рождается как отдельный FLUX image
- Если person уже плох на Preview 409 — не переходить к mask/composite.
- Prompt должен описывать full body, scale, action, clothing и light context.
- На этом этапе placement в архитектурной сцене ещё не решается.
| Stage | Nodes | Function |
|---|---|---|
| Prompt | 825 + 408 + 799 + 800 + 822 | Person + environment/light/style context |
| Assembly | 823 → 824 → 820 | Собрать final PPL text |
| Encode | 831 → 830 | CLIP conditioning + FluxGuidance 2.1 |
| Sample | 826 + 819 + 827 + 61 + 58 → 828 | Отдельная person generation |
| Decode | 829 | Person image before segmentation |
| Checkpoint | 409 | Проверить person до mask / composite |
Florence2 отвечает WHERE, SAM2 — WHAT EXACTLY
Generated person проходит через People source selector 552 и приводится к detection canvas 780. Florence2 550 выполняет phrase grounding, 114 переводит detection в coordinates, SAM2 115 строит pixel mask.
Дальше mask расширяется и смягчается nodes 144 / 146, после чего 420/781 формируют crop для подготовки compositing element.
- Florence2 и SAM2 должны работать в одном coordinate space.
- Person Mask должна описывать фигуру, а не будущую позицию в scene.
- Batch cardinality image / bbox / masks должна быть согласована до дальнейшей обработки.
Person Mask ≠ Placement Mask
Это центральная идея Workflow 01. Маска, которой мы вырезаем человека, и маска/placement input, определяющая место человека в сцене, выполняют разные роли и не должны концептуально сливаться в одну сущность.
First composite topology
Paste By Mask 429 получает отдельные upstream inputs от 451, prepared person 449 и base scene 779.
Exact semantic source of 451
Source documentation подтверждает incoming topology 451 → 429, но без raw workflow export в текущих assets не публикуем самостоятельный JSON с неподтверждённой сериализацией этого placement input.
| Mask | Вопрос | Responsibility |
|---|---|---|
| Person Mask | WHAT TO TAKE? | Выделить generated person для crop / alpha / cutout |
| Placement Mask / placement input | WHERE TO PUT? | Определить target region / spatial placement в base scene |
Generated image превращается в compositing element
Color Match помогает интеграции, но не заменяет правильный lighting prompt. Неверное направление света нельзя исправить одной цветовой коррекцией.
| Node | Role | QC |
|---|---|---|
| 420 / 781 | Crop by person mask | Фигура целиком внутри crop |
| 422 | Remove Background / Inspyrenet | Нет halo и остатков generated background |
| 477 | Color Match | Tone/contrast ближе к base scene |
| 449 | Cut By Mask | RGB и alpha/mask согласованы |
Node 429 — граница между person asset и architectural scene
Paste By Mask 429 получает prepared person 449, base scene 779 и отдельный placement-related input 451. Stored mode keep_ratio_fit показывает, что scale/fit является частью composite behavior.
После 429 output проходит 672 и попадает в image1 selector 459. Именно здесь отдельный person asset снова становится частью master scene data plane.
После PPL return человек проходит общий master refinement
Selector 459 возвращает composited scene в основной pipeline. Затем 573 выполняет detail transfer, 67 кодирует result в latent, 57 выполняет main FLUX sampling и 53 декодирует итог.
Эта часть полезна для seamless integration, но методически должна быть отделена от standalone PPL module: человек должен быть уже корректно размещён до входа в main FLUX.
Active return
459 → 573 → 67 → 57 → 53; node 53 имеет active LQ save route to 730.
Пять точек, где останавливаемся и доказываем результат
| Checkpoint | Что должно быть доказано |
|---|---|
| A · 409 / after 829 | Person generation сама по себе корректна |
| B · after 115 / 146 | Person Mask чистая и соответствует нужной фигуре |
| C · after 422 / 449 | Cutout чистый, без halo, alpha согласована |
| D · after 429 / 672 | Scale, position и scene composite корректны |
| E · 53 / 730 | Main FLUX refinement не сломал человека и архитектуру |
Почему этот workflow особенно ценен для исторических и нестандартных сцен
- Можно создать персонажа нужной эпохи, которого нет в stock library.
- Можно согласовать одежду, действие и visual language с конкретной архитектурой.
- Architecture base остаётся отдельным утверждённым source.
- Ошибку person generation можно исправлять независимо от main scene.
- Placement можно контролировать локально вместо full-frame regeneration.
Workflow 01 считается готовым к Master только после этих проверок
- Generated person читается как full body и соответствует нужной роли.
- Person Mask и Placement Mask не перепутаны.
- Florence2 / SAM2 используют согласованный source size / coordinate space.
- Crop не обрезает конечности и аксессуары.
- Remove BG не оставляет halo.
- Color Match не скрывает ошибку lighting direction.
- Paste сохраняет правдоподобный scale относительно горизонта и архитектуры.
- Ступни имеют корректный contact with ground; нет floating.
- Occlusion относительно архитектуры выглядит физически правдоподобно.
- Main FLUX refinement не меняет утверждённую геометрию scene.
Что войдёт в независимый учебный JSON и где он должен закончиться
Почему JSON ещё не публикуем
В текущих repository / Library assets нет raw Epspoziciya_archviz_ph_sdxlflux_v001.json с полной сериализацией custom nodes. По нашему правилу нельзя выдавать реконструированный pseudo-JSON как импортируемый workflow.
Workflow 01 понят, когда ты можешь объяснить его одной фразой
Spatial rule
Workflow 01: placement определяется target region / placement input. Workflow 02: placement определяется уже существующим человеком.