Text Translation
The Text Translation Node Just Hits Bing
- string
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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| trans_switch | BOOLEAN | true | — |
| trans_text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| string | STRING | — |