OC Theme Block
Where is your character? 304 answers, and one node to pick
- oc_block
- prompt_preview
- debug_text
Every character stands somewhere, and the "somewhere" does half the mood work. OC Theme Block is the ComfyUI-OC-Generator node that answers the where: 304 environment, atmosphere, background, and lighting options - the biggest catalog in the pack. Airport, alley, aquarium, autumn, backlit at dusk, an Alps backdrop - pick one and the correct tag appears in your prompt without a single misspelling.
It's the pack's theme slot, covering ten subgroups: 季节 (seasons), 天气 (weather), 自然景观 (natural scenery), 氛围 (atmosphere), 室外 (outdoors), 城市 (city), 室内 (indoors), 浴室 (bathroom), 背景 (background), and 光照 (lighting). That's a wide net - it's the node you reach for when the setting matters as much as the character, and it's deliberately the first block in the pack's prompt order. Theme goes at the front of the assembled prompt, before species, body, and outfit, because the model builds the scene around it.
Controls, in the pack's standard shape
If you've touched any OC block, this is familiar territory:
- mode -
fixedkeeps your pick;randomizesamples within the current group;increment/decrementstep through the pool using the optionalstepsize. The stepping modes are great here - you can sweep a character through ten backgrounds in ten runs. - option - the static dropdown over the full 304-option catalog.
- group - narrows the active pool to one subgroup (say,
光照if you only want lighting conditions).
Optional enabled (mute without deleting) and seed (reproducible randomize). Outputs are oc_block, prompt_preview, and debug_text; wire oc_block into OC Generator and it slots the theme tag first, with against backlight at dusk reading just as it should.
The familiar trap, plus one nuance
The static-dropdown/group mismatch applies here too - select an option outside your group and the node silently falls back to the first valid item in that group, flagged only in debug_text (requested option not in current group; fallback applied.). With ten groups and 304 options, that's the highest-probability confusion in the whole pack. The nuance for theme specifically: many groups overlap semantically (a city street could sit under 城市 or 室外), so a fallback is more likely to land somewhere visually adjacent - which makes it easier to miss.
Install
Same light story as every node in this pack: no models, no pip dependencies, JSON tag data shipped in-repo.
cd ComfyUI/custom_nodes
git clone https://github.com/Zhuozhuo-219/ComfyUI-OC-Generator
Or search "ComfyUI-OC-Generator" in ComfyUI Manager, install, restart. It shows up under OC Generator → Blocks. One standing reminder: this builds prompt text, so point the result at an anime SDXL checkpoint (Illustrious, NoobAI, Pony) where these scene tags are part of the model's vocabulary.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| group | COMBO | __all_groups__ | Limit selection to one subgroup. The option dropdown itself is static and will not visually shrink when group changes. |
| mode | COMBO | fixed | fixed keeps the chosen option when valid for the current group. randomize / increment / decrement operate only within the selected group pool. |
| option | COMBO | 氛围 | 傍晚背对阳光 -> against backlight at dusk | Static dropdown for the whole catalog. If the chosen option does not belong to the current group, execution falls back to the first valid item in that group. |
| enabledopt | BOOLEAN | true | Disable this block without deleting it from the workflow. |
| seedopt | INT | 00–4294967295 | Seed used by randomize mode to get reproducible results inside the current group pool. |
| stepopt | INT | 11–1024 | Step size for increment / decrement mode inside the current group pool. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| oc_block | OC_BLOCK | Structured OC block data for downstream aggregation in OC Generator. |
| prompt_preview | STRING | The prompt fragment resolved by this dimension node. |
| debug_text | STRING | Execution details, including group filtering and selection behavior. |