Generate Video (from Text)
Every big closed video model in one dropdown, no VRAM required
- VIDEO
- output_prefix_and_model
- total_credits_used
The short version
DeepGen_T2V0 is the text-to-video node in deepiksdev's ComfyUI-DeepGen-API pack, and it's the node the whole pack is built around. One dropdown, and you're calling Kling 3.0, Veo 3.1, Seedance 1.5, LTX-2.3, Grok Imagine Video, Vidu Q3 Pro - or any of the other fifteen models in the list - from inside a normal ComfyUI graph, with zero checkpoints on your disk and zero VRAM spent.
That's not marketing hype, it's just what an API wrapper is. This node doesn't run a model. Your prompt goes to api.deepgen.app, the job runs on DeepGen's servers, and a finished mp4 comes back and drops into your workflow as a VIDEO. Which is exactly the right trade for the models in that list - Veo and Kling have no open weights, so "local" was never an option for them. The community's line, and it's a fair one, is that cloud nodes like this are the right tool for a model you can't download, and the wrong default for one you can.
How it works
Under the hood it's a plain HTTP client. The node POSTs your prompt and settings to {base_url}/{model}/api with your key as a Bearer token. Video jobs are async: the API returns a queue_id, and the node polls GET /users/{user_id}/agents/{alias}/turns/{queue_id} every 15 seconds until the clip is done, then downloads the mp4 into ComfyUI's temp folder and wraps it as the pack's custom VIDEO type.
So when a job sits in "queued" for a couple of minutes, that's not a hang - a 15-second Kling clip at high resolution genuinely takes a while, and the node is just waiting politely. Don't kill the workflow over it.
The inputs that matter
- model - 15 choices, populated from the pack's
models.csv: Kling 3.0 / 3.0 Pro / 2.6 / 1.0, Veo 3.1 and Veo 3.1 Fast, Seedance 1.5 Pro, LTX-2.3 Fast and Pro, Grok Imagine Video, Vidu Q3 Pro, plus a few more. The two LTX-2.3 entries are the ones with open-weight cousins you could run locally - everything else is genuinely cloud-only. - prompt - the text you're turning into video.
- seed_value - 1000 by default. Reproducibility with a closed cloud model is best-effort; don't build anything that depends on identical frames across runs.
- nb_results - 1 to 10. Here's the gotcha: it does generate that many variations, but only the first one comes back through the VIDEO socket. The rest still burn credits. Keep it at 1 unless you deliberately want a lottery.
- output_prefix - prepends to the model name in the second output, handy for naming saved files.
- config_json - free-form JSON merged into the API request, for model-specific parameters the dropdown doesn't expose. Blank is fine.
- Optional: duration (1–15, but each model has its own supported set - Kling runs 3–15s, Veo only 4/6/8s, LTX 6/8/10s, Grok 1–10s), aspect_ratio and resolution (leave blank for auto; Veo and LTX take 16:9 or 9:16), and generate_audio (on by default - Veo's native audio is one of the few genuinely cloud-only wins in this whole category).
The outputs
VIDEO - the mp4 in ComfyUI's temp folder; display it or feed it into another DeepGen node. output_prefix_and_model - a STRING like prefix_kling-3-0-pro, good for naming. total_credits_used - a FLOAT, your cost meter. Watch it; video is where a cloud session gets expensive fast.
Install and key
ComfyUI Manager → search "ComfyUI-DeepGen-API" → Install, or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/deepiksdev/ComfyUI-DeepGen-API.git
cd ComfyUI-DeepGen-API
pip install -r requirements.txt
requirements.txt is just requests and opencv-python - no model downloads, because the models live on DeepGen's servers. Then hit the Settings gear, find "DeepGen API Key", and paste the key from deepgen.app. It's saved to ComfyUI/user/deepgen/config.json (you can also create that file by hand).
Where people get burned
Missing key is the number one error - you'll get "DEEPGEN_API_KEY is missing" until it's in Settings or the config file. The queued wait trips people up, as does nb_results returning a single clip. And remember the closed-model package deal: your prompt leaves the machine, content filters apply at the source and can't be patched, and every call costs credits.
One honest note to close on: this pack is small and lightly known, and an API node is exactly the shape of thing that has been abused in this ecosystem before - a node whose whole job is to phone home with your key is the one place a malicious phone-home doesn't look wrong. Before you paste a paid key into any registry pack, skim the source. It's open and short, and "read before first run" is the right default for the entire category.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 15 options: Kling 2.5 Turbo Pro (kling-2.5-turbo-pro), Kling 3.0 (kling-3), Kling 3.0 Omni Pro (kling-o3-pro), Grok Imagine Video (grok-imagine-video), Veo 3.1 Fast (veo-3-1-fast), Kling 2.6 Pro (January) (kling-2-6-pro-january-no-audio), +9 | |
| prompt | STRING | — | |
| seed_value | INT | 1000 | — |
| nb_results | INT | 11–10 | — |
| output_prefix | STRING | — | |
| config_json | STRING | — | |
| aspect_ratioopt | STRING | — | |
| resolutionopt | STRING | — | |
| durationopt | INT | 51–15 | — |
| generate_audioopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |
| output_prefix_and_model | STRING | — |
| total_credits_used | FLOAT | — |