Output Prompt and Image ♾️Mixlab
Pair a prompt with its image as app output
- images
- json_str
This is an output node that keeps a prompt and the image it produced together, as one paired result. Most of the Mixlab pack is built around turning a workflow into a little web app, and this is one of the pieces that shows up on the output side of that app - it's in the README's short list of app output nodes alongside PreviewImage, SaveImage, and ShowTextForGPT. If you're not building a Mixlab web app, you probably don't need it; if you are, it's how you surface "here's the picture and here's the text that made it" in one place.
How it works
You hand it the images and the text that goes with them. It bundles them into a single JSON payload - that's the json_str output - so the app front-end (or whatever consumes it) gets the prompt and the image reference in one object instead of having to correlate two separate nodes. It's a terminal node in the graph (an output node), so it also renders in the ComfyUI UI rather than just passing data through.
The intent, per the pack's own framing, is prompt-and-image comparison: line up what you asked for against what you got. That's genuinely useful when you're iterating on prompts and want the pairing preserved rather than scattered.
Inputs and outputs
prompts(STRING, multiline) - the prompt text to attach. Multiline, so a full prompt block is fine.images(IMAGE) - the image(s) to pair with that text.save_to_image(enum:enable/disable) - whether to persist the pairing to the image itself. Flip it toenableif you want the prompt baked in alongside the saved image rather than just displayed.
The one output is json_str (STRING) - a JSON string carrying the prompt/image pairing. If you're wiring this into a larger flow, that string is what you route onward (into an app response, a text node, or somewhere that expects structured text). If you're just using it as an app output, you mostly care that the pairing shows up correctly on the app page.
How to install it
Ships in the Mixlab pack.
- ComfyUI Manager: search
comfyui-mixlab-nodes, install, restart. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git, install requirements (install.baton Windows or../../../python_embeded/python.exe -s -m pip install -r requirements.txt), restart.
Common issues
The big one is a whole-pack gotcha rather than something this node does wrong: if you download the pack as a ZIP, the folder lands as comfyui-mixlab-nodes-main, and the app mode breaks - pages open blank - until you rename the folder to exactly comfyui-mixlab-nodes. The maintainer calls this out directly. Since PromptImage only earns its keep inside the app workflow, that rename is the difference between it working and staring at an empty page.
Second, this is one node in a system. On its own it's underwhelming - the value shows up when it's the output half of an AppInfo-published workflow, paired with the app's inputs. If you're evaluating it in isolation and wondering what the point is, that's why. Read the AppInfo node's page for how the app side fits together.
And if you're relying on the JSON string downstream, remember it's a serialized string, not a structured object - parse it on the receiving end rather than assuming a node will understand it natively.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| prompts | STRING | — | |
| images | IMAGE | — | |
| save_to_image | COMBO | 2 options: enable, disable |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| json_str | STRING | — |