BYOKey Vidu Image to Video
Vidu i2v with your own key — one frame in, five seconds of motion out
- image
- output
Vidu is the Chinese video API that flies under most people's radar, and its image-to-video is about as minimal as this pack gets. You give it one image, optionally a prompt, and it animates the frame into a five-second clip on the viduq1 model. No resolution menus to argue with (it's 1080p, full stop), no duration picker (five seconds, also full stop). The whole design is "feed it a frame and go."
That minimalism is the appeal. When you want a fast, predictable i2v pass over a batch of images - turn a few stills into preview clips - this is the least fiddly door in the pack.
How it works. Same submit-then-poll pattern as every video node here. POST to api.vidu.com/ent/v2 (the default base_url, overridable for a relay) with your Vidu key, with the image sent as an inline base64 data URI and the optional prompt alongside it. Poll every poll_interval seconds until the clip is done, download the mp4, and wrap it in ComfyUI's native VIDEO type.
The inputs that matter:
image- required. The start frame of the video. Wire in anything with anIMAGEoutput.prompt- optional, but worth writing anyway: a sentence about the motion ("she looks up slowly", "camera drifts right") does a lot more than a scene description, since the scene is already in the frame.movement_amplitude-auto,small,medium, orlarge. This is Vidu's distinctive knob: how much motion happens in the frame. Small for subtle, moody life; large for dramatic movement.autolets the model decide.duration- fixed at 5, with min and max both set to 5. It's not a bug, it's the current model contract; don't go hunting for a longer option.seed- 0 for random; Vidu honors it if you set one.resolution-1080p, also the only choice. Supported values may vary by model and duration, the tooltip warns, but today there's one.poll_interval/max_wait- the usual babysitters; the 10-minute cap is generous for a 5-second clip.
Output: one output (VIDEO) socket, into your usual video preview/save node.
Install. Shared pack, one clone:
cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; it's under api/byokey/video
No model downloads, no extra dependencies beyond ComfyUI's bundled torch, aiohttp, PIL, numpy and av.
Gotchas. The fixed 5-second duration catches people who expected a range - it's the API, not the node, and it'll change when Vidu's model does. And the pack is young with no community footprint, so the standing rule applies: skim the source before feeding it a key.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| base_url | STRING | https://api.vidu.com/ent/v2 | — |
| model | COMBO | viduq1 | 1 options: viduq1 |
| image | IMAGE | An image to be used as the start frame of the generated video | |
| promptopt | STRING | A textual description for video generation | |
| durationopt | INT | 55–5 | Duration of the output video in seconds (fixed at 5) |
| seedopt | INT | 00–2147483647 | Seed for video generation (0 for random) |
| resolutionopt | COMBO | 1080p | Supported values may vary by model & duration |
| movement_amplitudeopt | COMBO | auto | The movement amplitude of objects in the frame |
| poll_intervalopt | INT | 51–60 | — |
| max_waitopt | INT | 60030–3600 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | VIDEO | — |