Nodes/BV Node Pack/πŸŒ€ BV Subgraph Heading
ComfyUI Node

πŸŒ€ BV Subgraph Heading

A bold header node that labels sections of your graph β€” and your subgraph

By BlackVortexAIΒ·Created 8 months agoΒ·Updated a day agoΒ· 6
πŸŒ€ BV Subgraph Heading
    • _
    β—„valueHeadingβ–Ί
    β—„font_size20β–Ί
    β—„show_dividerfalseβ–Ί

    BV Subgraph Heading renders a bold header text inside a node, so you can label sections of your graph without hunting through a sea of same-shaped boxes. It's a pure UI node - it doesn't compute anything. It exists because the ecosystem's biggest workflow problem isn't speed, it's reading the graph. The ComfyUI docs have a whole section on how a dense, unlabeled graph is the single biggest beginner barrier, and every power-user pack (rgthree, Efficiency Nodes) ships layout tools for the same reason: a workflow too hard to read is a workflow you stop trusting.

    Where this one earns its keep is Subgraphs. The README's headline feature: when you expose the heading inside a Subgraph/Subflow, the header text also renders on the subgraph's node in the parent graph. So instead of a cryptic little box labeled by whatever you named it, the subgraph tells you what it is right there on the node. That's the difference between a "BV 04" box and a "FINAL COLOR GRADE" box.

    How it works

    The backend is almost nothing: it takes the inputs and returns the heading text as a dummy STRING output. All the visual work - big bold text, the divider line, the click-to-edit behavior - is done by a JavaScript extension that renders the node's widget as a styled header. The text renders when ComfyUI loads the node, and you edit it by clicking directly on the header text (that's the README's screenshot flow).

    Inputs:

    • value (STRING, default Heading) - the header text itself.
    • font_size (INT, default 20, range 10–60) - how big it renders.
    • show_divider (BOOLEAN, default false) - toggles an optional horizontal divider under the header.

    Output: a single _ STRING that just echoes value. Ignore it; it's there because ComfyUI wants nodes to have outputs. The node also works as a plain graph label in a normal (non-subgraph) workflow - put it at the top of each logical section.

    Install & gotchas

    Pack standard: ComfyUI Manager β†’ BV Node Pack, or clone https://github.com/BlackVortexAI/bv_nodepack into custom_nodes, then restart and Ctrl + F5 hard-refresh. The hard refresh genuinely matters here - the heading is rendered by a JS extension, so a stale cache shows a plain text widget instead of the styled header.

    Three things worth knowing. First, because the rendering is frontend JS, ComfyUI's Nodes 2.0 frontend can render it as a standard widget instead of the styled header - the pack's own design notes admit Nodes 2.0 may fall back to plain widgets. Legacy canvas is fine. Second, the node is a graph decoration, but it still executes - keep an eye out in your "time taken" readout only if you've dropped fifty of them into a workflow (they're microseconds, so don't worry). Third, the dummy output is intentionally meaningless; if you're expecting "a label you can read from another node," that's not what this is. It's cosmetic, on purpose.

    CategoryπŸŒ€ BV Node Pack/subgraph

    Inputs (3)

    NameTypeDefaultDescription
    valueSTRINGHeadingβ€”
    font_sizeINT2010–60β€”
    show_dividerBOOLEANfalseβ€”

    Outputs (1)

    NameTypeDescription
    _STRINGβ€”