Nodes/ComfyUI-MultiTranslator/General LLM Service Connector 🦉| OwlV
ComfyUI Node

General LLM Service Connector 🦉| OwlV

One LLM node to reach every OpenAI-compatible API

By OwlvChirotha·Created 11 months ago·Updated 10 months ago· 0
General LLM Service Connector 🦉| OwlV
    • llm
    api_urlhttps://api.openai.com/v1/chat/completions
    api_key
    modelgpt-4o-mini
    custom_model

    The General LLM Service Connector is the one node in the ComfyUI-Translator pack you can't skip. Every other connector in the pack is basically this node wearing a specific provider's name tag. Here's the underlying trick: most LLM APIs - OpenAI, DeepSeek, Moonshot, Grok, plus a pile of self-hosted servers - speak the same JSON dialect at /v1/chat/completions. This node just makes the endpoint a field you can type.

    Why you'd reach for it

    Three situations. You run vLLM, LM Studio, llama.cpp server, or Text Generation WebUI locally and want to translate with a model you already host - no cloud key, no per-token billing. Your company has a private gateway that's "OpenAI-compatible" and nothing else. Or you want a model that isn't in the pack's dropdowns at all.

    If you're on plain ChatGPT/OpenAI, the pack's dedicated ChatGPT connector is tidier - it only lists models that provider actually offers. Reach for General when "OpenAI-compatible" is the whole description of your endpoint.

    How it works

    The node builds an OpenAI-compatible connector (Bearer token, a messages array, streaming off) and wraps it in the pack's LLMClient, which comes out of the llm output. Here's the thing that trips everyone up: running this node calls nothing. No key check, no ping, no request. The real API call fires later, when the LLM Translator node runs and calls translate(). Run the connector alone and you get an object, not text. That's by design. Wire it up and stop staring.

    Inputs and output

    The one a beginner actually sets is api_url, default https://api.openai.com/v1/chat/completions. Point it at a private gateway (http://your-gateway/v1/chat/completions) or a local vLLM (http://localhost:8000/v1/chat/completions). Then:

    • api_key - password-masked in the UI. Leave it empty for local servers that don't ask.
    • model - dropdown with 31 pre-listed models across OpenAI, Claude, DeepSeek, Kimi, GLM, Qwen, Grok, plus "Custom Model".
    • custom_model - the name you type when you pick Custom.

    Output is a single llm (type LLM), which plugs into the LLM Translator node's llm input.

    Installing it

    ComfyUI Manager: search ComfyUI-Translator, install, restart. Or by hand:

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

    Then restart ComfyUI. Dependencies are refreshingly light - just requests and googletrans (that last one is only for the pack's Basic Translator; these connectors need nothing else). No model downloads, no heavy wheels.

    Common gotchas

    • Errors come back as text. A wrong key or dead endpoint doesn't crash the workflow - the LLM Translator hands you a string like LLM API调用失败: ... as its output. Convenient, but it means you have to actually read the output to notice the failure.
    • The 512-token cap. The connector defaults to max_tokens: 512, so long text can get cut mid-sentence. Keep chunks reasonable.
    • Keys live in the workflow JSON in plain text even though the UI masks them. The README itself warns you to clear keys before sharing workflows, and it's right - the ComfyUI custom-node ecosystem has no sandbox, and a leaked key is a leaked key.
    • The local/Ollama paths are stubs. The README advertises local-model and Ollama translation, but in the shipped code only the service connectors actually make network calls - the local and Ollama translate() methods are placeholders that return a formatted string. If you came here for a fully offline workflow, this connector is the working part; don't chase the offline promise.

    This pack is a one-commit, GPL-3.0 hobby project with basically no community footprint - which is fine, the code is short and readable enough to skim. For an OpenAI-compatible endpoint that isn't one of the branded providers, this node is the one you want.

    CategoryText Processing/LLM

    Inputs (4)

    NameTypeDefaultDescription
    api_urlSTRINGhttps://api.openai.com/v1/chat/completions
    api_keySTRING
    modelCOMBOgpt-4o-mini31 options: Custom Model, gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-3.5-turbo, o1, +25
    custom_modeloptSTRING

    Outputs (1)

    NameTypeDescription
    llmLLM