Nodes/zhangp365/ComfyUI-utils-nodes/FAL Video2Video Request
ComfyUI Node

FAL Video2Video Request

FAL Video2Video Request

By zhangp365·Created 2 years ago·Updated 5 months ago· 135
FAL Video2Video Request
  • ref_image
  • first_frame
  • last_frame
  • video
  • width
  • height
  • fps
  • url
video_name
prompt
modelfal-ai/wan-22-vace-fun-a14b/pose
api_key
negative_promptletterboxing, borders, black bars, bright colors, overexposed, static, blurred details, subtitles, style, artwork, painting, picture, still, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, malformed limbs, fused fingers, still picture, cluttered background, three legs, many people in the background, walking backwards
match_input_num_framestrue
num_frames81
match_input_frames_per_secondtrue
frames_per_second16
seed0
resolutionauto
aspect_ratioauto
num_inference_steps30
guidance_scale5.0
shift5.0
ref_image_urls
enable_safety_checkerfalse
enable_prompt_expansionfalse
preprocesstrue
accelerationregular
video_qualityhigh
video_write_modebalanced
num_interpolated_frames0
temporal_downsample_factor0
enable_auto_downsamplefalse
auto_downsample_min_fps15.0
interpolator_modelfilm
sync_modefalse
timeout300

This is the pack's heaviest video node, and it's built for a specific job: pose-driven motion transfer. Feed it a driving video (a source clip of someone moving) and a reference image (the subject you want performing that motion), and it calls FAL's fal-ai/wan-22-vace-fun-a14b/pose endpoint to generate a new video of your reference subject doing whatever the driving video does. VACE-style motion transfer is one of the more genuinely useful things the Wan ecosystem does well, and this node exposes essentially all of the endpoint's surface area rather than a trimmed-down subset.

The inputs that actually drive the result: video_name points at your driving video, already present in ComfyUI's input/ folder - not a URL. prompt describes the scene/subject; the node ships a long, opinionated default negative_prompt covering the usual video-generation failure modes (extra fingers, deformed limbs, static frames, subtitles, cluttered backgrounds) so you're not starting from a blank negative prompt. ref_image is your subject reference; ref_image_urls is an alternative if your references are already hosted somewhere rather than loaded locally, one URL per line. first_frame and last_frame are separate optional image inputs for pinning the exact start and end of the generated clip, on top of the general ref_image. match_input_num_frames and match_input_frames_per_second (both true by default) auto-derive num_frames (81–241) and frames_per_second from your driving video; turn them off to set those explicitly instead.

Frame-rate and interpolation controls worth knowing about: num_interpolated_frames, temporal_downsample_factor, and enable_auto_downsample let you insert or reduce frames relative to the raw generation - combined with interpolator_model (rife or film, default film) choosing which interpolation algorithm handles the in-between frames, and auto_downsample_min_fps setting the floor enable_auto_downsample won't drop below. This is a lot of surface area for one node - if you're not chasing a specific frame-rate target, leave these at default and only start adjusting once you know exactly what output cadence you need.

Other knobs: preprocess (on by default) runs pose extraction on your driving video automatically; resolution (auto default, plus 240p through 720p) and aspect_ratio (auto default) set output framing; acceleration, video_quality, and video_write_mode are the same speed/quality/file-size trade-offs seen across this pack's other FAL video nodes.

Outputs: video, width, height, fps, url.

Install and setup: search "ComfyUI-utils-nodes" in ComfyUI Manager, or git clone https://github.com/zhangp365/ComfyUI-utils-nodes into custom_nodes, restart. Needs a FAL API key from fal.ai, via api_key or fal_config.yml.

Where this actually breaks:

  • With this many optional inputs, it's easy to leave preprocess on while feeding a driving video that's already a pose-extracted control video - double-preprocessing produces motion that doesn't track correctly. Know what your input video actually is before toggling this.
  • timeout defaults to 300 seconds; this endpoint does more work per call than a plain i2v request (pose extraction plus generation plus optional interpolation), so it's genuinely more likely to need the higher end of the 1–3000 second range than the simpler nodes in this pack.
  • enable_safety_checker defaults to false here too - flip it on deliberately if you need content filtering rather than assuming it's active.
  • With num_interpolated_frames, temporal_downsample_factor, and enable_auto_downsample all touching frame count simultaneously, it's easy to end up with an output frame rate you didn't intend. If your final video's motion looks too smooth or too choppy relative to what you expected, this stack of settings - not the base generation - is the first place to look.
  • This is a metered call on a relatively expensive endpoint given everything it's doing under the hood. Test on a short driving-video clip before running your full-length footage through it.
Categoryutils/video

Inputs (32)

NameTypeDefaultDescription
video_nameSTRING输入视频文件名(位于input目录)
promptSTRING视频描述
modelSTRINGfal-ai/wan-22-vace-fun-a14b/poseFAL模型名称
api_keyoptSTRINGFAL API密钥
negative_promptoptSTRINGletterboxing, borders, black bars, bright colors, overexposed, static, blurred details, subtitles, style, artwork, painting, picture, still, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, malformed limbs, fused fingers, still picture, cluttered background, three legs, many people in the background, walking backwards负面提示词
match_input_num_framesoptBOOLEANtrue匹配输入视频帧数
num_framesoptINT8181–241生成帧数
match_input_frames_per_secondoptBOOLEANtrue匹配输入视频帧率
frames_per_secondoptINT165–30视频帧率
seedoptINT00–18446744073709550000随机种子
resolutionoptCOMBOauto视频分辨率
aspect_ratiooptCOMBOauto宽高比
num_inference_stepsoptINT301–100推理步数
guidance_scaleoptFLOAT5.01–20引导强度
shiftoptFLOAT5.00–10偏移参数
ref_imageoptIMAGE参考图像
ref_image_urlsoptSTRING参考图像URL列表,每行一个
first_frameoptIMAGE首帧图像
last_frameoptIMAGE末帧图像
enable_safety_checkeroptBOOLEANfalse启用安全检查
enable_prompt_expansionoptBOOLEANfalse启用提示扩展
preprocessoptBOOLEANtrue预处理输入视频
accelerationoptCOMBOregular加速模式
video_qualityoptCOMBOhigh视频质量
video_write_modeoptCOMBObalanced视频写入模式
num_interpolated_framesoptINT00–100插值帧数
temporal_downsample_factoroptINT00–10时间下采样因子
enable_auto_downsampleoptBOOLEANfalse启用自动下采样
auto_downsample_min_fpsoptFLOAT15.01–30自动下采样最小帧率
interpolator_modeloptCOMBOfilm插值模型
sync_modeoptBOOLEANfalse同步模式
timeoutoptINT3001–3000超时时间(秒)

Outputs (5)

NameTypeDescription
videoVIDEO
widthINT
heightINT
fpsFLOAT
urlSTRING