- output
- model
- total_credits_used
An LLM inside a ComfyUI graph is one of the most useful things you can bolt onto a workflow - the KB's LLM essay calls the pattern mainstream, not fringe - and DeepGen_T2T0 is the DeepGen pack's version of it. It's a text-in, text-out node that calls a frontier language model in the cloud: Claude Opus 4.6 and Sonnet 4.6, GPT-5.4, Gemini 3 Pro and Flash, Grok 4.20, Gemini 3.1 Flash Lite. You write a prompt, the model answers, and the reply drops out as a string you can feed anywhere. No local VRAM, no Ollama setup, no weight downloads - just a key and a credit balance.
Why you'd reach for it
The killer use case is prompt enhancement. Type a rough idea, have the LLM turn it into a detailed, model-appropriate prompt, and feed the result into DeepGen_T2I0 or a video generator. That's the "translation between two things that speak the same language" pattern the KB describes - a language model writing the instruction another language model's encoder will read. It's also handy as a general purpose text node in your graph: generate variations of a seed concept, format captions, act as a workflow brain that rewrites a prompt based on other strings you feed it.
The tradeoff versus running a local model: a frontier API writes better English than an 8B Llama, but it's censored, metered, and sends your text off-box. If you need an uncensored, free, offline worker, the local-LLM route is where the community's abliterated-model discussion lives. This node is the convenient cloud option, and for workflow glue that's often exactly what you want.
The inputs
model- dropdown of the LLM set. The pack filters it from its model list at startup. Picking Gemini 3 Flash or Flash Lite is the budget move for simple rewrites; Opus or Grok Reasoning for heavy lifting.prompt- the actual task. Multiline, so you can paste in a full instruction or a chunk of context.seed_value- default 1000, passed through to the API for reproducible-ish output (within whatever the model's temperature settings do).config_json- the escape hatch for parameters the node doesn't expose (likenum_inference_steps, mapped to the API'ssteps). Leave empty unless you need it.
The outputs
output(STRING) - the model's answer. Wire it into a prompt input of another DeepGen node, a text save node, or a display.model(STRING) - the alias of the model that actually answered, so you can log which one produced the text.total_credits_used(FLOAT) - feed intoDeepGen_F2T0to see the cost.
Install and key
Same pack, same routine:
cd ComfyUI/custom_nodes
git clone https://github.com/deepiksdev/ComfyUI-DeepGen-API.git
cd ComfyUI-DeepGen-API
pip install -r requirements.txt
Restart, then add your DeepGen API key (from deepgen.app) in Settings → "DeepGen API Key", stored at ComfyUI/user/deepgen/config.json. Only requests and opencv-python are installed.
Gotchas
Watch the prompt hygiene: if you ask a chat model for "a prompt" it will often hand back conversational scaffolding - "Here is your enhanced prompt:" - which you do not want bleeding into a T2I prompt. Ask for a bare prompt explicitly, or add a cleanup node. And the usual pack notes apply: no key means "DeepGen API Key not found," and every call spends credits, so an auto-refresh loop of LLM calls is a quiet way to drain a balance. If you see the old name DeepGen_T2T in a legacy workflow, that's the deprecated spelling of this same node.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 7 options: Gemini 3 Pro Preview (gemini-3.1-pro), Claude Opus 4.6 (claude-opus-4-6), Claude Sonnet 4.6 (claude-sonnet-4-6), GPT-5.4 (gpt-5.4), Grok 4.20 Beta 0309 (Reasoning) (grok-4-20), Gemini 3 Flash (gemini-3-flash), +1 | |
| prompt | STRING | — | |
| seed_value | INT | 1000 | — |
| config_json | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| output | STRING | — |
| model | STRING | — |
| total_credits_used | FLOAT | — |