Nodes/ComfyUI-MultiTranslator/LLM Translator 🦉| OwlV
ComfyUI Node

LLM Translator 🦉| OwlV

Where this pack actually does the translating

By OwlvChirotha·Created 11 months ago·Updated 10 months ago· 0
LLM Translator 🦉| OwlV
  • llm
  • translated_text
text
target_language英语
system_promptYou are a translation engine. Only output the translated text.

Why you'd reach for it

Machine translation is fine for a short prompt, but it flattens tone, mangles idioms, and will cheerfully mistranslate a stylized caption. LLM Translator is this pack's higher-quality path: a large language model reads the text and writes the translation, keeping meaning and style. If you've hit the ceiling of the Basic Translator node, this is the step up - and if you're translating creative text, prompts, or captions for training, the difference is usually obvious.

How it works

LLM Translator is a hub, not a provider. It takes an llm object on its llm input - produced by one of the pack's connector nodes - and calls llm.translate(...) on it. The actual translation happens wherever the LLM lives: OpenAI, DeepSeek, Kimi, and so on. The node wraps your text in a request that looks like a system message "You are a translation engine. Only output the translated text." plus a user message "Translate the following text to {target}. Keep the meaning and style."

That system prompt is the secret to clean output - telling the model to output only the translation stops it from wrapping answers in "Here is your translation:" commentary. It's exposed as the system_prompt input, so you can replace it with something stricter (e.g. "translate as a native speaker, keep proper nouns, output only the result").

The inputs that matter

  • llm - required. The LLM object from a service connector (ChatGPT, DeepSeek, Kimi), the Ollama connector, or Load LLM Model.
  • text - multi-line. Empty text short-circuits to an empty string, so no API call is wasted.
  • target_language - ten languages, with one quirk: the dropdown labels are in Chinese (英语 English, 中文 Chinese, 日语 Japanese, 韩语 Korean, 法语 French…). The node maps them to English names internally, so the Chinese label doesn't affect the output language - just don't panic when you open the dropdown.
  • system_prompt - optional override of the default.

The output is translated_text, a STRING. Feed it into a CLIP Text Encode to translate prompts, or into any downstream text node or text saver.

Installing it

This node ships in the ComfyUI-MultiTranslator pack by OwlvChirotha ("OwlV"). Install the whole pack at once: ComfyUI Manager → search "ComfyUI-MultiTranslator" → Install → restart. (The README's "search ComfyUI-Translator" line is stale - that was the old name.) Or by hand:

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

Then restart ComfyUI. Dependencies are just googletrans and requests - no heavy LLM runtimes, because all the heavy lifting happens on the API provider's side. The node lives under Text Processing/LLM.

Troubleshooting

  • You get a placeholder back. The two offline sources in this pack - Ollama LLM Connector and Load LLM Model - are stubs in the shipped code. They return strings shaped like [Ollama ...] -> ... or [Local ...] -> ... instead of real translations. The service connectors (ChatGPT, DeepSeek, Kimi) are the real ones; use those.
  • Empty text → empty output, no call. Good for chaining.
  • API errors surface as the translated_text value (an error string) rather than a crash - check the node output if something looks off.
  • It translates one text per call. There's no batch input; loop it or feed strings one at a time.
CategoryText Processing/LLM

Inputs (4)

NameTypeDefaultDescription
llmLLM
textSTRING
target_languageCOMBO英语10 options: 英语, 中文, 日语, 韩语, 法语, 德语, +4
system_promptoptSTRINGYou are a translation engine. Only output the translated text.

Outputs (1)

NameTypeDescription
translated_textSTRING