Nodes/zhangp365/ComfyUI-utils-nodes/FAL Fun Control Video Request
ComfyUI Node

FAL Fun Control Video Request

FAL Fun Control Video Request

By zhangp365·Created 2 years ago·Updated 5 months ago· 135
FAL Fun Control Video Request
  • ref_image
  • video
  • width
  • height
  • fps
  • url
prompt
video_name
modelfal-ai/wan-fun-control
api_key
negative_prompt
num_inference_steps27
guidance_scale6.0
shift5.0
seed0
match_input_num_framestrue
num_frames81
match_input_fpstrue
fps16
preprocess_videofalse
preprocess_typedepth
timeout300

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:

  • timeout defaults 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_type wrong 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.
Categoryutils/video

Inputs (17)

NameTypeDefaultDescription
promptSTRING视频生成提示词
video_nameSTRING输入视频文件名(位于input目录)
modelSTRINGfal-ai/wan-fun-controlFAL模型名称
api_keyoptSTRINGFAL API密钥
negative_promptoptSTRING负面提示词
num_inference_stepsoptINT271–100推理步数
guidance_scaleoptFLOAT6.01–20引导强度
shiftoptFLOAT5.00–10偏移参数
seedoptINT00–18446744073709550000随机种子
match_input_num_framesoptBOOLEANtrue匹配输入视频帧数
num_framesoptINT811–1000生成帧数
match_input_fpsoptBOOLEANtrue匹配输入视频帧率
fpsoptINT161–60视频帧率
preprocess_videooptBOOLEANfalse预处理视频
preprocess_typeoptCOMBOdepth预处理类型
ref_imageoptIMAGE参考图像
timeoutoptINT3001–3000超时时间(秒)

Outputs (5)

NameTypeDescription
videoVIDEO
widthINT
heightINT
fpsFLOAT
urlSTRING