EZ Prompt
The JSON prompt, wrapped and ready to sample
- json
- PROMPT
EZ Prompt is where a Prompt Helpers workflow's text becomes a usable thing. It takes the pack's JSON prompt format - the output of Prompt Toggle, Parse Lines, Parse YAML, or Concatenate Json - wraps it in a prompt-settings bundle, and hands it to EZ Generate for encoding. Think of it as the CLIP Text Encode equivalent for this pack: one node, all the text goes in, conditioning comes out somewhere downstream (inside EZ Generate, invisibly).
Two inputs:
- json (EZ_JSON) - the JSON prompt array. This is the socket your prompt-source node feeds.
- weight (FLOAT, default 8, range 0–100, step 0.1) - "how strongly the prompt should affect the image." The tooltip undersells it: this is the pack's CFG control in disguise.
The output is PROMPT (EZ_PROMPT_SETTINGS), wired into EZ Generate's prompt input.
The honest explanation of "weight"
The pack's sampler sets the CFG scale directly from this value - EZ Generate feeds prompt["weight"] into its CFG guider. So weight 8 means CFG 8, the classic SDXL default that this node ships with. Tune it the way you'd tune CFG: too low, prompt adherence falls apart; too high (especially above ~12), colors burn and details get crunchy. If you're coming from a normal KSampler, just translate "my CFG was 7" into "weight 7."
The default of 8 tells you the pack's home turf: CLIP-era, SDXL-lineage prompting. On those checkpoints the JSON format's weights, BREAK chunks, and negative sorting all behave. On LLM-encoded models (Flux 2 Klein, Z-Image, Anima) the encoder discards weights and BREAK has no chunk boundary to break against - EZ Prompt still works, but the sophisticated bits of the format become cosmetic.
What the JSON actually contains
If you're new to the pack, the JSON format is worth a quick tour because EZ Prompt is its consumption point. An array of "chunks" (each optionally tied to a region or mask-region), inside which you have prompt: lines (with optional weight), lora: entries, and named bundle: blocks you can reuse. Negative weights on a prompt line automatically move it to the negative prompt. It's more structure than a plain text box, which is exactly why Debug JSON and Debug JSON Prompt exist - when a prompt misbehaves, they show you what the JSON actually became.
Installing it
It ships with the Prompt Helpers pack. In ComfyUI Manager search "Prompt Helpers" (Pauan/comfyui-prompt-helpers), install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Pauan/comfyui-prompt-helpers
Restart ComfyUI. No model downloads; the pack needs PyYAML and desktop-notifier and ComfyUI 0.8.0+.
The socket-mismatch gotcha is worth knowing: EZ Prompt accepts only EZ_JSON - the output of the pack's own prompt-source nodes. A plain text string won't fit, so don't expect to drag a text box into the json socket. And if your weight does nothing, remember the model's expectations first: a distilled model at CFG 8 is a recipe for garbage regardless of which node set it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| json | EZ_JSON | The conditioning describing the attributes of the image. | |
| weight | FLOAT | 8.00–100 | How strongly the prompt should affect the image. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| PROMPT | EZ_PROMPT_SETTINGS | — |