Nodes/ComfyUI-MARS5-TTS/TTSTextEncode
ComfyUI Node

TTSTextEncode

The glorified text box that MARS5's node can't live without

By AIFSH·Created 2 years ago·Updated 2 years ago· 28
TTSTextEncode
    • TEXT
    text

    This node has exactly one job: you type text into a box, it hands that text to the next node. No model, no weights, no GPU, no thinking. It's a text box wearing a socket costume, and in the MARS5-TTS pack it's not optional - it's the only way to get words into the actual TTS node.

    Why a glorified text box exists

    The MARS5TTS_Node in this pack takes its text and ref_transcript inputs as wired sockets, not as widgets on the node itself. There's no typing field on it at all. So you need something that emits a TEXT-typed socket, and a plain ComfyUI string widget doesn't - it's a STRING, which isn't the same type on the wire. TTSTextEncode is the glue: it takes your multiline string and republishes it as a TEXT socket the TTS node will accept.

    In newer ComfyUI builds there are native text nodes that do the same trick, but the pack's own example workflow uses two of these - one for the line to speak, one for the reference transcript - and they're the zero-surprise choice if you just loaded the pack.

    Inputs and output

    That's the whole interface:

    • text (STRING, multiline) - the words to speak. It's flagged dynamicPrompts, which means ComfyUI will expand prompt syntax like {hello|hey} there into multiple runs. Handy if you want to batch variations of the same line through the TTS node.
    • Output: one TEXT socket carrying the string through to text or ref_transcript on MARS5TTS_Node.

    Two small things worth knowing. The multiline flag means Enter gives you a newline, which matters because MARS5 reads punctuation and line structure for prosody - commas make it pause, capitalization adds emphasis. And you can chain it: any node that outputs TEXT can feed another TTSTextEncode, so you can build up your line programmatically before it hits the TTS node.

    Installing it

    It ships in the AIFSH/ComfyUI-MARS5-TTS pack. Install the pack once and you get all four of its nodes - this one, MARS5TTS_Node, LoadAudioPath, and PreViewAudio:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AIFSH/ComfyUI-MARS5-TTS
    cd ComfyUI-MARS5-TTS
    pip install -r requirements.txt
    

    Restart and you're done. Unlike its big sibling, this node pulls zero model files - no gigabytes, no first-run download.

    The honest caveat

    Don't read anything into the name. Despite sounding like the kind of node that conditions text into embeddings (à la CLIP text encode), it does none of that - it's a pure passthrough that exists to satisfy a type check. That's fine, that's its job. Just don't expect it to improve pronunciation, add emotion, or do anything beyond shuttle your string across the graph. If you're looking at this node, you're actually looking for MARS5TTS_Node - this one just gets your words there.

    CategoryAIFSH_MARS5_TTS

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    TEXTTEXT