Nodes/Comfyui_JTnodes/JT Siliconflow LLM
ComfyUI Node

JT Siliconflow LLM

A free-ish LLM chat node for ComfyUI (yes, it still needs a key)

By Jint8888·Created about a year ago·Updated about a year ago· 1
JT Siliconflow LLM
    • text
    • messages
    • session_history
    api_keyyour-api-key-here
    prompt
    system_contentYou are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.
    modelPro/deepseek-ai/DeepSeek-V3
    seed0
    context_size1
    max_tokens2048
    custom_model_name

    JT Siliconflow LLM drops a chat interface into your ComfyUI graph, backed by Siliconflow's OpenAI-compatible API. The class name says "Free," and the honest version is: Siliconflow offers genuinely cheap (and sometimes free-tier) access to models like DeepSeek-V3 and Qwen, but you still need an API key - the "free" is about the model pricing, not the signup. Expect to paste a key into the node, not to skip one.

    Why you'd reach for it

    ComfyUI has no built-in way to ask a language model a question mid-workflow. This node fills that gap if you want to generate a prompt from a brief, summarize a text you just read from a file or spreadsheet, or add a commentary step before a generation. It's a chat node, not an agent - but for "ask a model for a prompt, feed the answer into your text pipeline," it's exactly the missing piece. Wire its text output into a prompt, or into JT Save Text to File to keep a transcript.

    The inputs that matter

    • api_key (STRING) - your Siliconflow key, from the platform dashboard. Treat it like a password; it's stored plain in the node.
    • prompt (STRING, multiline) - your question/instruction.
    • system_content (STRING, multiline) - the system prompt. The default is a stock "You are ChatGPT…" - replace it for your use case.
    • model (4 choices) - Pro/deepseek-ai/DeepSeek-V3 (default), Qwen/QwQ-32B, Qwen/Qwen2.5-32B-Instruct, Pro/deepseek-ai/DeepSeek-R1.
    • context_size (INT, 0–30, default 1) - how many previous turns of conversation to keep. 0 means no history; higher means the model remembers more of the thread.
    • max_tokens (INT, 512–200000, default 2048) - response length cap.
    • seed (INT) - here's the thing: the seed input exists but is never used. The code accepts it and then ignores it. For a chat API that's arguably fine, but don't expect it to make output reproducible.

    There's also an optional custom_model_name (STRING) that overrides the model dropdown entirely if you want a model Siliconflow hosts that isn't in the list.

    How it works

    The node keeps a session_history list in memory on the node instance, appending your prompt and the model's reply after every call. On the next run, it takes the last context_size turns, prepends the system prompt, and sends the whole thing to https://api.siliconflow.cn/v1 using the openai Python client. Outputs: text (the response), messages (the full message array sent, as JSON), and session_history (the accumulated conversation, as JSON).

    Three practical consequences. History lives on the node object in memory - it survives repeated runs while ComfyUI is up, but resets when the server restarts. Because history accumulates, rerunning the same workflow keeps feeding old turns back into the model; set context_size small (or 0) if you want each call to be a fresh start. And since the response is returned as a plain string, if the API errors you get an Error: … string in text rather than a crash - useful, but check your output for the prefix.

    Installing it

    Part of Comfyui_JTnodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Jint8888/Comfyui_JTnodes
    pip install "openai>=1.0.0" "openpyxl>=3.0.0"
    

    or search "Comfyui_JTnodes" in ComfyUI Manager. This is the node with the real dependency: it needs the openai package, and because the repo ships no requirements.txt, neither Manager nor a plain clone installs it for you. Worse, openai is imported at pack load time - so skip the pip install and the entire pack fails to import, hiding all eight JT nodes from your menu. Run that pip line, restart ComfyUI, and it appears under JT > JT/text. (The README is in Chinese; the English docs for Siliconflow's API fill in the gaps.)

    The honest verdict

    It's a competent, minimal wrapper around a real, working API - Siliconflow is a legitimate provider (it's behind the OneDiff acceleration project) and DeepSeek-V3/Qwen are real models people actually use. The traps are all small: the fake-out seed, the memory-resident session history that vanishes on restart, the key sitting in plaintext in the node, and the whole-pack-fails-without-openai install quirk. If you want an LLM in ComfyUI and don't want to stand up a local model, this gets you there with less setup than most alternatives - just don't expect it to be the free lunch the name implies.

    CategoryJT/text

    Inputs (8)

    NameTypeDefaultDescription
    api_keySTRINGyour-api-key-here
    promptSTRING
    system_contentSTRINGYou are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.
    modelCOMBOPro/deepseek-ai/DeepSeek-V34 options: Pro/deepseek-ai/DeepSeek-V3, Qwen/QwQ-32B, Qwen/Qwen2.5-32B-Instruct, Pro/deepseek-ai/DeepSeek-R1
    seedINT00–18446744073709550000
    context_sizeINT10–30
    max_tokensINT2048512–200000
    custom_model_nameoptSTRING

    Outputs (3)

    NameTypeDescription
    textSTRING
    messagesSTRING
    session_historySTRING