DeepSeek Chat
DeepSeek Chat, no API key required — it drives the free website, not the paid API
- response
- conversation_id
The pitch, in one line: DeepSeek's paid API is metered, but the free chat at chat.deepseek.com is not - and this node automates the free chat instead of calling the API. No key, no credits, no billing page. You log into your ordinary DeepSeek account once, in a browser, and from then on "DeepSeek Chat" behaves like any text node in your graph: prompt in, answer out.
That's the appeal, and it's also the entire risk profile. You are running unofficial automation against a consumer web app. DeepSeek can change a class name, a rate limit, or a terms page and your prompt node quietly stops working - the same brittleness the whole "free web client as API" family shares. The KB's llm-in-comfyui.md lays out the sturdier alternatives (local GGUF via Ollama, official API nodes). Reach for this one when you specifically want DeepSeek's frontier chat quality at zero cost inside a ComfyUI workflow - say, a genuinely smart prompt-rewriter upstream of your sampler, or a text generator wired into your graph.
How it works
On first startup, the pack clones sums001/Deepseek-API into custom_nodes/ComfyUI_Dados_Nodes/deepseek_api/ and installs a Playwright Chromium build. That project turns your DeepSeek web session into a Python client: you authenticate once, the session is saved and auto-refreshed, and each client.chat(...) call drives the website under the hood. The node is a thin wrapper around that client.
The one-time login is a manual step the pack can't do for you:
cd ComfyUI/custom_nodes/ComfyUI_Dados_Nodes/deepseek_api
python -m deepseek.auth
That opens a browser for you to sign in to your DeepSeek account. If you skip it, the startup script prints a "DeepSeek session not found" warning and the node will fail when it runs.
Inputs and outputs that matter
- prompt - your message.
- model -
deepseek-chatordeepseek-reasoner, and here's the subtlety from the tooltip: the model is only used on the first turn. Once a conversation has an ID, the model is whatever the conversation already is. - thinking - DeepThink reasoning mode on. Expect slower answers; reasoning models deliberate.
- search - toggles web search.
- conversation_id - leave it empty for a fresh chat; feed the output back in to continue.
Outputs are response (the full reply - wire it into text/CLIP conditioning or a display node) and conversation_id, which is the one you must not ignore if you want multi-turn: pass it straight back into the conversation_id input and the next run continues the thread instead of starting over.
Installing
Same pack either way:
cd ComfyUI/custom_nodes
git clone https://github.com/dadoirie/ComfyUI_Dados_Nodes.git
cd ComfyUI_Dados_Nodes
pip install -r requirements.txt
(or ComfyUI Manager → search "Dados Nodes", then restart.) First startup does the Deepseek-API clone and the Playwright Chromium download automatically - which is worth knowing as a heads-up rather than a surprise, because installing this pack is not passive. Its startup script goes out and clones external repos and pip-installs things. That's normal for hobby packs of this era, but the KB's security section makes the point better than I can: read what a pack does before its first run, and this pack does stuff.
Where people get burned
- Session not found - you never ran
python -m deepseek.auth, or the saved session expired. Re-run it. - Login wall / human-check prompts - the underlying project handles some of these automatically, but when DeepSeek adds friction, it lands on you.
- Thinking vs. search limits - free web tiers throttle; a busy run can stall mid-stream. Cancel and retry.
- Docs lag - the pack README doesn't even list this node (it's older than the code). You're on the "actively developed, documentation behind" frontier, so don't trust the README's node list as the full inventory.
And the honest verdict: for a zero-dollar frontier LLM sitting inside ComfyUI, this is genuinely neat. For anything you'd be sad to lose, it's a toy. Keep it on the experimental shelf of your workflow, not the production one.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Hello! | Your prompt to send to DeepSeek. |
| conversation_id | STRING | Optional: existing conversation_id to continue a multi‑turn chat. | |
| model | COMBO | deepseek-chat | Model to use (only for first turn, when conversation_id is empty). |
| thinking | BOOLEAN | false | Enable DeepThink reasoning mode. |
| search | BOOLEAN | false | Enable web search. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| response | STRING | The complete response from DeepSeek. |
| conversation_id | STRING | ID for continuing this conversation. |