LLM StreamResponse Node (Old)
The legacy streaming LLM node — it works, but the pack moved on
- LLM ANSWERS
- seed
- model
- api_url
- api_key
The display name says it all: LLM StreamResponse Node (Old). This is the predecessor node in the BillBum pack - the streaming chat-LLM wrapper from before the pack settled on its current design. It still works, it's still exported, and if you've got an old workflow that references it, it'll keep running. But if you're starting fresh, the pack's current streaming node ("API Node for Stream Response LLMs") is the better pick. Knowing what this one does helps you understand both.
The interesting default here is the target: it points at DashScope - Alibaba's https://dashscope.aliyuncs.com/compatible-mode/v1 - with qwq-32b as the model. qwq is Qwen's reasoning model, which is why there's an enable_thinking toggle. This node's DNA is the Chinese-ecosystem API scene (DashScope, Doubao, tu-zi), which is a running theme in the pack.
How it works
It builds an OpenAI client from api_url/api_key and calls chat.completions.create() with stream=True. As the stream arrives it accumulates the delta.content from each chunk into one big string. Two implementation details worth knowing:
temperatureof exactly 0.0 is treated as "don't send temperature at all" - the default. Anything above 0 gets sent to the API. So if you set it to 0 expecting literal zero-temperature output, the API just uses its own default instead. Minor, but it explains some "why is my output different" confusion.enable_thinkingis sent viaextra_body- a DashScope/Qwen-style extension that makes reasoning models emit (or suppress) their<think>reasoning. It's passed through as a raw boolean.
The inputs and outputs that matter
- prompt (multiline) - your request.
- system_prompt (multiline) - system instructions.
- model -
qwq-32bdefault. - temperature - 0 to 2, step 0.05.
- enable_thinking - boolean, on/off for reasoning output.
- seed - a huge range, seeds the Python RNG for request ordering.
- api_url / api_key - DashScope-compatible by default; any OpenAI-compatible chat endpoint works.
Per the schema, outputs are LLM ANSWERS (STRING - the assembled stream), plus seed, model, api_url, and api_key echoed back as STRING/INT so downstream nodes can log or reuse them. In practice the thing you wire onward is LLM ANSWERS.
Installing it
Same pack as everything else. ComfyUI Manager → search "billbum" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes.git
cd ComfyUI_BillBum_APIset_Nodes
pip install -r requirements.txt
Restart ComfyUI. Deps are the usual API stack (openai, requests, tenacity, tiktoken).
Common issues
- The default endpoint needs a DashScope key. The
api_urlis preloaded with Alibaba's compatible-mode endpoint; unless you swap it (or the key), you're talking to a service you may not be registered with. Any OpenAI-compatible chat API works - that's the whole point of the node. enable_thinkingisn't universal. It's a DashScope/Qwen extension. Against plain OpenAI or other providers, the extra body field is ignored - no error, just ignored.- It's marked Old for a reason. The pack's newer streaming node adds vision input (images in the chat), a
system_promptthat's properly optional, and theenable_thinkingcombo that lets you passnoneinstead of forcing the field. This node predates all of that. Migration is trivial - same inputs minus the extras.
If a downloaded workflow drags this node in, it'll run fine. If you're building new, use the current one and only fall back here when a shared workflow demands it.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| seed | INT | 00–18446744073709550000 | — |
| model | STRING | qwq-32b | — |
| api_url | STRING | https://dashscope.aliyuncs.com/compatible-mode/v1 | — |
| api_key | STRING | YOUR_API_KEY_HERE | — |
| temperature | FLOAT | 0.000–2 | — |
| enable_thinking | BOOLEAN | false | — |
| system_prompt | STRING | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| LLM ANSWERS | STRING | — |
| seed | INT | — |
| model | STRING | — |
| api_url | STRING | — |
| api_key | STRING | — |