comfyui_vidu_api/文生视频
Turn a prompt into a finished mp4, no GPU required
- video
- 封面链接
- 任务ID
This is the node where "make a video" is the whole job: type a prompt, get an mp4. No starting image, no reference stack, no GPU on your side at all - ViduText2Video sends your text to Vidu (生数科技, the Chinese studio that launched as "the Sora competitor" back in April 2024) and comes back with a finished clip saved to disk.
Before you get excited about the zero-VRAM part, understand what you're actually wiring in. Vidu has no open weights. You cannot download it, quantize it, or run it on your 3090 - this is a call-you-can-never-run-locally situation, not a convenience one. If Wan 2.2 does what you need, run Wan locally and skip this pack entirely. But if you want Vidu's quality - and the community's verdict has been that its Q-series model line is genuinely strong on motion and character expression - this node is the door into it from inside a ComfyUI graph. The API-wrapper pattern this packs sits in is well understood: it's an HTTP client with your key baked in, dressed up to look like a generator node.
How it works. Every node in the pack extends the same base class, and the flow is identical: load your API key from api.json, POST a job to Vidu, poll every 5 seconds until it's done, download the mp4, hand it back to ComfyUI as a VIDEO. Text2Video is the cleanest case because there's no image upload step at all - it just calls the /ent/v2/text2video endpoint with your settings. The node blocks while the cloud renders, so the queue will sit on this node for however long the generation takes (the poller gives up after an hour). That's normal, not a hang.
The inputs that matter. Out of the ten, a beginner sets three and forgets the rest:
- 运行配置 (profile) - this is model plus duration:
viduq1 - 5秒,vidu1.5 - 4秒,vidu1.5 - 8秒. The pack is frozen at Q1/1.5 (more below), and each profile locks the resolution it will accept. - 提示词 - your prompt, in the model's own English. The default is a Chinese astronaut walking in fog, so replace it.
- 宽高比 - 16:9, 9:16, or 1:1. This one sets the frame shape because text-to-video has no image to take it from.
风格 is the one style switch in the whole pack - 通用 (general) or 动漫 (anime). 动态幅度 (auto/small/medium/large) controls how much motion Vidu applies; "auto" is a fine default, crank it up for energetic scenes. 随机种子 is passed to the API, so the same seed and inputs get you in the neighborhood of reproducible, though treat that as "closer," not guaranteed.
Outputs: video (a VIDEO type that ComfyUI's newer builds render via VideoFromFile), 封面链接 (the cover image URL from Vidu), and 任务ID (the API's task id - handy if you need to match a run to a billing line). The mp4 also lands in your output folder using the 输出路径 and 文件名前缀 defaults.
Install. No model downloads, no CUDA, no heavy deps - the whole dependency list is requests, and the entire pack is one Python file you could read in a coffee break.
cd ComfyUI/custom_nodes
git clone https://github.com/josephxie1/comfyui_vidu_api_node
# restart ComfyUI, then drop your key into api.json next to the nodes:
# custom_nodes/comfyui_vidu_api_node/api.json
# { "api_key": "vda_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
You get the key from platform.vidu.cn. ComfyUI Manager also works - search comfyui_vidu_api_node.
Where people get burned. First, the key: no api.json, no node - the base class raises on startup and every node in the pack fails the same way. Second, version: the pack imports from comfy_api.input_impl import VideoFromFile, which needs a recent ComfyUI that ships the new comfy_api backend - on an old install the whole pack fails to load, not just this node. Third, the model line: this pack is a single commit from July 2025, and Vidu has since moved to Q3 - so don't expect your favorite YouTube tutorial's Vidu settings to map cleanly onto the profiles here. And fourth, money: Vidu bills per call, 1080p and longer durations add up fast, and the community has flagged Vidu's credit accounting as opaque - keep an eye on platform.vidu.cn rather than trusting the displayed per-video price. Your prompt also leaves your machine, and Vidu's content filtering applies, so this is the wrong node for anything their moderation would refuse.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| 运行配置 | COMBO | 3 options: viduq1 - 5秒, vidu1.5 - 4秒, vidu1.5 - 8秒 | |
| 提示词 | STRING | 宇航员穿着宇航服在雾中行走,令人印象深刻的全景场面。 | — |
| 风格 | COMBO | 2 options: 通用, 动漫 | |
| 分辨率 | COMBO | 1080p | 3 options: 360p, 720p, 1080p |
| 宽高比 | COMBO | 3 options: 16:9, 9:16, 1:1 | |
| 随机种子 | INT | 00–18446744073709550000 | — |
| 动态幅度 | COMBO | 4 options: 自动, 小, 中, 大 | |
| API地址opt | STRING | https://api.vidu.cn | — |
| 输出路径opt | STRING | output | — |
| 文件名前缀opt | STRING | Vidu_Text2Video | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| 封面链接 | STRING | — |
| 任务ID | STRING | — |