ComfyUI Node

DeepSeek V3

The no-drama API LLM for prompt work in ComfyUI

By billwuhao·Created about a year ago·Updated about a year ago· 56
DeepSeek V3
    • text
    api_key
    system_prompt
    prompt
    modelDeepSeek-V3
    seed0

    DeepSeek V3 is the workhorse sibling of the pack's R1 node: a plain, fast, cheap frontier LLM call that turns a rough idea into a polished prompt without any of the reasoning-model theater. It's the one you reach for when you just want text rewritten well and you don't care to watch it think.

    Inside a Comfy workflow this is the "prompt enhancer" slot. You type something like "cyberpunk street market at night, neon, rain" into the prompt box, the model expands it into the kind of detailed descriptive paragraph a modern LLM-encoder checkpoint (Flux, Qwen-Image, Z-Image) actually wants to read, and you wire the output into your prompt text input. It costs pennies per call and needs zero VRAM, which is the whole pitch of the API path over running an 8B model locally.

    How it works

    It uses the openai Python SDK against https://api.deepseek.com with the deepseek-chat endpoint. The model dropdown offers only DeepSeek-V3 - it's cosmetic; the request always targets deepseek-chat, which is DeepSeek's non-reasoning chat model. Key resolution is the same as every node in this pack: the DEEPSEEK_API_KEY environment variable wins if present, otherwise the api_key field, otherwise a ValueError.

    The inputs that matter

    • system_prompt (multiline) - the persona/instruction layer, which R1 lacks. This is where you tell it "You are a prompt engineer for Flux, return only the prompt." Empty is fine, but this field is the difference between usable output and chatty output.
    • prompt (multiline) - your raw idea.
    • api_key - leave blank when the env var is set; if you paste it, don't leak the workflow.
    • seed - accepted and ignored. The request never sends it, and chat APIs aren't reproducible by seed anyway.

    Output is a single text STRING. That's it - wire it to a prompt input, or through a Text Concatenate if you want to merge it with a hand-written prefix. There's no thinking output here; this is the fast path.

    Installing it

    It's part of ComfyUI_Prompt-All-In-One by billwuhao, so install once and you get R1, V3, the whole Qwen and Gemini API family, JoyCaption and the audio nodes in the same batch. ComfyUI Manager → search Prompt-All-In-One, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/billwuhao/ComfyUI_Prompt-All-In-One.git
    cd ComfyUI_Prompt-All-In-One
    pip install -r requirements.txt
    

    Restart and look under 🎤MW/MW-Prompt-All-In-One.

    Where people get burned

    Same key dance as the rest of the pack: set DEEPSEEK_API_KEY in the environment (Windows needs a restart to see new env vars) or paste into the field - one of the two, not neither. If output comes back with chat scaffolding ("Here is your enhanced prompt:") despite a system prompt, that's the model being chatty, and it's exactly the failure mode llm-in-comfyui.md warns about: dirty output bleeds straight into your conditioning. Keep the system_prompt strict about returning only the prompt and you'll be fine. And remember the seed won't reproduce results - re-run with the same seed and you'll still get a different sentence.

    It's not flashy, but for routine prompt enhancement this is the node in the pack I'd actually leave in a default workflow: cheap, fast, no reasoning overhead, no local model to babysit.

    Category🎤MW/MW-Prompt-All-In-One

    Inputs (5)

    NameTypeDefaultDescription
    api_keySTRING
    system_promptSTRING
    promptSTRING
    modelCOMBODeepSeek-V31 options: DeepSeek-V3
    seedINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    textSTRING