Nodes/BV Node Pack/πŸŒ€ BV Regional Prompt Extract
ComfyUI Node

πŸŒ€ BV Regional Prompt Extract

Get a region's actual prompt text out, without the JSON archaeology

By BlackVortexAIΒ·Created 9 months agoΒ·Updated about 18 hours agoΒ· 7
πŸŒ€ BV Regional Prompt Extract
  • selection
  • positive_ast
  • positive_text
  • positive_source
  • negative_ast
  • negative_text
  • negative_source

Here's a workflow question you'll hit five minutes after your first regional image: "I know I typed the left character's prompt in the editor - how do I get that exact text into a display node, a text editor, or an LLM rewrite pass?" The document holds it, but you don't want to go spelunking through regional_json. BV Regional Prompt Extract is the node that pulls a selected slice's prompt out as structured AST, plain text, and raw source - six outputs, one input.

It's the slightly leaner sibling of BV Regional Deconstructor: same idea, focused purely on the prompt representations, no selected_id/selected_name outputs and no selection passthrough. If you want the selection object too, use Deconstructor; if you just want the prompt text, this is the one with fewer ports to stare at.

How it works

One input: selection, the BV_REGIONAL_SELECTION you get from BV Regional Select. You pick the slice there - global, background, or one named region - then feed the selection in here. Outputs are the same six every regional prompt exposes:

  • positive_ast / negative_ast (BV_AST) - the parsed, structured prompt tree.
  • positive_text / negative_text (STRING) - plain text, what you'd show a human or feed a text processor.
  • positive_source / negative_source (STRING) - the untouched source text, the single source of truth the pack treats as canonical.

The three-representations design is deliberate. AST is for category-aware processing (the pack's Prompt AST system), text is for display and downstream text nodes, and source is for round-tripping or auditing what was actually typed. They're derived from the same source, so if they ever disagree, source wins.

Where it fits

The cleanest pattern: BV Regional Select β†’ Prompt Extract β†’ display/rewrite/export. It's also the node that makes per-region prompt engineering visible - instead of guessing from the rendered image what a region "tried to say," you read the text it actually used. If you're running a prompt-polish pass with an LLM or comparing region prompts across documents, this is the extraction point.

Install

Search BV Node Pack in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/bv_nodepack.git

Restart, hard-refresh with Ctrl + F5. No dependencies.

The honest take

It's a tiny utility that exists to make prompt text a first-class value instead of a buried document field. Not glamorous, but it's exactly the kind of node that stops you from hand-copying prompts between the editor and a text node. If you're weighing it against Deconstructor: need the selection object or region IDs too, get Deconstructor; purely want prompt representations, this is the clean one.

CategoryπŸŒ€ BV Node Pack/regional/core

Inputs (1)

NameTypeDefaultDescription
selectionBV_REGIONAL_SELECTIONβ€”

Outputs (6)

NameTypeDescription
positive_astBV_ASTβ€”
positive_textSTRINGβ€”
positive_sourceSTRINGβ€”
negative_astBV_ASTβ€”
negative_textSTRINGβ€”
negative_sourceSTRINGβ€”