Nodes/ControlFoley Official/ControlFoley Advanced Generate
ComfyUI Node

ControlFoley Advanced Generate

Same generator, but with an on/off switch and a status line

By YJX-Research·Created 2 months ago·Updated 2 months ago· 6
ControlFoley Advanced Generate
  • controlfoley_model
  • video
  • video_input
  • images
  • audio
  • sample_rate
  • inference_time_sec
  • peak_vram_gb
  • status
prompt
negative_prompt
duration10.0
seed42
num_inference_stepsfixed
guidance_scale4.5
mask_away_clipfalse
cache_video_featurestrue
staged_offloadtrue
clip_batch_size_multiplier40
sync_batch_size_multiplier40
enabledtrue
silent_audio_on_errorfalse
reference_audio_path
image_fps24

ControlFoley Advanced Generate is the same generation engine as the plain ControlFoley Generate - identical inputs, identical mode mapping, identical flow-matching guts - with three additions bolted on for people building reusable chains: an enabled switch, a silent_audio_on_error fail-safe, and a status string output. If you're just trying to make one clip sound right, use the regular node. If you're building a workflow you intend to run a hundred times, this is the one.

What the three extras actually do

  • enabled - flip it off and the node skips generation entirely and returns a correctly-sized silent audio buffer instead of running the model. That's enormously useful when you're iterating: you can mute a branch of the graph without deleting nodes and rewiring, which keeps the rest of the pipeline alive while you work on something else.
  • silent_audio_on_error - by default a failed generation throws and fails the run, the normal ComfyUI behavior. Turn this on and an error inside the generator gets swallowed and replaced with silence plus a status string that tells you what failed. Great for long unattended batch runs where one bad clip shouldn't kill the queue.
  • status - a fifth output (STRING) that reports what happened: "Generation completed successfully.", "Generation disabled; returned silence.", or, in silent-error mode, the exception message. Wire it into a text display or just glance at it in the UI.

Everything else matches ControlFoley Generate: connect video / video_input / images (one of the three) to pick V2A, TV2A/TC-V2A, AC-V2A, or pure T2A; reference_audio_path for the audio-controlled mode; num_inference_steps is the string fixed (25) or an integer 1–100; guidance_scale defaults to 4.5. The same caveats apply - staged_offload defaults to true but is ignored with a console note on the public upstream source, and the first run downloads roughly 16GB of weights. (The low_vram flag, set on the Model Loader rather than here, is a text-only path; this node hard-errors if a video or reference audio is connected while it's on.)

Where it fits in the chain

The intended shape (see the bundled 06_advanced_chain.json example) is the full pipeline: Dependencies Loader → Model Loader → optionally Torch Compile → this node → Save Audio. Because the advanced generator carries its own status, it's the natural final consumer in a chain you want to monitor or auto-batch. It also shares the exact same generate_audio implementation as the base node - the source literally calls into it - so output quality is byte-identical; you're paying for the controls, not a different model.

Outputs

audio (AUDIO) goes to Save ControlFoley Audio or the Video-Audio Muxer; sample_rate (INT), inference_time_sec and peak_vram_gb (FLOATs) are your instrumentation; status is the new conversation partner. Install the pack via ComfyUI Manager ("ControlFoley Official") or by cloning YJX-Research/comfyui-controlfoley-official into custom_nodes and running pip install -r requirements.txt - install only missing packages one at a time, since that requirements file holds version ranges that can upgrade shared deps like transformers or numpy out from under your existing ComfyUI.

CategoryControlFoley

Inputs (19)

NameTypeDefaultDescription
controlfoley_modelCONTROLFOLEY_MODEL
promptSTRING
negative_promptSTRING
durationFLOAT10.00.7–30Text-only generation uses 10s by default. Video generation follows input length up to 30s.
seedINT420–4294967295
num_inference_stepsSTRINGfixedUse 'fixed' to keep the default step setting, or enter an integer from 1 to 100.
guidance_scaleFLOAT4.50–20
mask_away_clipBOOLEANfalse
cache_video_featuresBOOLEANtrue
staged_offloadBOOLEANtrueMove encoders to CPU during sampling when the ControlFoley source supports it. The public upstream source does not implement this; the option is then ignored and a console note is printed.
clip_batch_size_multiplierSTRING40Integer 1-80. Frames per CLIP encoder call = batch size * multiplier. Use 4-8 on low-VRAM GPUs.
sync_batch_size_multiplierSTRING40Integer 1-80. Frames per Synchformer encoder call = batch size * multiplier. Use 4-8 on low-VRAM GPUs.
enabledBOOLEANtrue
silent_audio_on_errorBOOLEANfalse
reference_audio_pathSTRING
image_fpsFLOAT241–120Frame rate used when the optional IMAGE input is connected.
videooptCONTROLFOLEY_VIDEO
video_inputoptVIDEO
imagesoptIMAGE

Outputs (5)

NameTypeDescription
audioAUDIO
sample_rateINT
inference_time_secFLOAT
peak_vram_gbFLOAT
statusSTRING