Prompt Text (Auto Translate)
Write your prompt in any language, get English out
- prompt
If English isn't your first language, you already know the annoyance: you think in your own language, then you have to stop and translate before you can even type a prompt. Prompt Text (Auto Translate) removes that step. You type in whatever language is natural to you - Indonesian, Spanish, Japanese, doesn't matter - and it hands out an English string, ready to feed downstream. No separate translation app, no copy-pasting into Google Translate in another tab.
It's a deliberately small node. It doesn't touch CLIP, doesn't build conditioning, doesn't do anything image-related at all. It's a text box in, a translated text string out. That's the whole job, and that's the point - it's meant to slot in front of whatever does need English text, rather than replace it.
How it works
Under the hood it's langdetect plus deep_translator's GoogleTranslator. On execution it first
guesses what language you wrote in, then sends the text to Google Translate (the free web service,
not a paid API - no key required) with the target locked to English, and passes back whatever comes
out. If the translation call fails for any reason - no internet, Google having a bad moment,
whatever - the pack's own error handling logs the failure and falls back to returning your original
text untouched rather than crashing the run. That's a deliberate design choice worth knowing: a
translation hiccup degrades your prompt, it doesn't kill your queue.
The inputs and outputs that matter
There's exactly one input and one output, which is refreshingly simple as these things go:
prompt(STRING, multiline) - the text box you type into. Defaults to the literal word "prompt" until you replace it. Write in whatever language you want here.- Output:
prompt(STRING) - the translated-to-English text. Wire this into anything downstream that accepts a string, most commonly thetextinput on a CLIP Text Encode node (you'll need to convert that widget to an input socket first) or its sibling in this same pack, CLIP Text Encode (Auto Translate), if you'd rather skip a step - more on that node on its own page.
One small thing worth flagging so it doesn't confuse you in the node browser: it's filed under the conditioning category alongside the actual CLIP encoders, even though it never produces conditioning itself. It's a plain string node that happens to live next to the nodes it feeds.
How to install it
Easiest path is ComfyUI Manager - open it, search "ComfyUI-Translator", install, restart.
Manual install is a normal custom-node clone:
cd ComfyUI/custom_nodes
git clone https://github.com/adigayung/ComfyUI-Translator
Then install the two Python dependencies the pack actually needs - deep_translator and
langdetect - from its requirements.txt. If you're on the portable/embedded ComfyUI build (the
Windows all-in-one), run pip through the bundled interpreter from inside the node's folder:
cd custom_nodes\ComfyUI-Translator
..\..\..\python_embeded\python.exe -m pip install -r requirements.txt
On a normal venv-based install, just pip install -r requirements.txt with your ComfyUI environment
active. Either way, restart ComfyUI afterward. No model files to download - this isn't a local
translation model, it's a thin wrapper around a web call, so there's nothing heavy to fetch.
Common issues & troubleshooting
Nothing seems to translate, or you get your original text back unchanged. That's the built-in fallback behavior, not a broken node - the pack catches translation errors and returns your input as-is rather than failing the run. Check your internet connection first; this node needs one, since it's calling Google Translate over the network every time it executes. There's also no caching mentioned in the pack, so expect one outbound request per run.
Language detection guesses wrong on very short prompts. langdetect needs a reasonable amount
of text to work with - a two-word prompt in a language that shares vocabulary with English (or just
looks ambiguous) can get misidentified, which then skews the translation. Padding out a short
phrase a little usually fixes it.
No API key involved, but also no SLA. This is the free, unofficial Google Translate route, not the paid Cloud Translation API - nothing to configure, but if you're batch-running hundreds of prompts back to back you can hit slowdowns or failures a paid key wouldn't. For normal one-off prompt translation it's a non-issue.
You expected conditioning output and got a type mismatch error. This node outputs a plain
STRING, not CONDITIONING - it doesn't know about CLIP at all. If your graph is complaining about a
socket type, you either need to feed this into a CLIP Text Encode node's text input, or you want
the other node in this pack, CLIP Text Encode (Auto Translate), which does the translate-and-encode
combo in one step.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | prompt | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |