The Scene Analyzer built its own Config from local model_name/temperature/ timeout/system_prompt widgets and ignored the Configuration node entirely, so the analyzer model was set in two disconnected places (bug report #4). - Scene Analyzer: add an optional `config` (COMPILER_CONFIG) input and drop the duplicated model/temperature/timeout widgets. Settings now come from the Configuration node; without one, defaults apply with a 300 s cold-load-friendly timeout. A non-empty `system_prompt` widget still overrides the config. - Knowledge Base Loader: accept an optional `config`; when wired, its KB path and version take precedence over the node's own widgets. - Add tooltips to every input on all six nodes. Docs (docs/nodes.md) updated for the Analyzer/KB Loader input changes. Co-authored-by: kunail0804 <kunail0804@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
3.3 KiB
ComfyUI node reference
The exact inputs, outputs, and data types of the shipped Scene Compiler nodes.
All nodes appear under the Scene Compiler category. Data flows between nodes
as typed objects; the inter-stage types are SCENE, RESOLVED_TAGS,
CATEGORY_MAP, KNOWLEDGE_BASE, and COMPILER_CONFIG.
Nodes are thin adapters: all behaviour lives in the compiler package, which
never imports ComfyUI.
Every stage node also exposes a raw string output — a JSON dump of that
node's data output — for inspecting the pipeline (wire it into a text/preview
node). The Knowledge Base Loader's raw summarizes the loaded entries. A
relative Knowledge Base path is resolved against the installed package, so the
default knowledge_base/ works regardless of ComfyUI's working directory.
Pipeline nodes
| Node | Inputs | Outputs |
|---|---|---|
| Scene Analyzer | natural_language (STRING), config (COMPILER_CONFIG, optional — supplies model/temperature/retries/timeout), system_prompt (STRING, optional override) |
scene (SCENE), warnings (STRING), errors (STRING) |
| Scene Validator | scene (SCENE), config (COMPILER_CONFIG, optional) |
scene (SCENE), warnings (STRING), errors (STRING) |
| Resolver | scene (SCENE), knowledge_base (KNOWLEDGE_BASE), config (COMPILER_CONFIG, optional) |
resolved_tags (RESOLVED_TAGS), warnings (STRING), errors (STRING) |
| Category Splitter | resolved_tags (RESOLVED_TAGS) |
category_map (CATEGORY_MAP), warnings (STRING), errors (STRING) |
| Prompt Builder | category_map (CATEGORY_MAP), config (COMPILER_CONFIG, optional) |
one STRING per category (character, appearance, hair, face, eyes, expression, body, clothing, accessories, pose, action, interaction, objects, environment, camera, lighting, style, quality, miscellaneous) plus reserved negative and scene (STRING) |
The Category Splitter produces the intermediate Category Map; the per-category prompt strings are produced by the Prompt Builder.
Support nodes
| Node | Inputs | Outputs |
|---|---|---|
| Configuration | one input per configuration option (analyzer, resolver, validator, prompt builder, debug) | config (COMPILER_CONFIG), errors (STRING) |
| Knowledge Base Loader | path (STRING), reload (INT, optional), version (STRING, optional), config (COMPILER_CONFIG, optional — its KB path/version win) |
knowledge_base (KNOWLEDGE_BASE), warnings (STRING), errors (STRING) |
| Debug Viewer | scene (SCENE, optional), resolved_tags (RESOLVED_TAGS, optional), category_map (CATEGORY_MAP, optional), warnings (STRING, optional), errors (STRING, optional) |
report (STRING) |
- The Configuration node's
configoutput feeds the optionalconfiginput of the Scene Analyzer, Validator, Resolver, and Knowledge Base Loader, so behaviour (including the analyzer model and the Knowledge Base path/version) changes in one place without rewiring. - The Knowledge Base Loader reloads only when
reloadchanges (no automatic file watching). - The Debug Viewer is read-only; connect any intermediate state to inspect it.
A ready-to-use workflow wiring all of these is in
examples/workflows/scene_compiler_pipeline.json.