Nodes/ComfyUI_Dados_Nodes/DanyAPI Chat (Vision)
ComfyUI Node

DanyAPI Chat (Vision)

Free DeepSeek/Qwen chat with vision in ComfyUI — if you can live with a proxy in the middle

By DadoIrie·Created 2 years ago·Updated 2 days ago· 10
DanyAPI Chat (Vision)
  • image
  • response
  • session_id
  • reasoning
promptDescribe this image.
session_id
modeldeepseek-v4-vision
thinkingfalse
searchfalse
api_basehttp://127.0.0.1:8000/v1

Here's the honest name of this node: it is not a DeepSeek node. It's a proxy node. DanyAPI Chat (Vision) talks to a local OpenAI-compatible server called DanyAPI, and that server - not this node, not you - does the talking to the free web chats at chat.deepseek.com and chat.qwen.ai. You never touch an API key, and nobody bills you per token. The catch is that you've got a moving part between you and the model, and if anything in that chain breaks, the error you see says nothing useful about where.

Why would you reach for it? Because an LLM in your graph is genuinely handy - feeding an image through a vision model to write the prompt for the next sampler, captioning a frame, or just asking questions while you iterate. The ComfyUI ecosystem's preferred pattern is either a local GGUF/Ollama model or an official paid API node (see the KB's llm-in-comfyui.md and external-api-nodes.md for the whole local-vs-API argument). This node is the third path: free consumer web access, smuggled in through a proxy. It's for the tinkerers, not for anyone who needs their prompt pipeline to not break on a Tuesday.

How it works

On first startup the pack clones FANATFANATA/DanyAPI into its own folder, copies a .env.example over to .env, and starts the server with python -m danyapi on 127.0.0.1:8000, health-checking /health. The DanyAPI server holds the provider tokens (DeepSeek/Qwen web accounts) and translates them into an OpenAI-format /v1/chat/completions endpoint. When you run the node it POSTs there with your prompt and any image base64-encoded as a PNG image_url part, streams the answer back over SSE, and returns it.

One quirk worth knowing before it bites you: the pack owns that server process. The node registers an exit handler that kills anything matching python -m danyapi, and the startup script does the same on every boot. Don't try to keep your own DanyAPI instance running independently of this pack.

The inputs that matter

Only a handful are worth touching on day one:

  • prompt - your text (default "Describe this image."). For vision use, wire an image in and tell it what to describe.
  • model - a dropdown of names the proxy advertises (deepseek-v4-flash/pro/vision, several qwen3.x tiers). These are proxy-side model names, passed straight through; they are not something you configure locally.
  • image - optional, and the one genuinely interesting input: multiple images get sent as separate image_url parts. The code even warns that DanyAPI may or may not accept several at once.
  • thinking and search - pass-through toggles for reasoning and (on DeepSeek flash) web search.

The rest you can leave alone. api_base defaults to the local server (http://127.0.0.1:8000/v1) - though since DanyAPI runs a free public instance at https://danyapi.cloudpub.ru/v1/, pointing api_base there is a zero-setup way to test before you configure anything.

Outputs

Three strings: response (wire it into text/CLIP nodes or just display it), session_id (feed it back into the session_id input to continue a multi-turn chat), and reasoning (the model's chain-of-thought when thinking is on - handy if you want to see why it answered).

Installing

ComfyUI Manager → search "Dados Nodes", or:

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

Then restart ComfyUI. The first startup clones DanyAPI and walks you through the .env - the server needs real credentials (something like DEEPSEEK_TOKENS/QWEN_TOKENS in that .env), or the whole chain stays down.

Where people get burned

  • Connection refused or "server not found" - the .env is missing or empty, so the prestartup script refuses to start the server. Check the danyapi/danyapi.log and the danyapi/.env it created.
  • A model in the dropdown errors out - that's the proxy telling you it doesn't serve that name, not a bug in the node. Pick a different tier.
  • Unpredictable behavior after DeepSeek or Qwen updates their web apps - you are automating a consumer website through two layers of unofficial glue. It's free, and free has a maintenance schedule you don't control.

If you want steady, supported LLM-in-ComfyUI, this probably isn't it. If you want frontier chat and vision on a no-budget hobby rig, it's a fun wire-up. Just don't build anything you depend on around it.

CategoryDado's Nodes/LLM

Inputs (7)

NameTypeDefaultDescription
promptSTRINGDescribe this image.Your text prompt.
session_idSTRINGOptional: existing session_id to continue a multi‑turn chat.
modelCOMBOdeepseek-v4-visionModel name. DeepSeek models and various Qwen versions.
thinkingBOOLEANfalseEnable reasoning/thinking.
searchBOOLEANfalseEnable web search (DeepSeek flash only).
api_baseSTRINGhttp://127.0.0.1:8000/v1DanyAPI server URL.
imageoptIMAGEOptional image(s) to include. Multiple images are sent as separate image_url parts.

Outputs (3)

NameTypeDescription
responseSTRING
session_idSTRING
reasoningSTRING