Nodes/Symbiotica/Symbiotica Auto Packer
ComfyUI Node

Symbiotica Auto Packer

The Whole Order as Ready-to-Run Template Sheets, Prompts Included

By symbiotica-ai·Created 6 months ago·Updated about 13 hours ago· 2
Symbiotica Auto Packer
  • order
  • preset
  • settings
  • template
  • sheets
  • sheet_prompts
  • sheet_names
  • categories
  • sheet_categories
category
overrides{}
save_as

Symbiotica Auto Packer is the heavyweight of the order pipeline: it takes an entire event's assets and packs them into ready-to-run template sheets - similar assets grouped 1–2 columns × 3–4 rows per sheet, each sheet paired with the client prompts for the assets on it. The output contract is the whole point: sheets → img2img, sheet_prompts → your LLM/prompt input, and downstream runs once per sheet instead of once per asset. A 30-asset order becomes maybe six sheets, and each sheet is one img2img pass.

If Order Assets is "run one lane once per asset," the Auto Packer is the batching move: pack similar things together, prompt for the group, render the group. That's dramatically cheaper per call (paid image APIs bill per render, not per asset count) and it's how the pack wants a whole order rendered in one press.

How it works

Wire an order in (from Order Specs, or a Template Library template carrying a frozen order) and it packs. The heavy lifting is in the packer: assets are grouped by similarity into chunks, laid out on sheets according to the preset (model/resolution/aspect/columns/rows) and the optional settings node, with per-asset client prompts joined into a per-sheet prompt block. The overrides field (JSON, set from the node's Assets panel) lets you hide or reorder specific assets without touching the order. save_as names a template this run writes to the project's templates/ folder - set by the 💾 Save as template button; empty means don't save.

The outputs carry a subtle alignment trap worth reading carefully:

  • sheets - one template sheet per chunk of similar assets.
  • sheet_prompts - client prompts for sheet i, index-aligned with sheets.
  • sheet_names - slug per sheet; wire into Save Image's filename_prefix.
  • categories - asset types covered, each named once (Food - 3 stages), in first-appearance order. Not one per sheet - a type that paginates is still one type.
  • sheet_categories - asset type of sheet i, one per sheet, index-aligned with sheets.

That last one is where people get bitten: wire the deduped categories into Category Prompts and a short list does not error - it silently reuses its last entry. The pack's tooltip is explicit: wire sheet_categories, not categories.

The inputs that matter

  • order - the event, from Order Specs (or a template).
  • category - one asset type or All.
  • overrides - per-asset hide/reorder, JSON, set from the Assets panel.
  • save_as - template name to save; empty = don't save.
  • preset - from Symbiotica Model Preset; controls sheet size/layout/background.
  • settings - from Symbiotica Auto Packer Settings; controls packing geometry.
  • template - a saved recipe from the Template Library, supplying order/preset/settings as defaults; your wired inputs win.

Install

ComfyUI Manager → search Symbiotica → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt

Restart ComfyUI. No keys or model downloads - packing is local. The cost shows up only when the img2img lane you wire sheets into is a paid API.

Common issues

  • "wire an Order Specs into 'order'" - no order and no template. The packer refuses to guess.
  • "invalid preset: model / tier / ar" - the preset combo resolved to dimensions the pack knows nothing about. Re-pick valid options on the preset node.
  • Prompts and sheets out of sync - every output is index-aligned by design; if they look misaligned you've wired sheet_prompts into something that reorders lists, or you used categories (deduped) where sheet_categories (per-sheet) belongs.
  • Nothing saved despite "Save as template" - save_as was empty or the project has no templates/ folder. Set the name (or press the button that sets it).
  • One type paginates and you get duplicate-looking sheets - that's pagination, not a bug; max_rows_per_sheet on the preset controls where the page break lands.

It's the node you reach for when the render works from a packed sheet rather than a per-asset dataset reference. If your lane is dataset-reference-driven, Order Assets is the better tool - the pack says so itself.

Categorysymbiotica/pipeline

Inputs (7)

NameTypeDefaultDescription
categorySTRINGOne asset type, or All
overridesSTRING{}Per-asset hide/reorder, set from the node's Assets panel (JSON)
save_asSTRINGSet by the '💾 Save as template' button — names the template this run writes to the project's templates/ folder. Empty = don't save.
orderoptSYMBIOTICA_ORDER
presetoptSYMBIOTICA_MODEL_PRESET
settingsoptSYMBIOTICA_PACK_SETTINGS
templateoptSYMBIOTICA_PACK_TEMPLATE

Outputs (5)

NameTypeDescription
sheetsIMAGEOne template sheet per chunk of similar assets
sheet_promptsSTRINGClient prompts for sheet i — index-aligned with sheets
sheet_namesSTRINGSlug per sheet — wire into Save Image filename_prefix
categoriesSTRINGThe asset types this pack covers, each named ONCE (e.g. 'Food - 3 stages'), in first-appearance order. Not one per sheet — a type that paginates is still one type.
sheet_categoriesSTRINGAsset type of sheet i — ONE PER SHEET, index-aligned with sheets. Wire THIS into Category Prompts, not the deduped `categories` above: a short list does not error, it silently reuses its last entry.