🪠️ WWAA Video Resolution
Presets that respect your model's constraints
- width
- height
Video models are picky about dimensions in a way image models aren't. A resolution that works fine for one model will throw a hard error in another, because each architecture wants its spatial dimensions to land on a specific multiple - Wan and LTX want multiples of 32, Flux-class models are happy with 16, and so on. WWAA Video Resolution wraps all of that in dropdowns: pick your model, your resolution tier, aspect ratio, and orientation, and it hands you a width and height that are actually compatible instead of "should be fine."
This is the kind of node you don't appreciate until you've burned twenty minutes on a Latent size is not multiple of error mid-video-batch. It turns that failure mode into a configuration question.
How it works
The dropdowns:
model_type-LTX2/Wan2.x,Q25xx,Flux.2, orZ-Image-Turbo. This sets the dimension multiplier: 32 for LTX2/Wan2.x, 112 for Q25xx, 16 for Flux.2, 64 for Z-Image-Turbo. This is the input that matters most - the wrong one is exactly how you get the "not multiple of" error.resolution- 480p through 4K tiers (with base heights of 512/704/1088/1408/2176, adjusted down to the model's multiple).aspect_ratio- 16:9, 21:9, 2:1, 4:3, 3:2, 4:5, 1:1. Square and portrait get special handling to keep proportions sane.orientation- Horizontal or Vertical (swaps width/height).use_custom+custom_width/custom_height- an escape hatch; flipuse_customon and the presets are ignored entirely and your exact integers pass through.
Outputs are width and height as integers, ready to wire into an empty latent, a video encoder, or a resolution-check node.
Install
Ships in WWAA-CustomNodes. ComfyUI Manager: search "WWAA Custom Nodes", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/hgabha/WWAA-CustomNodes
# restart ComfyUI
No extra dependencies, no model files - it's pure arithmetic on the selected enum values, under the 🪠️ WWAA/Video menu.
Honest assessment
The multiplier table is the whole game, and it's a real convenience: remembering "Q25xx wants 112s" is not something you want to do from memory mid-workflow. But keep two things in mind. First, these multipliers are the author's tuned values, not a universal truth - always sanity-check the output against your actual model's documented constraints, especially as new model versions ship. Second, the presets are a starting point, not a law; the use_custom path exists precisely because real video work often wants a specific size no preset covers. For a workflow author, it's a great way to expose a clean "resolution" control on your graph that end users can't break - and for everyone else, it's the node that stops you from manually doing modular arithmetic on your video dimensions.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model_type | COMBO | Z-Image-Turbo | 4 options: LTX2/Wan2.x, Q25xx, Flux.2, Z-Image-Turbo |
| resolution | COMBO | 1080p | 5 options: 480p, 720p, 1080p, 1440p, 4K |
| aspect_ratio | COMBO | 16:9 (Widescreen) | 7 options: 16:9 (Widescreen), 21:9 (Ultrawide), 2:1 (Univisium), 4:3 (Standard), 3:2 (Classic), 4:5 (Portrait), +1 |
| orientation | COMBO | Horizontal | 2 options: Horizontal, Vertical |
| use_custom | BOOLEAN | false | — |
| custom_width | INT | 1024256–8192 | — |
| custom_height | INT | 1024256–8192 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |