Symbiotica Regional Edit
Gemini design transfer without the drift
- template
- base_sheet
- task_sheet
- sheet
- report
Editing a whole packed sheet in one Gemini call has a fidelity ceiling: the model sees a wall of regions and drifts - markers get misread, positions shift, and one bad region drags the sheet down. Symbiotica Regional Edit sidesteps that by design-transferring the template one region at a time. For each region, the base-sheet crop (the style and layout) and the task-sheet crop (the client's design) go to Gemini as a single small edit, and the result is pasted back at the region's exact pixel box.
No markers, no position drift by construction - the geometry is handled by the node, not trusted to the model. This is regional prompting's newer cousin from the KB: instead of masking conditioning inside a diffusion model, you're feeding a closed image model tiny crops where "put the design here, in this style" is an easy job.
How it works
It needs the template (the region layout), the base_sheet (style source and the canvas regions are pasted into), and the task_sheet (each region's design reference is cropped from it). For every region it crops both sheets at the same box, sends the pair to Gemini as a small edit, and pastes the result back at that box. seed re-rolls; -1 sends no seed. A report output tells you per-region status, and failed regions keep their placeholder art rather than shipping a hole.
The inputs
template(required) - theSYMBIOTICA_TEMPLATE.base_sheet/task_sheet(required) - the two sheets above.model- defaults togemini-3.1-flash-image.seed- re-run lever.style- a style directive for every region. Empty means "the exact graphic style of image 1" (the base sheet's art). This is your global lever for look-and-feel.temperature- default 1, up to 2. Lower it if regions come back too loose.api_key- overrides Settings → Symbiotica → GEMINI_API_KEY.
The outputs
sheet- the base sheet with every region replaced by its edited crop.report- per-region status, so you know which slots kept their placeholder art.
Install and keys
Standard pack install - search Symbiotica in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt
Restart after. This is a paid API node: it needs a Gemini key, set once in Settings → Symbiotica → GEMINI_API_KEY (the per-node api_key widget overrides it). Keep keys out of workflow files - settings live in comfy.settings.json, workflows get shared.
Gotchas
Cost and data are the two things to keep in view, same as every API-wrapper node in the KB: this is per-region Gemini calls, so a ten-region sheet is ten calls per run, and your client's art leaves the machine. The trade that makes it worth it is the drift win - small crops are where the closed image models are strongest and most obedient. If a region consistently comes back wrong, that's a prompt/style problem, not a geometry problem; the node already guarantees the placement. And if you want the same effect with fewer moving parts and don't need per-region style control, the pack's Regional Prompt node with placement markers is the lighter path.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| template | SYMBIOTICA_TEMPLATE | — | |
| base_sheet | IMAGE | The editor's base sheet — style source and the canvas regions are pasted into | |
| task_sheet | IMAGE | The editor's task sheet — each region's design reference is cropped from it | |
| model | COMBO | gemini-3.1-flash-image | 2 options: gemini-3.1-flash-image, gemini-2.5-flash-image |
| seed | INT | 0-1–2147483647 | -1 sends no seed; any change re-runs the node |
| styleopt | STRING | Style directive for every region. Empty = 'the exact graphic style of image 1' (the base sheet's art) | |
| temperatureopt | FLOAT | 1.00–2 | — |
| api_keyopt | STRING | Overrides Settings > Symbiotica > GEMINI_API_KEY |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sheet | IMAGE | Base sheet with every region replaced by its edited crop |
| report | STRING | Per-region status — failed regions keep their placeholder art |