Scene to Conditioning
The Text-Encode Shorthand That Keeps FairyTaler Graphs Clean
- clip
- conditioning
Let's be honest about what this node is: it's the built-in CLIP Text Encode node wearing a FairyTaler name tag. Scene to Conditioning takes one scene string and a CLIP model and hands you back a CONDITIONING you can plug straight into a KSampler. Nothing more, nothing less. It exists so that when you're building a three-scene workflow from SceneParser's output, you can wire each scene string to its own encoder without dragging three manual text-encode nodes across your canvas. It's a graph-tidiness play, and it works.
How it works
The source is short and it mirrors ComfyUI core exactly: it tokenizes the scene_text with your clip, runs clip.encode_from_tokens(...) with pooling enabled, and builds the conditioning as [[cond, {"pooled_output": pooled}]] - the same shape the core node emits. That pooled_output matters for models that use pooled embeddings (SDXL and friends), so this isn't a stripped-down hack; it passes the full conditioning through.
The inputs and output
scene_text(STRING) - one scene description, typicallyscene_1/scene_2/scene_3from SceneParser, but it'll happily encode anything you type.clip(CLIP) - your text encoder. It must match the checkpoint you're sampling with.debug- enable to print the encoded shape to the console so you can confirm it didn't silently come out empty.
The single output is conditioning (CONDITIONING), which wires into a KSampler's positive input. Since you'll typically run three of these, one per scene, you get three independent conditionings for three sampling runs.
Installing
It's part of the ComfyUI-FairyTaler pack, so the whole set installs in one go:
cd ComfyUI/custom_nodes
git clone https://github.com/IIEleven11/ComfyUI-FairyTaler.git
Restart ComfyUI and look under FairyTaler/Storyboard. The pack has no requirements.txt - just torch, numpy, and Pillow, which ComfyUI already has. No models download as part of the install; you bring your own checkpoint and CLIP.
Where people get burned
The classic mistake is feeding it a CLIP that doesn't match the checkpoint - the encode succeeds and the images come out garbled or unrecognizable, which is easy to misread as a sampler problem. Debug mode prints the tensor shape so you can confirm the encoding actually ran. And be realistic about what this node is: it adds zero magic over core ComfyUI. If you already have a CLIP Text Encode node on screen, there's no reason to switch. Its only real advantage is in a FairyTaler workflow where you want three encoders without the visual clutter - and if you prefer the stock node, just use it. The pack won't be offended.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| scene_text | STRING | — | |
| clip | CLIP | — | |
| debug | COMBO | 2 options: enable, disable |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |