π Warp Provider
One node that sets every knob and hands you a blank canvas
- latent
- batch_size
- seed
- steps_1
- steps_2
- steps_3
- cfg
- sampler_name
- scheduler
- width
- height
Warp Provider is the one node in the WarpPipe pack that actually generates something. It produces an empty latent at the resolution you pick, and alongside it hands you every sampling parameter you'd otherwise set by hand - seed, steps, CFG, sampler, scheduler, batch size. It's basically an Empty Latent Image and a pile of KSampler settings merged into a single node, with a resolution picker that's actually pleasant to use.
Why you'd reach for it
The pitch is 31 preset resolutions, each labeled with its aspect ratio, exact pixel size, and megapixel count, sorted from portrait to widescreen. That sounds trivial until you've spent an evening trying to remember whether "portrait high-res" was 1152Γ1536 or 1024Γ1536 - or worse, rendered at a non-multiple-of-8 size and gotten the latent-dimension error from hell. The presets run 9:16 phone sizes (576Γ1024 up to 1152Γ2048) through square and landscape all the way to 16:9 1920Γ1080, with the SDXL native 1024Γ1024 as default. And because the outputs are individual typed ports, you can wire them straight into a KSampler - or feed the whole thing into a Warp so the settings travel as a bundle.
How it works
Mechanically it's unglamorous and that's fine. Pick a size_preset and it parses the width/height out of the label (a "Custom" preset uses custom_width and custom_height instead, in steps of 8, 64β8192). It then builds an empty latent tensor - that's just torch.zeros at width/8 Γ height/8, the usual VAE-compressed latent space - and returns it alongside batch_size, seed, steps_1, steps_2, steps_3, cfg, sampler_name, scheduler, width, and height. The sampler and scheduler go through the pack's coercion layer, so they come out as values ComfyUI will actually accept.
The inputs worth setting yourself:
- size_preset - the star of the show; 31 aspect-ratio-labeled options.
- seed - plain integer, default 0, full 64-bit range.
- steps_1 - primary step count (default 20, 1β200).
steps_2/steps_3(default 0) are for multi-pass workflows that want extra step counts carried along. - cfg - default 7.0, 0β50.
- sampler_name / scheduler - default
euler/normal.
Installing it
It ships in the WarpPipe pack, one repo, zero external dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/gregory-richard/ComfyUI-WarpPipe.git
Restart ComfyUI, then find it via ComfyUI Manager (search "WarpPipe") or the registry (comfy node install warppipe). No models, no pip install.
Honest caveats
The latent it hands you is empty - it's the blank canvas you sample from, not a secret sauce. You still need a model and conditioning (typically through a Warp bundle) before that latent does anything. Also, don't expect the presets to be magic for non-SDXL models: they're tuned around SDXL native resolutions, and while the 1:1 square is a fine starting point for most things, a 1920Γ1080 latent on an SD 1.5-era checkpoint will probably need more steps, not just a bigger canvas. Think of it as a tidy parameter hub, not an upscaler.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| batch_sizeopt | INT | 11β64 | β |
| seedopt | INT | 00β18446744073709550000 | β |
| steps_1opt | INT | 201β200 | β |
| steps_2opt | INT | 00β200 | β |
| steps_3opt | INT | 00β200 | β |
| cfgopt | FLOAT | 7.000β50 | β |
| sampler_nameopt | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduleropt | COMBO | normal | 11 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +5 |
| size_presetopt | COMBO | Square (SDXL native) | 1:1 | 1024 Γ 1024 | 1.05 MP | 31 options: Mobile/Stories (small) | 9:16 | 576 Γ 1024 | 0.59 MP, Mobile/Stories (HD) | 9:16 | 720 Γ 1280 | 0.92 MP, Mobile/Stories (Full HD) | 9:16 | 1080 Γ 1920 | 2.07 MP, Mobile/Stories (max) | 9:16 | 1152 Γ 2048 | 2.36 MP, Portrait (classic) | 3:4 | 768 Γ 1024 | 0.79 MP, Portrait (high-res) | 3:4 | 1152 Γ 1536 | 1.77 MP, +25 |
| custom_widthopt | INT | 102464β8192 | β |
| custom_heightopt | INT | 102464β8192 | β |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | β |
| batch_size | INT | β |
| seed | INT | β |
| steps_1 | INT | β |
| steps_2 | INT | β |
| steps_3 | INT | β |
| cfg | FLOAT | β |
| sampler_name | 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,beta57,bong_tangent | β |
| width | INT | β |
| height | INT | β |