ComfyUI Node

Text Translation

The Text Translation Node Just Hits Bing

By pictorialink·Created about a year ago·Updated about a year ago· 12
Text Translation
    • string
    trans_switchtrue
    trans_text

    The name of this node is a small lie, and the lie is the whole point. "Text Translation" sounds like it's going to make you sign up for a translator API, paste in a secret key, and pray. It does none of that. You wire in a string, it comes out in English, and the only thing you spend is an internet round-trip to Microsoft's free Bing translation endpoint. That's it. No key, no account, no model download.

    So what's it actually for? ComfyUI's CLIP Text Encode node takes one blob of text and hands it to your checkpoint's text encoder. And despite the 2026 LLM-encoder era, most of those encoders were trained overwhelmingly on English. The realistic workflow for a lot of people is: think in your own language, type in your own language, and let this node translate to English right before the text hits the encoder. It's the exact same trick as asking an LLM to "translate my prompt to English" - except it's in the graph, runs every time, and costs you nothing but a few hundred milliseconds.

    How it works

    Under the hood it's the translators Python library (by UlionTse), which scrapes public translation endpoints - here Bing by default. The node's Python is almost laughably small: it calls translators.translate_text(query_text=..., translator="bing", from_language="auto", to_language="en", timeout=10). Source language auto-detects, output is always English unless you turn it off.

    You get exactly two inputs, and that's most of what there is to know:

    • trans_switch - a boolean, on by default. On translates; off passes your text straight through untouched.
    • trans_text - the multiline text box you type or wire into.

    The single output is a string. Wire it into the text input of a CLIP Text Encode (Positive Prompt) (or Negative, if you've got a negative prompt you want translated too) and you're done.

    The switch is more useful than it looks. It's your bypass: keep the translation node in the graph, flip it off when you're already writing English, and the workflow still works. No deleting, no re-wiring.

    Installing it

    ComfyUI Manager is the easy path - search for ComfyUI-Text-Translation and install. Manually, from a terminal in your ComfyUI/custom_nodes directory:

    git clone https://github.com/pictorialink/ComfyUI-Text-Translation
    cd ComfyUI-Text-Translation
    # portable Windows build:
    ..\..\..\python_embeded\python.exe -s -m pip install -r requirements.txt
    

    Then restart ComfyUI. The only dependency is translators - one line in requirements.txt, no heavy torch stuff, no model files. The README's clone URL is stale (it points at the pack's old home), so clone the pictorialink repo above. One more thing: if you installed this pack before May 2024, delete the old folder entirely first - the rewrite that dropped the Tencent API key requirement is not backward compatible.

    Where people get burned

    The classic error, straight from the README:

    Prompt outputs failed validation
    Text_Translation_V2:
    - Value not in list: translator: 'alibaba' not in ['Bing', 'Google', 'Alibaba']
    

    Your node is holding a stale widget value from before a pack update. Delete the node and add it fresh - that's the whole fix. And remember it needs the internet and the endpoint to be up; if Bing is being throttled from your region, that's not a bug in the node. If translation starts flaking, switch to the V2 variant and pick a different engine - that's what it's there for.

    CategoryText Translation

    Inputs (2)

    NameTypeDefaultDescription
    trans_switchBOOLEANtrue
    trans_textSTRING

    Outputs (1)

    NameTypeDescription
    stringSTRING