- JSON
The sibling node to Parse Lines that most people reach for second: Parse YAML takes YAML text and hands you the same EZ_JSON structure the pack's prompt pipeline consumes. Where Parse Lines is for terse tag-style text, this one is for when your prompts are data - a config file full of prompt entries, a batch of style variants, a prompt list you want to version-control or generate with a script.
Same shape as its sibling: text in, JSON out, and the JSON feeds EZ Prompt → conditioning. If you're already comfortable writing YAML, this is the least-fiddly way to get a bunch of prompts into ComfyUI.
How it works
Under the hood it's yaml.safe_load_all() - note the _all, because it reads every YAML document in the input and concatenates them. There's one hard rule: each YAML document must be an array (a list). If you feed it a mapping or a scalar, you get a clear error - "YAML is not an array" - rather than a weird downstream failure. That rule exists because the output is a list of prompt objects, and the EZ pipeline expects a list.
So the shape you write is things like:
- prompt: "1girl, blue_eyes, dress"
weight: 1.2
- prompt: "1boy, green_eyes, jacket"
weight: 1.0
A plain list of strings works too - anything that's still an array. The parser is deliberately strict, which is the right call for a data-format node: it fails fast at the node instead of corrupting conditioning somewhere deeper in the graph.
Inputs and outputs
text(multiline STRING) - paste YAML, or wire it in from a file-loading node.JSONoutput (EZ_JSON) - feed to EZ Prompt, or combine with other parsed JSON via the pack's Concatenate JSON node.
Because the output is just the pack's JSON format, Parse YAML and Parse Lines interoperate - parse one set of prompts as lines and another as YAML, concatenate, and run them through the same prompt pipeline.
Install
Ships in the Prompt Helpers pack by Pauan. ComfyUI Manager → search "Prompt Helpers", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Pauan/comfyui-prompt-helpers
Then restart ComfyUI. PyYAML is a declared dependency of the pack (it's what powers this node), plus desktop-notifier - no models to download. Needs ComfyUI 0.8.0+ for the Nodes 2.0 API; if the nodes don't show after install, that's your first suspect.
Where people get burned
- The root has to be an array. Forgetting the
-list markers is the number one error, and the node will tell you exactly that. safe_load_allmeans multiple documents concatenate. That's a feature (split a big library into----separated docs), but if you expected the second document to override the first, it doesn't - they just stack.- YAML's own traps still apply: indentation matters, and a prompt that looks like a boolean or number will be parsed as one. Quote prompt strings if they start with digits or look ambiguous.
This is a plumbing node in the best sense - it doesn't add an opinion, it just moves structured prompt data into the graph cleanly. If you've ever wanted to keep your prompt library in a .yaml file you can diff, share, and edit with any editor, this is the node that makes that a one-widget workflow.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| JSON | EZ_JSON | — |