Generate & Place New People by Mask — generate the person separately, solve placement separately
Workflow 01 is used when the required person does not yet exist in the base render. The character is generated independently, segmentation turns it into a clean compositing element, and a scene placement mask defines where it enters the architectural frame.
Two routes converge at selector 459
When to use Workflow 01
Use this mode when the required person does not exist in the original 3D/Corona scene and stock or 3D assets cannot provide the required period, clothing, pose or character type. AI creates the person asset separately from the architecture.
Architecture should not be regenerated together with the character. Generate the person as a separate image asset first, isolate and prepare it, then insert it into the approved scene canvas.
Core principle
PPL FLUX generation node 829 exists as a separate decoded image before composite; the main architectural scene enters later at the paste stage.
Production value
Separating person generation from the architectural canvas reduces the risk of unintended changes to facade, perspective and composition.
The key difference between the two PEOPLE workflows
Keep them separate
Workflow 01 and Workflow 02 use similar generation / segmentation / preparation tools but operate under different spatial contracts.
| Workflow | What defines placement | AI responsibility |
|---|---|---|
| 01 · Generate & Place | Scene placement mask / target region | Create a new person, isolate them and place them |
| 02 · Replace Existing | Existing 3D / rendered person | Improve or replace the person in the same spatial slot |
Complete production route for Workflow 01
The person is generated first as an independent FLUX image
- If the person is already wrong at Preview 409, do not continue to mask/composite.
- The prompt should describe full body, scale, action, clothing and lighting context.
- Placement in the architectural scene is not solved at this stage.
| Stage | Nodes | Function |
|---|---|---|
| Prompt | 825 + 408 + 799 + 800 + 822 | Person + environment/light/style context |
| Assembly | 823 → 824 → 820 | Assemble the final PPL text |
| Encode | 831 → 830 | CLIP conditioning + FluxGuidance 2.1 |
| Sample | 826 + 819 + 827 + 61 + 58 → 828 | Independent person generation |
| Decode | 829 | Person image before segmentation |
| Checkpoint | 409 | Verify the person before mask / composite |
Florence2 answers WHERE; SAM2 answers WHAT EXACTLY
The generated person passes through People source selector 552 and is normalized to detection canvas 780. Florence2 550 performs phrase grounding, 114 converts detection into coordinates, and SAM2 115 builds the pixel mask.
The mask is then expanded and softened by nodes 144 / 146, after which 420/781 create the crop used to prepare the compositing element.
- Florence2 and SAM2 must operate in the same coordinate space.
- Person Mask should describe the figure, not its future position in the scene.
- Image / bbox / mask batch cardinality must be consistent before downstream processing.
Person Mask ≠ Placement Mask
This is the central idea of Workflow 01. The mask used to cut out the person and the mask/placement input used to position the person in the scene serve different roles and should never be treated as one conceptual object.
First composite topology
Paste By Mask 429 receives separate upstream inputs from 451, prepared person 449 and base scene 779.
Exact semantic source of 451
Source documentation confirms incoming topology 451 → 429, but without the raw workflow export in the current assets we do not publish a standalone JSON with unverified serialization of this placement input.
| Mask | Question | Responsibility |
|---|---|---|
| Person Mask | WHAT TO TAKE? | Isolate the generated person for crop / alpha / cutout |
| Placement Mask / placement input | WHERE TO PUT? | Define the target region / spatial placement in the base scene |
The generated image becomes a compositing element
Color Match helps integration but does not replace a correct lighting prompt. A wrong light direction cannot be fixed by color correction alone.
| Node | Role | QC |
|---|---|---|
| 420 / 781 | Crop by person mask | Entire figure stays inside the crop |
| 422 | Remove Background / Inspyrenet | No halo or residual generated background |
| 477 | Color Match | Tone/contrast closer to the base scene |
| 449 | Cut By Mask | RGB and alpha/mask remain aligned |
Node 429 is the boundary between the person asset and the architectural scene
Paste By Mask 429 receives prepared person 449, base scene 779 and a separate placement-related input 451. Stored mode keep_ratio_fit shows that scale/fit is part of composite behavior.
After 429, the output passes through 672 and reaches image1 of selector 459. At this point the independent person asset becomes part of the master scene data plane again.
After PPL return, the person enters shared master refinement
Selector 459 returns the composited scene to the main pipeline. Node 573 then performs detail transfer, 67 encodes the result to latent, 57 runs main FLUX sampling and 53 decodes the result.
This stage helps seamless integration, but methodologically it belongs outside the standalone PPL module: the person should already be correctly placed before entering main FLUX.
Active return
459 → 573 → 67 → 57 → 53; node 53 has an active LQ save route to 730.
Five checkpoints where we stop and prove the result
| Checkpoint | What must be proven |
|---|---|
| A · 409 / after 829 | The person generation itself is correct |
| B · after 115 / 146 | Person Mask is clean and matches the intended figure |
| C · after 422 / 449 | Cutout is clean, halo-free and alpha is aligned |
| D · after 429 / 672 | Scale, position and scene composite are correct |
| E · 53 / 730 | Main FLUX refinement preserved both the person and the architecture |
Why this workflow is especially valuable for historical and unusual scenes
- Create a period-specific person unavailable in a stock library.
- Match clothing, action and visual language to the architecture.
- Keep the approved architectural base as a separate source.
- Correct person-generation errors independently from the main scene.
- Control placement locally instead of regenerating the full frame.
Workflow 01 is ready for the Master only after these checks
- The generated person reads as full body and matches the required role.
- Person Mask and Placement Mask are not confused.
- Florence2 / SAM2 use a consistent source size / coordinate space.
- The crop does not cut off limbs or accessories.
- Remove BG leaves no halo.
- Color Match is not being used to hide an incorrect light direction.
- Paste preserves a believable scale relative to horizon and architecture.
- Feet have credible ground contact; no floating.
- Occlusion relative to architecture is physically plausible.
- Main FLUX refinement does not alter approved scene geometry.
What belongs in the independent training JSON and where it should end
Why the JSON is not published yet
The current repository / Library assets do not include raw Epspoziciya_archviz_ph_sdxlflux_v001.json with complete custom-node serialization. Under our rules, a reconstructed pseudo-JSON cannot be presented as an importable workflow.
Workflow 01 is understood when you can explain it in one sentence
Spatial rule
Workflow 01: placement is defined by a target region / placement input. Workflow 02: placement is defined by an existing person.