FAL Fun Control Video Request
FAL Fun Control Video Request
- ref_image
- video
- width
- height
- fps
- url
This node is a thin, purpose-built wrapper around FAL's hosted fal-ai/wan-fun-control endpoint - a control-video model in the Wan family that takes a pose or depth sequence plus a reference frame and generates a video that follows the motion. Think ControlNet, but for video generation running on someone else's GPUs instead of your own: you're not loading weights locally, you're making an API call and getting a finished clip back.
Why this matters right now: Wan 2.2 is the last Wan release Alibaba actually shipped as open weights - 2.5, 2.6 and 2.7 are API-only, and the local ecosystem has settled on Wan 2.2 (plus third-party models built on top of it) as the ceiling for anything you run yourself. A control-conditioned Wan fine-tune like this is exactly the kind of thing that's easier to reach via a hosted endpoint than to run locally - it needs the full video model in memory plus whatever preprocessing generates the pose or depth guide, and FAL is charging you for that GPU time instead of you owning it.
The inputs that matter: prompt describes what you want; video_name points at an input video file already sitting in your ComfyUI input/ directory (not a URL - the file has to be local to your instance first); model defaults to fal-ai/wan-fun-control but is a plain string, so you can point it at any compatible FAL model id. preprocess_video (off by default) and preprocess_type (depth or pose) control whether the node runs the video through a control-map extractor before sending it, versus you handing it an already-processed control video directly - get this wrong and you'll either double-preprocess a video that's already a depth map, or send raw footage to a model expecting a control map. ref_image is your subject reference frame. match_input_num_frames and match_input_fps (both default true) auto-match the output length and frame rate to your source video - turn them off if you want to explicitly set num_frames (default 81) and fps (default 16) yourself. guidance_scale, shift, num_inference_steps, and seed are the standard diffusion knobs FAL exposes for this family of models.
Outputs: video, plus width, height, fps and a url string pointing at the hosted result - useful if you want to grab the file directly rather than routing it through ComfyUI's own video handling.
Install and setup: search "ComfyUI-utils-nodes" in ComfyUI Manager, or git clone https://github.com/zhangp365/ComfyUI-utils-nodes into custom_nodes and restart. This node needs a FAL API key - sign up at fal.ai, generate one under API keys in your account settings, and pass it via the api_key input or a fal_config.yml file so it's not hardcoded into every workflow you export or share.
Where this goes wrong in practice:
timeoutdefaults to 300 seconds. Video generation, especially with control conditioning, routinely runs long - if your clip is getting cut off or erroring before it finishes, this is the first thing to raise, up to the node's 3000-second ceiling.- This is a metered, paid API call every single time the node executes. Iterating on prompts the way you would with a local checkpoint will run up a bill fast - sanity-check your prompt and control input on cheaper settings before running full-length, full-frame-count generations.
- Get
preprocess_video/preprocess_typewrong relative to what your source footage actually is (raw RGB vs. already a pose/depth map) and the model will produce something that doesn't track motion correctly at all, with no error to tell you why - it just silently generates from the wrong conditioning.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | 视频生成提示词 | |
| video_name | STRING | 输入视频文件名(位于input目录) | |
| model | STRING | fal-ai/wan-fun-control | FAL模型名称 |
| api_keyopt | STRING | FAL API密钥 | |
| negative_promptopt | STRING | 负面提示词 | |
| num_inference_stepsopt | INT | 271–100 | 推理步数 |
| guidance_scaleopt | FLOAT | 6.01–20 | 引导强度 |
| shiftopt | FLOAT | 5.00–10 | 偏移参数 |
| seedopt | INT | 00–18446744073709550000 | 随机种子 |
| match_input_num_framesopt | BOOLEAN | true | 匹配输入视频帧数 |
| num_framesopt | INT | 811–1000 | 生成帧数 |
| match_input_fpsopt | BOOLEAN | true | 匹配输入视频帧率 |
| fpsopt | INT | 161–60 | 视频帧率 |
| preprocess_videoopt | BOOLEAN | false | 预处理视频 |
| preprocess_typeopt | COMBO | depth | 预处理类型 |
| ref_imageopt | IMAGE | 参考图像 | |
| timeoutopt | INT | 3001–3000 | 超时时间(秒) |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| width | INT | — |
| height | INT | — |
| fps | FLOAT | — |
| url | STRING | — |