Nodes/Sage Utils/Prompt Text (Lumina 2)
ComfyUI Node

Prompt Text (Lumina 2)

The <Prompt Start> sandwich Lumina 2 needs

By arcum42·Created 2 years ago·Updated 28 days ago· 33
Prompt Text (Lumina 2)
    • combined_prompt
    system
    prompt

    Some models expect your prompt in a very particular envelope. Lumina 2 is one of them: it wants a system prompt, then a literal <Prompt Start> marker, then your actual prompt. Get the envelope wrong - forget the marker, put it in the wrong place - and the model reads your words as instructions about instructions instead of a request to draw.

    Prompt Text (Lumina 2) assembles that envelope for you. Two text boxes in, one correctly-formed prompt out.

    How it works

    Two multiline inputs:

    • system - the system prompt portion.
    • prompt - your actual user prompt / image request.

    The output combined_prompt is built as system + the marker + prompt, where the marker is a newline, <Prompt Start>, and another newline:

    <system prompt text>
    
    <Prompt Start>
    
    <user prompt text>
    

    That's the whole job - and it's exactly the kind of thing that's trivial to get subtly wrong by hand, because the marker has to sit on its own line in a precise spot.

    The natural pairing

    This node sits in the lumina2 category of the pack for a reason: Sage Utils also ships a System Prompt (Lumina 2) node (Sage_SystemPrompt) that picks from a set of Lumina 2 system prompts - "superior (lumina)", "alignment (lumina)", and a few others - with full text baked in. The intended flow is:

    1. System Prompt (Lumina 2) → system input here
    2. your prompt text → prompt input here
    3. combined_prompt → the CLIP text encode / conditioning node for your Lumina 2 model

    If you don't have a system prompt handy, the pack's system-prompt node is where you get one without pasting a paragraph from a model card.

    Why the envelope matters

    Lumina 2 is one of the models in the "your prompt is a chat turn, not a token bag" camp - the encoder reads the prompt like an instruction. When the system/user split isn't marked, the model has to guess which part is context and which part is the request, and guessing is where "draw a red car" becomes "talk about drawing a red car." The marker is how the model knows the instruction has started. This node removes that ambiguity from your workflow instead of leaving it to your typing.

    Installation

    Sage Utils install - ComfyUI Manager, search "Sage Utils", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arcum42/ComfyUI_SageUtils
    cd ComfyUI_SageUtils
    pip install -r requirements.txt
    

    Restart ComfyUI. Only dependency is dynamicprompts; no models to download.

    The honest take

    It's a string formatter with one formatting rule, and if you're not using Lumina 2 you'll never touch it. But when you are, it's the difference between guessing the <Prompt Start> placement on a model whose quirks you're still learning, and having the format handled correctly every single time. Paired with the pack's system-prompt node, it makes the whole Lumina 2 prompt path a two-node setup.

    CategorySage Utils/text/prompt/lumina2

    Inputs (2)

    NameTypeDefaultDescription
    systemSTRINGThe system prompt portion for Lumina 2.
    promptSTRINGThe user prompt portion for Lumina 2.

    Outputs (1)

    NameTypeDescription
    combined_promptSTRINGThe combined system and user prompt for Lumina 2.