Meta-Sampler Guiado (Seed-WAN)
A sampler that welds WAN 2.2 and SeedVR2 into one denoising loop
- model
- positive
- negative
- video_original
- video_latente_guia
- mascara
- VAE_WAN
- latent_video_outpainting
Outpainting video is usually a two-step slog: generate the extension, then run the whole clip through a restorer and pray the seam doesn't show. MetaSamplerGuiado (a.k.a. "Seed-WAN") skips the second pass by doing both at once - it's a custom sampler that injects a SeedVR2-processed version of your video into WAN 2.2's denoising loop on every single step. The generative model only gets to imagine the outpainted region; the original area is anchored to the restoration model's latents, so the seam is decided in latent space rather than patched afterward.
Fair warning before you get excited: this is a tiny, single-author experiment. One commit, October 2025, Spanish docs, zero community discussion anywhere. There's no paper behind it - the README cites a "Meta-Sampler Guiado.txt" that isn't published - and the code is rough in places (more below). Treat it as a clever research idea you can actually run, not a polished tool.
How the trick works
The node takes three things: your original video as a LATENT (video_original), that same video run through SeedVR2 and re-encoded into a latent (video_latente_guia), and a MASK (mascara) marking the region you want to extend. It blends original + guide into a starting canvas, then calls ComfyUI's core sample with a sampler_pre_cfg_function hook. Each step it adds scaled noise to the guide latent to roughly match the current noise level, and force-blends it back into the denoising trajectory wherever the mask says. That's the whole "meta-sampler" idea: WAN 2.2 does the creative inference only where the mask lets it, while the restoration anchor holds the rest still and temporally coherent.
The inputs that matter
The handful you'll actually set:
- model, positive, negative, steps, cfg, sampler_name, scheduler, denoise - standard KSampler fare. WAN 2.2 behaves best around 20–30 steps and CFG 3.5+, but don't treat that as gospel here since nobody's published tuned settings for this node.
- video_original / video_latente_guia / mascara - the whole point. The code auto-resizes the guide and mask to match your original, so mismatched resolutions won't hard-crash, but bilinear upscaling a guide latent is a smear, not a fix.
- feather_mask_pixels (default 5) - Gaussian-blurs the mask edges to soften the seam. Crank it up if you see a hard border.
- VAE_WAN - here's the gotcha: it's in the schema and never used in the code. Wiring a VAE into it does nothing. Don't build your workflow around it.
The single output, latent_video_outpainting, feeds a VAE Decode like any other sampler output.
Installing it
No requirements.txt and no heavy dependencies - it only touches ComfyUI core plus torchvision's GaussianBlur, which you almost certainly have. Install via ComfyUI Manager (search "Meta-Sampler Guiado"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/Aishor/comfyui-meta-sampler-guiado
# restart ComfyUI - node appears under "sampling"
The real cost is models, not install: you need a WAN 2.2 checkpoint and SeedVR2. On that second one, run the FP16 weights - the community settled that GGUF hurts skin and FP8 tiles (see the SeedVR2 panel in the modidex KB). And remember SeedVR2's honest reputation: its video path is a rented-datacenter-GPU workload, so your "guide" is really SeedVR2 upscaling frames that you re-encode with the WAN VAE. That's heavy, and it's why no ready-made example workflow ships with the pack.
Honest expectations
The noise-injection math is a rough linear interpolation, not proper sigma-scaled diffusion, and it's wrapped in a try/except that silently returns the clean latent on any error - so the "anchor" is approximate, and failures fail quietly. With zero community reports, you're the beta tester. If it doesn't behave, first suspect the guide latent (SeedVR2 quant, then VAE mismatch), then the mask. And if you just need reliable Wan outpainting, the well-trodden VACE path is probably still your day-to-day; this node is for when you want to see the hybrid idea work.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 8.000–100 | — |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| video_original | LATENT | — | |
| video_latente_guia | LATENT | — | |
| mascara | MASK | — | |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| denoise | FLOAT | 1.000–1 | — |
| VAE_WANopt | VAE | — | |
| feather_mask_pixelsopt | INT | 50–50 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent_video_outpainting | LATENT | — |