Nodes/ComfyUI-llama-multimodal/Muse Glimmer Response Parser
ComfyUI Node

Muse Glimmer Response Parser

When Your Model Talks to Itself, This Pulls the Answer Out

By craftingmod·Created 2 months ago·Updated 5 days ago· 3
Muse Glimmer Response Parser
    • response
    • thinking
    • raw
    • valid
    ◄muse_response►

    Most chat models have two output streams: the answer, and the thinking. Usually the runtime splits them for you. Muse Glimmer doesn't play that game - it emits recipient-addressed messages, the way an agent framework would, with some turns addressed to self (reasoning) and some to user (the actual answer), each terminated by its own marker.

    This node takes that raw string and gives you back the parts. It's a pure text utility: no session, no model, no GPU, nothing that can fail because a server isn't running.

    How it works

    It scans the response for message headers of the form to=<recipient><|message|> and splits on them. Then:

    • messages addressed to self are reasoning, cut at the <|eom|> end-of-message marker and joined into thinking
    • the message addressed to user is the answer, cut at <|eot|> end-of-turn, and becomes response
    • anything else - unclassified text, messages to other recipients, preamble before the first header - is preserved in raw

    valid is the yes/no you'll actually branch on: true when a complete final-response marker was parsed, false when the output was truncated reasoning or wasn't Muse-format at all.

    The author is explicit about the limits, and they're worth repeating because they define when not to reach for this: streaming isn't supported (it wants the complete non-streaming string), and tool calls aren't interpreted - a tool call lands in raw rather than being turned into something actionable.

    The inputs and outputs

    muse_response - the raw response string. It's a forced input, so wire it from a Generate node's raw_json or response rather than typing it. The point of parsing raw is that you haven't lost anything yet.

    Outputs: response (the model's answer to you), thinking (its reasoning), raw (everything unclassified), valid (boolean).

    The wiring that makes sense: Generate → parser → response into your downstream text node, valid into a branch so a truncated run doesn't feed half a thought into your conditioning.

    Install

    Manager → search llama multimodal → ComfyUI-llama-multimodal. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/craftingmod/ComfyUI-llama-multimodal.git
    

    ComfyUI 0.19.3 or later. This node needs no runtime, no model and no projector - it's the cheapest thing in the pack to try. The pack ships a Muse Glimmer model profile too, which is the signal for where it fits: it belongs next to that family of models rather than a general Qwen or Gemma.

    Should you care about this node?

    Depends entirely on whether you're running a Muse-format model. This is a genuinely niche corner: the pack ships the profile, and its server path checks for a muse-glimmer architecture before adapting images to the template-native form the model expects - but the wider community barely knows the name. Searches for it in the r/comfyui and r/StableDiffusion corpus return literally nothing, so there is no tutorial, no workflow to copy, and no thread where someone already hit your problem. You'll be reading raw output yourself.

    Which is the argument for this node's existence. If you're running one of those models and getting a wall of to=self scaffolding where you expected a caption, this is the difference between a usable pipeline and giving up. If you're not, it's a node you'll never touch, and that's fine.

    valid: false is your diagnostic. It means one of two things: the model got cut off mid-thought (raise max_tokens or cap reasoning), or you've pointed it at a model that doesn't speak this format and everything landed in raw. Check raw before assuming the parser is broken - it dumps the whole thing rather than swallowing it, which is the right design.

    Categoryllama_cpp/utils

    Inputs (1)

    NameTypeDefaultDescription
    muse_responseSTRINGRaw response string produced by Muse Glimmer.

    Outputs (4)

    NameTypeDescription
    responseSTRING—
    thinkingSTRING—
    rawSTRINGUnclassified text and complete messages addressed to recipients other than self or user.
    validBOOLEANTrue when a complete Muse Glimmer final-response marker was parsed. False for truncated reasoning or non-Muse text.