๐๏ธ Control Panel Prompt Breakdown
See your structured prompt split into subject, clothing, movement, scene, and style
The Swiss Army Knife captioning pipeline is built on one idea: instead of one big prompt blob, you get five named paragraphs - subject, clothing, movement, scene, and visual style. That structure is what makes override-based iteration possible: you don't regenerate the whole description to fix the outfit, you swap one paragraph. Control Panel Prompt Breakdown is the node that makes that structure visible, taking the positive_prompt_json from MediaDescribe and rendering each field as its own column in the Control Panel.
It's the sibling of Control Panel Overview. Same idea, narrower job: Overview dumps the entire all_media_describe_data JSON for auditing; this one takes just the structured positive prompt (positive_prompt_json, a STRING input, no outputs) and lays it out per-category so you can scan five paragraphs at a glance. Display-only, output node, zero processing of its own.
The workflow it's built for goes like this. MediaDescribe returns the structured JSON; you feed it here to review what the model actually wrote. When the "clothing" paragraph comes back wrong - say it described a blue dress as "crimson" - you see it immediately in its own column, then reach for Media Describe - Overrides to fix just that field and re-run. Without the breakdown view you're hunting through one long JSON string for the paragraph you care about, which is exactly the kind of friction that makes you stop bothering to fix things.
Installing
Ships with the pack:
- ComfyUI Manager: search "Swiss Army Knife", install, restart.
- Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/sammykumar/ComfyUI-SwissArmyKnife.git
cd ComfyUI-SwissArmyKnife
pip install -e .
Notes
- The input is
forceInput, meaning you wire it from upstream - you can't type a value in. That's fine, because the source is always MediaDescribe'spositive_prompt_jsonoutput anyway. - It expects the five-field JSON shape (subject/clothing/movement/scene/visual_style). Feed it a different schema and the columns will be empty or wrong - check what's actually in the JSON before assuming the node is broken.
- Like everything in the Control Panel, it only exists in the frontend. Hard-refresh after install/update if the panel isn't showing.
Honestly, the breakdown view is the kind of thing you don't realize you want until you've squinted at one too many JSON blobs. If you're already using MediaDescribe and overrides, this is the missing visibility layer that makes the whole iteration loop tolerable. If you're not on that pipeline, there's nothing here for you - it's strictly a debugging/review companion.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| positive_prompt_jsonopt | STRING | Positive prompt JSON data |
Outputs (0)
No outputs