Wan VACE Video Edit (fal)
Prompt-driven video editing with Wan VACE
- video
- images
- video_url
VACE is Alibaba's official control framework for Wan - the piece that turns Wan from a "generate a clip" model into a controllable one: reference-to-video, video extension, and video editing all live under it. This node is the video edit path: hand it a clip and a prompt, optionally some reference images, and it re-renders the video to match your instruction. It runs on fal.ai, which is handy because VACE is notoriously slow to run locally without a speed LoRA.
Cloud call, per-clip billing, no local GPU. VACE is open (Apache 2.0, part of the Wan family), but running the 14B version at reasonable speed is a real machine - fal takes that on.
How it works
You give it a source video and a text prompt describing the edit, and VACE regenerates the clip guided by both. Optionally you also feed reference images to steer the look. It's the video equivalent of prompt-driven image editing: keep the motion and structure of the original while changing what the prompt tells it to change. The video_type switch (auto/general/human) hints whether the footage is people-focused, which helps VACE apply the right handling.
The inputs and outputs that matter
prompt(required, multiline) - describe the edit you want.- the source video - as a
videosocket orinput_video_urlstring. images(optional, IMAGE) - reference image(s) to guide the edited look.video_type-auto(default),general, orhuman. Sethumanfor people-centric footage ifautomisreads it.resolution-auto(default) through240p…1080p.automatches the source; pin it if you need a specific output size.
Performance and framing knobs, safe at defaults: acceleration (regular default, plus low/none/default - trades speed for quality), enable_auto_downsample with auto_downsample_min_fps (default 15) to keep long/high-fps clips manageable, aspect_ratio (auto/16:9/9:16/1:1), enable_safety_checker, and variations (1–10).
Output is video_url (a list - one URL per variation) on fal. Download with Fal Save Media from URL or chain via *_direct_url. Save before the URLs expire.
How to install it
From gokayfem's ComfyUI-fal-API pack. ComfyUI Manager: search ComfyUI-fal-API, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
pip install -r ComfyUI-fal-API/requirements.txt
Add your fal key (copy config.ini.example → config.ini, paste from fal.ai/dashboard/keys, or export FAL_KEY=your_key), restart.
Common issues & troubleshooting
The edit changed too much / lost the original. VACE regenerates guided by your prompt, so an aggressive prompt drifts far from the source. Describe only what should change, and consider feeding a reference image to anchor the look you want preserved.
People in the footage look off. Set video_type to human if auto didn't pick it up - the human path handles bodies and faces differently.
It's slow or expensive on a long clip. Leave enable_auto_downsample on so high-fps/long footage gets normalized, and consider a lower acceleration setting only when you specifically need the extra quality. Test on a short segment before committing a long render.
Output won't preview. It's a URL (or list of URLs) - download via Fal Save Media from URL first.
Insufficient funds / credit lag. fal is pay-per-call and legit; top-ups have occasionally posted late. Wait for credits rather than repaying. fal errors print as text in ComfyUI.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| videoopt | VIDEO | — | |
| input_video_urlopt | STRING | — | |
| imagesopt | IMAGE | — | |
| video_typeopt | COMBO | auto | 3 options: auto, general, human |
| resolutionopt | COMBO | auto | 7 options: auto, 240p, 360p, 480p, 580p, 720p, +1 |
| accelerationopt | COMBO | regular | 4 options: regular, low, none, default |
| enable_auto_downsampleopt | BOOLEAN | true | — |
| aspect_ratioopt | COMBO | auto | 4 options: auto, 16:9, 9:16, 1:1 |
| auto_downsample_min_fpsopt | INT | 151–60 | — |
| enable_safety_checkeropt | BOOLEAN | true | — |
| variationsopt | INT | 11–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |