diff --git a/web/docs/CheckpointLoaderNF4MultiGPU.md b/web/docs/CheckpointLoaderNF4MultiGPU.md new file mode 100644 index 0000000..be36d16 --- /dev/null +++ b/web/docs/CheckpointLoaderNF4MultiGPU.md @@ -0,0 +1,15 @@ +# CheckpointLoaderNF4MultiGPU + +`CheckpointLoaderNF4MultiGPU` wraps the NF4 checkpoint loader from `ComfyUI_bitsandbytes_NF4` so you can pick the execution device when working with 4-bit Quantised diffusion checkpoints. + +## Inputs + +All base parameters from `CheckpointLoaderNF4` are retained. The MultiGPU wrapper adds one optional field: + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | Device that should own the loaded NF4 checkpoint (GPU id or `cpu`). | + +## Outputs + +Outputs are identical to the upstream NF4 loader (UNet/CLIP/VAE tuple). The only behavioural change is the explicit device placement. | diff --git a/web/docs/DownloadAndLoadFlorence2ModelMultiGPU.md b/web/docs/DownloadAndLoadFlorence2ModelMultiGPU.md new file mode 100644 index 0000000..3dc02ac --- /dev/null +++ b/web/docs/DownloadAndLoadFlorence2ModelMultiGPU.md @@ -0,0 +1,16 @@ +# DownloadAndLoadFlorence2ModelMultiGPU + +`DownloadAndLoadFlorence2ModelMultiGPU` mirrors the download-and-load helper supplied by `ComfyUI-Florence2`, but with explicit device and offload selection so large Florence2 checkpoints can live on secondary GPUs or CPU memory. + +## Inputs + +All original inputs from `DownloadAndLoadFlorence2Model` remain available. The MultiGPU wrapper introduces two optional selectors: + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | Compute device to host the model once loaded. | +| `offload_device` | `STRING` | Device that receives automatic offloads (defaults to `cpu`). | + +## Outputs + +Outputs match the base Florence2 helper (model handle plus aux data). The only difference is that the returned model is already resident on the device you specified. diff --git a/web/docs/DownloadAndLoadWav2VecModelMultiGPU.md b/web/docs/DownloadAndLoadWav2VecModelMultiGPU.md new file mode 100644 index 0000000..3d44ce8 --- /dev/null +++ b/web/docs/DownloadAndLoadWav2VecModelMultiGPU.md @@ -0,0 +1,20 @@ +# DownloadAndLoadWav2VecModelMultiGPU + +`DownloadAndLoadWav2VecModelMultiGPU` downloads a preset Wav2Vec2 checkpoint from Hugging Face (if missing) and loads it onto the device you choose, mirroring WanVideo's helper while adding MultiGPU awareness. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `STRING` | Preset identifier (`TencentGameMate/chinese-wav2vec2-base` or `facebook/wav2vec2-base-960h`). | +| `base_precision` | `STRING` | Weight precision (`fp32`, `bf16`, `fp16`). | +| `load_device` | `STRING` | Wan loader slot (`main_device` or `offload_device`). | +| `device` | `STRING` | MultiGPU device to run the audio model. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `wav2vec_model` | `WAV2VECMODEL` | Downloaded and loaded Wav2Vec2 model. | diff --git a/web/docs/FantasyTalkingModelLoaderMultiGPU.md b/web/docs/FantasyTalkingModelLoaderMultiGPU.md new file mode 100644 index 0000000..f93a5fb --- /dev/null +++ b/web/docs/FantasyTalkingModelLoaderMultiGPU.md @@ -0,0 +1,19 @@ +# FantasyTalkingModelLoaderMultiGPU + +`FantasyTalkingModelLoaderMultiGPU` loads FantasyTalking diffusion models with explicit device control, making it easier to keep speech animation workloads off your primary compute GPU. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `STRING` | FantasyTalking model from `ComfyUI/models/diffusion_models`. | +| `base_precision` | `STRING` | Precision for the weights (`fp32`, `bf16`, `fp16`). | +| `device` | `STRING` | MultiGPU device that should host the model. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `model` | `FANTASYTALKINGMODEL` | Loaded FantasyTalking model bundle. | diff --git a/web/docs/Florence2ModelLoaderMultiGPU.md b/web/docs/Florence2ModelLoaderMultiGPU.md new file mode 100644 index 0000000..4aa3fca --- /dev/null +++ b/web/docs/Florence2ModelLoaderMultiGPU.md @@ -0,0 +1,16 @@ +# Florence2ModelLoaderMultiGPU + +`Florence2ModelLoaderMultiGPU` wraps the Florence2 model loader so you can decide which device handles model inference and which device receives Wan/Comfy offloads. Use it exactly like the original node from `ComfyUI-Florence2`; all native inputs remain available. + +## Inputs + +All parameters from `Florence2ModelLoader` are still supported. The MultiGPU variant adds the following optional fields: + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | MultiGPU device used for runtime compute (`cuda:0`, `cuda:1`, `cpu`, etc.). | +| `offload_device` | `STRING` | Device that receives automatic model offloads (defaults to `cpu`). | + +## Outputs + +The outputs are identical to the upstream Florence2 loader (model tuple, additional metadata). Use them interchangeably in existing workflows; only the device placement behaviour changes. diff --git a/web/docs/LTXVLoaderMultiGPU.md b/web/docs/LTXVLoaderMultiGPU.md new file mode 100644 index 0000000..93a5fd8 --- /dev/null +++ b/web/docs/LTXVLoaderMultiGPU.md @@ -0,0 +1,15 @@ +# LTXVLoaderMultiGPU + +`LTXVLoaderMultiGPU` wraps `ComfyUI-LTXVideo`'s checkpoint loader so you can push LTX Video models to any GPU (or CPU) in your system without editing the base node. + +## Inputs + +Every input from the upstream `LTXVLoader` node is preserved. The MultiGPU version adds a single optional selector: + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | MultiGPU device that should host the loaded LTX Video checkpoint. | + +## Outputs + +Outputs are identical to the original LTX Video loader. The loader simply ensures the returned model already resides on the selected device. diff --git a/web/docs/LoadFluxControlNetMultiGPU.md b/web/docs/LoadFluxControlNetMultiGPU.md new file mode 100644 index 0000000..b17de02 --- /dev/null +++ b/web/docs/LoadFluxControlNetMultiGPU.md @@ -0,0 +1,15 @@ +# LoadFluxControlNetMultiGPU + +`LoadFluxControlNetMultiGPU` exposes device selection for XLabAI's FLUX ControlNet loader, letting you keep the ControlNet on a secondary GPU or the CPU while the main FLUX UNet stays on your primary compute device. + +## Inputs + +All inputs from the upstream `LoadFluxControlNet` node remain unchanged. The MultiGPU variant introduces one optional field: + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | MultiGPU device that will host the ControlNet during inference. | + +## Outputs + +Outputs match the base FLUX ControlNet loader exactly; only the device placement differs. diff --git a/web/docs/LoadWanVideoClipTextEncoderMultiGPU.md b/web/docs/LoadWanVideoClipTextEncoderMultiGPU.md new file mode 100644 index 0000000..7050b2e --- /dev/null +++ b/web/docs/LoadWanVideoClipTextEncoderMultiGPU.md @@ -0,0 +1,25 @@ +# LoadWanVideoClipTextEncoderMultiGPU + +`LoadWanVideoClipTextEncoderMultiGPU` loads WanVideo CLIP vision/text encoders on the device you specify, making it easy to keep encoders off your primary compute GPU when memory is tight. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model_name` | `STRING` | CLIP vision or text encoder model from `ComfyUI/models/clip_vision` or `ComfyUI/models/text_encoders`. | +| `precision` | `STRING` | Weight precision for the model (`fp16`, `fp32`, or `bf16`). | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | Target MultiGPU device to host the encoder. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `wan_clip_vision` | `CLIP_VISION` | Loaded CLIP vision/text module ready for image conditioning. | +| `load_device` | `MULTIGPUDEVICE` | Device that now owns the encoder; feed into `WanVideoClipVisionEncode`. | diff --git a/web/docs/LoadWanVideoT5TextEncoderMultiGPU.md b/web/docs/LoadWanVideoT5TextEncoderMultiGPU.md new file mode 100644 index 0000000..dc114c5 --- /dev/null +++ b/web/docs/LoadWanVideoT5TextEncoderMultiGPU.md @@ -0,0 +1,26 @@ +# LoadWanVideoT5TextEncoderMultiGPU + +`LoadWanVideoT5TextEncoderMultiGPU` loads WanVideo T5 text encoders while letting you choose the MultiGPU device used for embedding work. The node returns both the encoder handle and the device string so downstream text nodes inherit placement automatically. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model_name` | `STRING` | T5 model from `ComfyUI/models/text_encoders`. | +| `precision` | `STRING` | Base precision for the encoder (`fp32` or `bf16`). | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `device` | `STRING` | MultiGPU device (defaults to secondary GPU when available). | +| `quantization` | `STRING` | Enable FP8 quantisation (`fp8_e4m3fn`) when supported. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `wan_t5_model` | `WANTEXTENCODER` | Loaded Wan T5 encoder bundle. | +| `load_device` | `MULTIGPUDEVICE` | Device string to reuse with `WanVideoTextEncode*` nodes. | diff --git a/web/docs/WanVideoBlockSwapMultiGPU.md b/web/docs/WanVideoBlockSwapMultiGPU.md new file mode 100644 index 0000000..db0dd25 --- /dev/null +++ b/web/docs/WanVideoBlockSwapMultiGPU.md @@ -0,0 +1,16 @@ +# WanVideoBlockSwapMultiGPU + +`WanVideoBlockSwapMultiGPU` prepares block swap arguments for WanVideo models and adds an explicit `swap_device` selector so you can decide which device receives swapped transformer blocks. + +## Inputs + +| Parameter | Data Type | Description | +| --- | --- | --- | +| *(base Wan block swap inputs)* | *varies* | All parameters exposed by the upstream `WanVideoBlockSwap` node are available and behave identically. | +| `swap_device` | `STRING` | Additional MultiGPU device option that picks the destination for swapped layers (`cpu`, `cuda:1`, etc.). | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `block_swap_args` | `BLOCKSWAPARGS` | Configuration dictionary to feed into `WanVideoModelLoaderMultiGPU` or Wan samplers. | diff --git a/web/docs/WanVideoClipVisionEncodeMultiGPU.md b/web/docs/WanVideoClipVisionEncodeMultiGPU.md new file mode 100644 index 0000000..baa0330 --- /dev/null +++ b/web/docs/WanVideoClipVisionEncodeMultiGPU.md @@ -0,0 +1,33 @@ +# WanVideoClipVisionEncodeMultiGPU + +`WanVideoClipVisionEncodeMultiGPU` runs WanVideo's CLIP vision encoder on the device you provide. It supports tiled encoding, dual-image blending, and optional negative guidance while managing offload behaviour for you. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `clip_vision` | `CLIP_VISION` | Encoder pair from `LoadWanVideoClipTextEncoderMultiGPU`. | +| `load_device` | `MULTIGPUDEVICE` | Device where encoding should occur. | +| `image_1` | `IMAGE` | Primary image to encode. | +| `strength_1` | `FLOAT` | Weight applied to the first image embedding. | +| `strength_2` | `FLOAT` | Weight applied to the second image embedding. | +| `crop` | `STRING` | Cropping mode (`center` or `disabled`). | +| `combine_embeds` | `STRING` | Strategy when combining multiple embeds (`average`, `sum`, `concat`, `batch`). | +| `force_offload` | `BOOLEAN` | Offload encoder after processing. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `image_2` | `IMAGE` | Secondary image for combination. | +| `negative_image` | `IMAGE` | Negative reference image. | +| `tiles` | `INT` | Enable Matteo's tiled encode by setting tile count > 0. | +| `ratio` | `FLOAT` | Blend ratio used with tiled encoding. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `image_embeds` | `WANVIDIMAGE_CLIPEMBEDS` | CLIP vision embeddings suitable for Wan samplers or encoders. | diff --git a/web/docs/WanVideoControlnetLoaderMultiGPU.md b/web/docs/WanVideoControlnetLoaderMultiGPU.md new file mode 100644 index 0000000..4218dc2 --- /dev/null +++ b/web/docs/WanVideoControlnetLoaderMultiGPU.md @@ -0,0 +1,21 @@ +# WanVideoControlnetLoaderMultiGPU + +`WanVideoControlnetLoaderMultiGPU` loads WanVideo-compatible ControlNets while letting you choose the execution device and optional FP8 quantisation modes. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `STRING` | ControlNet file from `ComfyUI/models/controlnet`. | +| `base_precision` | `STRING` | Weight precision (`fp32`, `bf16`, `fp16`). | +| `quantization` | `STRING` | FP8 preset (`disabled`, `fp8_e4m3fn`, `fp8_e4m3fn_fast`, `fp8_e5m2`, `fp8_e4m3fn_fast_no_ffn`). | +| `load_device` | `STRING` | Wan loader slot (`main_device` or `offload_device`). | +| `device` | `STRING` | MultiGPU device that will host the ControlNet. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `controlnet` | `WANVIDEOCONTROLNET` | Loaded ControlNet ready for Wan samplers. | diff --git a/web/docs/WanVideoDecodeMultiGPU.md b/web/docs/WanVideoDecodeMultiGPU.md new file mode 100644 index 0000000..4828fcd --- /dev/null +++ b/web/docs/WanVideoDecodeMultiGPU.md @@ -0,0 +1,30 @@ +# WanVideoDecodeMultiGPU + +`WanVideoDecodeMultiGPU` decodes Wan latents back into frames using the VAE you provide, pinning decode work to the chosen MultiGPU device and safeguarding validation for tiled decode settings. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `vae` | `WANVAE` | VAE pair from a Wan VAE loader. | +| `load_device` | `MULTIGPUDEVICE` | Device that will run the decode. | +| `samples` | `LATENT` | Latent tensor to decode. | +| `enable_vae_tiling` | `BOOLEAN` | Enables tiled decoding to reduce VRAM usage. | +| `tile_x` | `INT` | Tile width in pixels. | +| `tile_y` | `INT` | Tile height in pixels. | +| `tile_stride_x` | `INT` | Horizontal stride between tiles. | +| `tile_stride_y` | `INT` | Vertical stride between tiles. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `normalization` | `STRING` | Switch between default and min-max output normalisation. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `images` | `IMAGE` | Decoded video frames or image batch. | diff --git a/web/docs/WanVideoEncodeMultiGPU.md b/web/docs/WanVideoEncodeMultiGPU.md new file mode 100644 index 0000000..59978eb --- /dev/null +++ b/web/docs/WanVideoEncodeMultiGPU.md @@ -0,0 +1,32 @@ +# WanVideoEncodeMultiGPU + +`WanVideoEncodeMultiGPU` encodes single images into Wan latents using the selected device, mirroring WanVideo's image encoder while adding explicit device routing and tiled encode safeguards. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `vae` | `WANVAE` | VAE pair for encoding. | +| `load_device` | `MULTIGPUDEVICE` | Device that will run the encode. | +| `image` | `IMAGE` | Image tensor to convert to latents. | +| `enable_vae_tiling` | `BOOLEAN` | Enables tiled encoding to lower VRAM usage. | +| `tile_x` | `INT` | Tile width in pixels. | +| `tile_y` | `INT` | Tile height in pixels. | +| `tile_stride_x` | `INT` | Horizontal stride between tiles. | +| `tile_stride_y` | `INT` | Vertical stride between tiles. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `noise_aug_strength` | `FLOAT` | Adds noise before encoding for motion workflows. | +| `latent_strength` | `FLOAT` | Scales encoded latents. | +| `mask` | `MASK` | Optional mask to limit encoding region. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `samples` | `LATENT` | Encoded Wan latent tensor. | diff --git a/web/docs/WanVideoImageToVideoEncodeMultiGPU.md b/web/docs/WanVideoImageToVideoEncodeMultiGPU.md new file mode 100644 index 0000000..8128c91 --- /dev/null +++ b/web/docs/WanVideoImageToVideoEncodeMultiGPU.md @@ -0,0 +1,39 @@ +# WanVideoImageToVideoEncodeMultiGPU + +`WanVideoImageToVideoEncodeMultiGPU` mirrors WanVideo's image-to-video encoder but ensures the heavy transformer work runs on your selected device while pushing temporary buffers to the configured offload target. Use it to convert reference imagery into Wan latents for I2V workflows. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `width` | `INT` | Output latent width (multiple of 8). | +| `height` | `INT` | Output latent height (multiple of 8). | +| `num_frames` | `INT` | Number of frames to encode. | +| `noise_aug_strength` | `FLOAT` | Noise level to add before encoding (helps motion). | +| `start_latent_strength` | `FLOAT` | Multiplier applied at sequence start. | +| `end_latent_strength` | `FLOAT` | Multiplier applied at sequence end. | +| `force_offload` | `BOOLEAN` | Offload Wan model once encoding finishes. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `vae` | `WANVAE` | VAE pair from Wan VAE loader; defaults to global VAE if omitted. | +| `load_device` | `MULTIGPUDEVICE` | Device to run encoding on. | +| `clip_embeds` | `WANVIDIMAGE_CLIPEMBEDS` | Additional clip guidance tensors. | +| `start_image` | `IMAGE` | First frame reference. | +| `end_image` | `IMAGE` | End frame reference for interpolation. | +| `control_embeds` | `WANVIDIMAGE_EMBEDS` | Control signal tensors (e.g., Fun). | +| `fun_or_fl2v_model` | `BOOLEAN` | Enable special behaviour for FLF2V/Fun models. | +| `temporal_mask` | `MASK` | Mask for temporal control. | +| `extra_latents` | `LATENT` | Additional latents to prepend (e.g., Skyreels refs). | +| `tiled_vae` | `BOOLEAN` | Use tiled VAE encoding to minimise VRAM. | +| `add_cond_latents` | `ADD_COND_LATENTS` | Extra conditional latents for advanced workflows. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `image_embeds` | `WANVIDIMAGE_EMBEDS` | Encoded Wan latents for downstream samplers. | diff --git a/web/docs/WanVideoModelLoaderMultiGPU.md b/web/docs/WanVideoModelLoaderMultiGPU.md new file mode 100644 index 0000000..09eb565 --- /dev/null +++ b/web/docs/WanVideoModelLoaderMultiGPU.md @@ -0,0 +1,37 @@ +# WanVideoModelLoaderMultiGPU + +`WanVideoModelLoaderMultiGPU` wraps the base WanVideo model loader so you can pick both the loader device and the downstream compute device when working with large WanVideo checkpoints. The node patches the underlying WanVideo loader so the model materialises on the device chosen via `compute_device` while still honouring WanVideo's block swap and quantisation options. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `STRING` | Model file from `ComfyUI/models/diffusion_models` or `ComfyUI/models/unet_gguf` to load. | +| `base_precision` | `STRING` | Floating-point format for base weights (`fp32`, `bf16`, `fp16`, or `fp16_fast`). | +| `quantization` | `STRING` | Optional FP8 quantisation preset; `disabled` keeps original precision. | +| `load_device` | `STRING` | WanVideo loader slot (`main_device` or `offload_device`) used during initial weight materialisation. | +| `compute_device` | `STRING` | MultiGPU device id (e.g. `cuda:0`, `cuda:1`, `cpu`) to run inference on. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `attention_mode` | `STRING` | Select specialised attention kernels (`sdpa`, `flash_attn_2`, `flash_attn_3`, `sageattn`, `sageattn_3`, `radial_sage_attention`). | +| `compile_args` | `WANCOMPILEARGS` | Torch compile configuration passed through to WanVideo. | +| `block_swap_args` | `BLOCKSWAPARGS` | Enables WanVideo block swapping; supply alongside `WanVideoBlockSwapMultiGPU`. | +| `lora` | `WANVIDLORA` | Optional Wan LoRA bundle to apply during load. | +| `vram_management_args` | `VRAM_MANAGEMENTARGS` | DiffSynth-Studio memory manager arguments for aggressive VRAM reclamation. | +| `extra_model` | `VACEPATH` | Adds auxiliary model weights (e.g. VACE / MTV Crafter). | +| `fantasytalking_model` | `FANTASYTALKINGMODEL` | Preloads FantasyTalking speech model. | +| `multitalk_model` | `MULTITALKMODEL` | Preloads MultiTalk model. | +| `fantasyportrait_model` | `FANTASYPORTRAITMODEL` | Preloads FantasyPortrait model. | +| `rms_norm_function` | `STRING` | Choose RMSNorm implementation (`default` Wan variant or `pytorch`). | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `model` | `WANVIDEOMODEL` | Initialised Wan diffusion model ready for sampling. | +| `compute_device` | `MULTIGPUDEVICE` | Device id chosen for downstream nodes; pass directly into samplers. | diff --git a/web/docs/WanVideoSamplerMultiGPU.md b/web/docs/WanVideoSamplerMultiGPU.md new file mode 100644 index 0000000..feba211 --- /dev/null +++ b/web/docs/WanVideoSamplerMultiGPU.md @@ -0,0 +1,53 @@ +# WanVideoSamplerMultiGPU + +`WanVideoSamplerMultiGPU` runs WanVideo diffusion sampling while respecting your chosen compute and offload devices. The node patches WanVideo's internal device tracking so samplers, transformer blocks, and optional block swap features all target the MultiGPU placements you configure. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `WANVIDEOMODEL` | Wan diffusion model output by `WanVideoModelLoaderMultiGPU`. | +| `compute_device` | `MULTIGPUDEVICE` | Device identifier to run the sampler on. | +| `image_embeds` | `WANVIDIMAGE_EMBEDS` | Latent/video conditioning produced by Wan preprocessing nodes. | +| `steps` | `INT` | Number of denoising steps to execute. | +| `cfg` | `FLOAT` | Classifier-free guidance strength. | +| `shift` | `FLOAT` | Scheduler-specific shift parameter. | +| `seed` | `INT` | Random seed for reproducibility (0 uses the provided value). | +| `force_offload` | `BOOLEAN` | When true, move the model back to the offload device after sampling. | +| `scheduler` | `STRING` | Sampler scheduler to use (`unipc`, `dpm++`, `euler`, etc.). | +| `riflex_freq_index` | `INT` | Enables RIFLEX continuation frames when > 0. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `text_embeds` | `WANVIDEOTEXTEMBEDS` | Conditioning from Wan text encoders. | +| `samples` | `LATENT` | Initial latents for video-to-video workflows. | +| `denoise_strength` | `FLOAT` | Fraction of steps to apply when reusing latents. | +| `feta_args` | `FETAARGS` | Wan FETA extension controls. | +| `context_options` | `WANVIDCONTEXT` | Context window adjustments. | +| `cache_args` | `CACHEARGS` | Cache behaviour for incremental runs. | +| `flowedit_args` | `FLOWEDITARGS` | FlowEdit animation refinements. | +| `batched_cfg` | `BOOLEAN` | Batch cond/uncond passes to trade VRAM for speed. | +| `slg_args` | `SLGARGS` | Sparse latent guidance options. | +| `rope_function` | `STRING` | Rotary embedding mode (`default`, `comfy`, `comfy_chunked`). | +| `loop_args` | `LOOPARGS` | Looping schedule configuration. | +| `experimental_args` | `EXPERIMENTALARGS` | Wan experimental toggles. | +| `sigmas` | `SIGMAS` | Custom sigma schedule. | +| `unianimate_poses` | `UNIANIMATE_POSE` | Pose conditioning inputs. | +| `fantasytalking_embeds` | `FANTASYTALKING_EMBEDS` | Speech animation embeds. | +| `uni3c_embeds` | `UNI3C_EMBEDS` | Multi-character conditioning embeds. | +| `multitalk_embeds` | `MULTITALK_EMBEDS` | MultiTalk conditioning embeds. | +| `freeinit_args` | `FREEINITARGS` | FreeInit configuration. | +| `start_step` | `INT` | Start step for partial denoising. | +| `end_step` | `INT` | End step for partial denoising (-1 uses full schedule). | +| `add_noise_to_samples` | `BOOLEAN` | Adds fresh noise to latents before diffusion. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `samples` | `LATENT` | Final latent video tensor after sampling. | +| `denoised_samples` | `LATENT` | Optional mid-run denoised latents for reuse or decoding. | diff --git a/web/docs/WanVideoTextEncodeCachedMultiGPU.md b/web/docs/WanVideoTextEncodeCachedMultiGPU.md new file mode 100644 index 0000000..feacd8d --- /dev/null +++ b/web/docs/WanVideoTextEncodeCachedMultiGPU.md @@ -0,0 +1,31 @@ +# WanVideoTextEncodeCachedMultiGPU + +`WanVideoTextEncodeCachedMultiGPU` is a convenience wrapper that loads a Wan T5 encoder on demand, produces prompt embeddings, and fully unloads the encoder when finished. It favours disk caching so repeated prompts can reuse saved embeddings without re-running the model. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model_name` | `STRING` | T5 encoder to load from `ComfyUI/models/text_encoders`. | +| `precision` | `STRING` | Precision for the temporary encoder (`fp32` or `bf16`). | +| `positive_prompt` | `STRING` | Prompt text for the conditioned branch. | +| `negative_prompt` | `STRING` | Prompt text for the unconditioned branch. | +| `quantization` | `STRING` | FP8 switch (`disabled` or `fp8_e4m3fn`). | +| `use_disk_cache` | `BOOLEAN` | Enables Wan disk caching for embeddings. | +| `load_device` | `STRING` | MultiGPU device that will host the one-shot encoder. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `extender_args` | `WANVIDEOPROMPTEXTENDER_ARGS` | Configuration for Wan prompt extender helpers. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `text_embeds` | `WANVIDEOTEXTEMBEDS` | Positive/negative embedding bundle for Wan samplers. | +| `negative_text_embeds` | `WANVIDEOTEXTEMBEDS` | Negative-only embeddings (for workflows that split branches). | +| `positive_prompt` | `STRING` | The positive prompt as finalised by the extender (handy for preview nodes). | diff --git a/web/docs/WanVideoTextEncodeMultiGPU.md b/web/docs/WanVideoTextEncodeMultiGPU.md new file mode 100644 index 0000000..aa8f7dc --- /dev/null +++ b/web/docs/WanVideoTextEncodeMultiGPU.md @@ -0,0 +1,28 @@ +# WanVideoTextEncodeMultiGPU + +`WanVideoTextEncodeMultiGPU` encodes paired positive/negative prompts using a WanVideo T5 encoder while respecting the MultiGPU device you choose. The node can temporarily offload Wan models to free VRAM before encoding and supports optional disk caching for embeddings. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `positive_prompt` | `STRING` | Prompt text for the conditioned branch. | +| `negative_prompt` | `STRING` | Prompt text for the unconditioned branch. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `t5` | `WANTEXTENCODER` | Encoder pair from `LoadWanVideoT5TextEncoderMultiGPU`; defaults to the global Wan encoder if omitted. | +| `load_device` | `MULTIGPUDEVICE` | Device to run encoding on; also controls temporary model moves. | +| `force_offload` | `BOOLEAN` | When true, offloads the model after encoding completes. | +| `model_to_offload` | `WANVIDEOMODEL` | Wan diffusion model to move to the offload device prior to encoding. | +| `use_disk_cache` | `BOOLEAN` | Enable Wan disk cache for repeated prompt reuse. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `text_embeds` | `WANVIDEOTEXTEMBEDS` | Dictionary of positive and negative embeddings ready for `WanVideoSamplerMultiGPU`. | diff --git a/web/docs/WanVideoTextEncodeSingleMultiGPU.md b/web/docs/WanVideoTextEncodeSingleMultiGPU.md new file mode 100644 index 0000000..7782525 --- /dev/null +++ b/web/docs/WanVideoTextEncodeSingleMultiGPU.md @@ -0,0 +1,27 @@ +# WanVideoTextEncodeSingleMultiGPU + +`WanVideoTextEncodeSingleMultiGPU` encodes a single prompt string (no negative branch) using a Wan T5 encoder while honouring the device you supply. Use it for LoRA control channels or scenarios where only one conditioning embedding is required. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `prompt` | `STRING` | Prompt text to encode. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `t5` | `WANTEXTENCODER` | Encoder pair from `LoadWanVideoT5TextEncoderMultiGPU`. | +| `load_device` | `MULTIGPUDEVICE` | Device that will perform encoding. | +| `force_offload` | `BOOLEAN` | Offload linked models after encoding completes. | +| `model_to_offload` | `WANVIDEOMODEL` | Wan diffusion model to move while encoding to free VRAM. | +| `use_disk_cache` | `BOOLEAN` | Store/reuse embeddings on disk for repeat runs. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `text_embeds` | `WANVIDEOTEXTEMBEDS` | Encoded embeddings ready for Wan samplers. | diff --git a/web/docs/WanVideoTinyVAELoaderMultiGPU.md b/web/docs/WanVideoTinyVAELoaderMultiGPU.md new file mode 100644 index 0000000..f37ee06 --- /dev/null +++ b/web/docs/WanVideoTinyVAELoaderMultiGPU.md @@ -0,0 +1,26 @@ +# WanVideoTinyVAELoaderMultiGPU + +`WanVideoTinyVAELoaderMultiGPU` loads lightweight Wan VAEs from the `vae_approx` folder, useful for preview drafts or efficiency workflows. The node mirrors ComfyUI's tiny VAE loader while exposing explicit device placement and optional parallel decoding. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model_name` | `STRING` | Tiny VAE filename from `ComfyUI/models/vae_approx`. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `load_device` | `STRING` | MultiGPU device to host the VAE. | +| `precision` | `STRING` | Weight precision (`fp16`, `fp32`, `bf16`). | +| `parallel` | `BOOLEAN` | Enable parallel encode/decode for extra speed (uses more VRAM). | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `vae` | `WANVAE` | Loaded lightweight VAE. | +| `load_device` | `MULTIGPUDEVICE` | Device string to pass into Wan encode/decode nodes. | diff --git a/web/docs/WanVideoUni3C_ControlnetLoaderMultiGPU.md b/web/docs/WanVideoUni3C_ControlnetLoaderMultiGPU.md new file mode 100644 index 0000000..f4fa2ca --- /dev/null +++ b/web/docs/WanVideoUni3C_ControlnetLoaderMultiGPU.md @@ -0,0 +1,28 @@ +# WanVideoUni3C_ControlnetLoaderMultiGPU + +`WanVideoUni3C_ControlnetLoaderMultiGPU` loads Uni3C ControlNets for WanVideo, exposing device, attention, and compile options so you can balance performance and VRAM across multiple GPUs. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `STRING` | Uni3C ControlNet from `ComfyUI/models/controlnet`. | +| `base_precision` | `STRING` | Weight precision (`fp32`, `bf16`, `fp16`). | +| `load_device` | `STRING` | Wan loader slot (`main_device` or `offload_device`). | +| `device` | `STRING` | MultiGPU device that will host the ControlNet. | +| `quantization` | `STRING` | FP8 mode (`disabled`, `fp8_e4m3fn`, `fp8_e5m2`). | +| `attention_mode` | `STRING` | Attention kernel (`sdpa` or `sageattn`). | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `compile_args` | `WANCOMPILEARGS` | Torch compile configuration for the ControlNet. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `controlnet` | `WANVIDEOCONTROLNET` | Loaded Uni3C ControlNet ready for Wan samplers. | diff --git a/web/docs/WanVideoVACEEncodeMultiGPU.md b/web/docs/WanVideoVACEEncodeMultiGPU.md new file mode 100644 index 0000000..9624ad9 --- /dev/null +++ b/web/docs/WanVideoVACEEncodeMultiGPU.md @@ -0,0 +1,34 @@ +# WanVideoVACEEncodeMultiGPU + +`WanVideoVACEEncodeMultiGPU` encodes VACE reference inputs for WanVideo workflows while respecting your chosen device. It patches the base encoder to run on the MultiGPU device and to reuse Wan offload settings automatically. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `vae` | `WANVAE` | VAE pair to use during encoding. | +| `load_device` | `MULTIGPUDEVICE` | Device that will execute encoding. | +| `width` | `INT` | Target latent width. | +| `height` | `INT` | Target latent height. | +| `num_frames` | `INT` | Number of frames to encode. | +| `strength` | `FLOAT` | Overall conditioning strength. | +| `vace_start_percent` | `FLOAT` | Step fraction where VACE influence begins. | +| `vace_end_percent` | `FLOAT` | Step fraction where VACE influence ends. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `input_frames` | `IMAGE` | Input frames used for conditioning. | +| `ref_images` | `IMAGE` | Reference imagery to encode. | +| `input_masks` | `MASK` | Masks applied during encoding. | +| `prev_vace_embeds` | `WANVIDIMAGE_EMBEDS` | Prior VACE embeds to reuse or blend. | +| `tiled_vae` | `BOOLEAN` | Enable tiled encode for lower VRAM usage. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `vace_embeds` | `WANVIDIMAGE_EMBEDS` | Encoded VACE embeddings for Wan samplers. | diff --git a/web/docs/WanVideoVAELoaderMultiGPU.md b/web/docs/WanVideoVAELoaderMultiGPU.md new file mode 100644 index 0000000..4ca01d5 --- /dev/null +++ b/web/docs/WanVideoVAELoaderMultiGPU.md @@ -0,0 +1,26 @@ +# WanVideoVAELoaderMultiGPU + +`WanVideoVAELoaderMultiGPU` loads WanVideo VAEs on the device you choose, returning both the VAE handle and the selected device so downstream encode/decode nodes run on the correct hardware. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model_name` | `STRING` | VAE model from `ComfyUI/models/vae`. | + +### Optional + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `load_device` | `STRING` | Destination MultiGPU device. | +| `precision` | `STRING` | VAE precision (`fp16`, `fp32`, or `bf16`). | +| `compile_args` | `WANCOMPILEARGS` | Optional torch compile parameters. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `vae` | `WANVAE` | Loaded Wan VAE model. | +| `load_device` | `MULTIGPUDEVICE` | Device string to feed into encode/decode nodes. | diff --git a/web/docs/Wav2VecModelLoaderMultiGPU.md b/web/docs/Wav2VecModelLoaderMultiGPU.md new file mode 100644 index 0000000..b4603b1 --- /dev/null +++ b/web/docs/Wav2VecModelLoaderMultiGPU.md @@ -0,0 +1,20 @@ +# Wav2VecModelLoaderMultiGPU + +`Wav2VecModelLoaderMultiGPU` loads locally stored Wav2Vec2 models for WanVideo workflows while exposing MultiGPU placement controls and load-device selection. + +## Inputs + +### Required + +| Parameter | Data Type | Description | +| --- | --- | --- | +| `model` | `STRING` | Wav2Vec2 model from `ComfyUI/models/wav2vec2`. | +| `base_precision` | `STRING` | Weight precision (`fp32`, `bf16`, `fp16`). | +| `load_device` | `STRING` | Wan loader slot (`main_device` or `offload_device`). | +| `device` | `STRING` | MultiGPU device to own the model during inference. | + +## Outputs + +| Output Name | Data Type | Description | +| --- | --- | --- | +| `wav2vec_model` | `WAV2VECMODEL` | Loaded speech model for Wan audio pipelines. |