- response
The name is a small lie. This node doesn't contain Oobabooga - it dials out to one. Xycuno Oobabooga is a one-node pack that hands your prompt text to a running text-generation-webui instance (that's the thing people actually mean by "Oobabooga") and brings the language model's completion back as a string you can feed straight into your prompt. No API key, no cloud, nothing leaves your machine.
Why bother? Because local LLMs are genuinely good at this particular job now. Modern image models with LLM text encoders read your prompt as an instruction rather than a bag of tags, so a model like Qwen can write you a clean structured description and the encoder actually understands it. The node's default prompt is an Alpaca-style instruction telling the model to rewrite a short tag list into a description of fifty words or less - swap in your own tags and you've got a prompt-improver running entirely on your hardware.
How it works
The mechanism is refreshingly boring. On execution the node makes one HTTP POST to host + "/v1/completions" - the OpenAI-compatible legacy completions endpoint that text-generation-webui serves when you start it with its API enabled. The body carries your prompt plus max_tokens, temperature, top_p and seed, and the node plucks choices[0].text out of the JSON reply, returning it as a single STRING. There's no chat-format wrapping and no system-prompt handling - you get the raw continuation of whatever you fed in, prompt not included.
The inputs that matter
Only a few of the inputs deserve your attention:
- prompt - the text to complete (multiline). This is the one you'll actually live in. The default is an instruction template with a sample tag list; replace it with your own.
- host - where Oobabooga lives, default
http://127.0.0.1:5000. Leave it unless your instance is elsewhere. - max_tokens (200), temperature (1.0), top_p (0.9) - completion length and how loose the sampling gets. Drop temperature toward 0.7 if the model starts rambling.
- seed - passed through to the backend, and some loaders honor it while others shrug. Don't treat it as ironclad reproducibility.
The single output, response, is a STRING with the model's continuation only. Wire it into anything that takes a string prompt - a CLIP Text Encode, or a text-concat node if you want it appended to a prefix you wrote by hand. And keep the output short. The diffusion encoder's attention is finite, so a punchy fifty words beats four hundred.
Install
This is about as painless as custom nodes get, because there are no real dependencies. The pack ships no requirements.txt - the only import is requests, which ComfyUI already bundles - and there's no model file to download, because the model lives in Oobabooga, not in ComfyUI.
cd ComfyUI/custom_nodes
git clone https://github.com/Xyem/Xycuno-Oobabooga
then restart ComfyUI. ComfyUI Manager may find it if you search "Xycuno Oobabooga"; if it doesn't turn up in the registry, the clone above is the guaranteed route. The author prefers managing it as a git submodule and the README has those commands, but a plain clone is fine for most people.
The heavier lift is the other half: text-generation-webui has to be running and answering on port 5000. Launch it with the API enabled - the --api flag (older builds used --api-openai) - load a model, and the node will find it.
Common issues
- The node errors immediately. Oobabooga isn't answering. Either it isn't running, it's on a different port than your
host, or you launched it without the API flag. The fastest check is to send the same request the node sends:
curl -s -X POST http://127.0.0.1:5000/v1/completions -H "Content-Type: application/json" -d '{"prompt":"hello","max_tokens":5}'
If that returns JSON with a choices array, your backend is fine and the problem is elsewhere.
- The whole workflow stalls. There's no timeout on the request, so if your model is slow and
max_tokensis high, ComfyUI just sits there. Keepmax_tokenssane and don't plan to babysit long generations. - It targets the legacy endpoint.
/v1/completions, not/v1/chat/completions. text-generation-webui still serves it, but this node is written against the older OpenAI surface, so a future backend update could break it. The README's own "initial development, may change substantially" warning applies in spirit - don't build an automation empire on it.
One more thing, and it's the reason I'd reach for this over a cloud-API prompt node: it's localhost-only, and that's genuinely reassuring. The ComfyUI ecosystem's LLM-node horror stories all involve nodes phoning home. This one sends your text nowhere.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| host | STRING | http://127.0.0.1:5000 | — |
| prompt | STRING | Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: Describe an image in the same format as the Input but with similar concepts. Add, remove and substitute elements to make the description be 50 words or less. ### Input: masterpiece, best quality, girl, fennec fox ears, flower field ### Response: | — |
| seed | INT | 00–18446744073709550000 | — |
| max_tokens | INT | 2000–18446744073709550000 | — |
| temperature | FLOAT | 1.000–18446744073709550000 | — |
| top_p | FLOAT | 0.900–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | — |