Fossiel Central Control v2
Central Control v2
- image
- Man_Res_Width
- Man_Res_Height
- Calc_Res_Width
- Calc_Res_Height
- Vid_Length
- Vid_Duration
- Overlap
- Overlap_Duration
- Start_Index
- Start_Time
- End_Index
- End_Time
- Frame_Rate
- Gen_Num
- batch_count
- File_Name
- steps
- KSampler_1_End_Step
- KSampler_2_Start_Step
- cfg
- Sampler
- Scheduler
- First_Gen_Batch_Switch
Every serious ComfyUI workflow eventually collapses under its own settings. You've got resolution here, frame count there, CFG buried in a KSampler, and a filename convention you can't remember. This node is the antidote: one hub that owns your resolution, video timing, sampling, and file naming for multi-clip video projects - and hands every value out on named outputs you wire into the rest of your graph.
It's the flagship of the Fossiel QoL pack, and the "v2" matters - it's a substantially expanded rewrite of the original Central Control with timing, sampling, and naming built in.
What it does
Central Control v2 is built around the multi-clip video workflow: you generate clip 1, then clip 2 starting a few overlapping frames into clip 1, and so on, to extend a sequence. Doing that by hand means recomputing frame indices, resolutions, and filenames every run. This node computes all of it from a handful of settings:
- Resolution. It keeps a manual width/height (pass-through) and a calculated resolution that matches your target aspect ratio, snaps to a multiple of
Aspect_Tolerance(2/4/8/16/32/64 - lower is closer to your aspect, higher is friendlier to VAE math), and stays inside your maximum pixel budget. Feed it an optional image and its dimensions take over, and the batch size lands on thebatch_countoutput. If the math ever bottoms out it defaults to 64×64 rather than erroring. - Video timing.
Video_Lengthsnaps to 1 or 4k+1 frames (81 stays 81; 80 becomes 81). From length, overlap, frame rate, andCurrent_Generationit derivesStart_Index/End_Indexand their timings in seconds (Start_Time,End_Time,Vid_Duration,Overlap_Duration).First_Gen_Batch_Switchfires true only on generation 1, so you can treat the opening clip differently. - Sampling.
stepssnaps to an even number and, withDual_sampler_split_methodandStep_split_ratio, splits intoKSampler_1_End_StepandKSampler_2_Start_Step- for those two-pass or dual-KSampler setups.cfg,Sampler, andSchedulerpass through cleanly. - Naming.
Project_Name,Scene_Name, an optionalCurrent Gensuffix, and aDelimitercombine into a cleanFile_Name(empty parts skipped, no double underscores) with the clip number onGen_Num.
That's 23 named outputs, every one of them a plain value you can drop into an Empty Latent, a KSampler, a text box, or a save node.
Installing it
Manager search "ComfyUI-Fossiel-QoL-Nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Fossiel/ComfyUI-Fossiel-QoL-Nodes
pip install -r ComfyUI-Fossiel-QoL-Nodes/requirements.txt
Restart and find it under Fossiel/QoL. No model downloads; it's pure calculation.
The honest take
This node is genuinely good for the thing it's built for, and overkill for everything else. If you're a still-image person, the resolution math alone isn't worth the 21 other outputs. If you're doing long video projects - especially anything with overlapping context frames - it will replace a small constellation of primitives and make your filename mess disappear. It's a "personal use" node, which means it was tuned for the author's workflows: the 301-frame cap and 4k+1 snapping fit the video-model conventions of 2025–26, so don't fight the defaults until you've run a clip with them. Start with Lite if v2 feels like a cockpit; come back to this when you want the whole thing.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| Manual_Resolution_Width | INT | 51264–4096 | — |
| Manual_Resolution_Height | INT | 51264–4096 | — |
| Aspect_Tolerance | COMBO | 4 | Divisor for snapping resolution to multiples (lower = closer aspect, higher = VAE compatibility |
| Target_Resolution_Width | INT | 5121–4096 | — |
| Target_Resolution_Height | INT | 5121–4096 | — |
| Max_Resolution_Width | INT | 51264–4096 | — |
| Max_Resolution_Height | INT | 51264–4096 | — |
| Video_Length | INT | 811–301 | — |
| Overlap_Length | INT | 80–80 | — |
| Frame_Rate | FLOAT | 16.001–200 | — |
| steps | INT | 42–100 | — |
| Dual_sampler_split_method | COMBO | Repeat_last_step | 2 options: Repeat_last_step, Next_step |
| Step_split_ratio | FLOAT | 0.500–1 | — |
| cfg | FLOAT | 1.01–20 | — |
| Sampler | COMBO | euler | The sampling algorithm to use for generation |
| Scheduler | COMBO | simple | The scheduler algorithm to control sampling step distribution |
| Naming_Suffix | COMBO | None | 2 options: None, Current Gen |
| Project_Name | STRING | — | |
| Scene_Name | STRING | — | |
| Delimiter | STRING | _ | — |
| Current_Generation | INT | 11–100 | — |
| imageopt | IMAGE | — |
Outputs (23)
| Name | Type | Description |
|---|---|---|
| Man_Res_Width | INT | — |
| Man_Res_Height | INT | — |
| Calc_Res_Width | INT | — |
| Calc_Res_Height | INT | — |
| Vid_Length | INT | — |
| Vid_Duration | FLOAT | — |
| Overlap | INT | — |
| Overlap_Duration | FLOAT | — |
| Start_Index | INT | — |
| Start_Time | FLOAT | — |
| End_Index | INT | — |
| End_Time | FLOAT | — |
| Frame_Rate | FLOAT | — |
| Gen_Num | INT | — |
| batch_count | INT | — |
| File_Name | STRING | — |
| steps | INT | — |
| KSampler_1_End_Step | INT | — |
| KSampler_2_Start_Step | INT | — |
| cfg | FLOAT | — |
| Sampler | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |
| Scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |
| First_Gen_Batch_Switch | BOOLEAN | — |