The conversion now copies the int8 layer's full_precision_matrix_mult flag into the rewritten .comfy_quant metadata instead of replacing it with a bare nvfp4 entry, so layers that require the full-precision matmul path keep it.
- Import TensorCoreNVFP4Layout from comfy.quant_ops so ComfyUI's quantize override and Params contract apply; comfy_kitchen stays lazy for the dequantize helpers.
- Gate the conversion on the exact documented value MM3_NVFP4=1 in both load paths.
Adds an opt-in load-time conversion of the int8-quantized MiniMax Music 3 checkpoints (AR/TE and DiT) to NVFP4 using comfy-kitchen's TensorCoreNVFP4Layout. NVFP4 keeps the same 2D quantized-weight contract with half the storage bytes, so the AR model's resident set fits VRAM on 8GB cards and the aimdo stops paging the weights mid-generation.
The conversion dequantizes int8 layers (tensorwise, with or without convrot) and re-quantizes them in place; non-quantized layers are untouched. Gated behind the MM3_NVFP4 environment variable; about 1-2 minutes of extra load time, which can be avoided by pre-baking the converted checkpoints.
* Initial HiDream01-image support
* Cleanup nodes
* Cleaner handling of empty placeholder models
* Remove snap_to_predefined, prefer tooltip for the trained resolutions
* Add model and block wrappers
* Fix shift tooltip
* Add node to work around the patch tile issue
Experimental, runs multiple passes with the patch grid offset and blends with various different methods.
* Qwen35 vision rotary_pos_emb cast fix
* Fix embedding layout type
* Some small optimizations
* Cleanup, don't need this fallback
* Prefix KV cache, cleanup
Bit of speed, reduce redundant code
* Get rid of redundant custom sampler, refactor noise scaling
Our existing lcm sampler is mathematically same, just added the missing options to it instead and a node to control them. Refactored the noise scaling and fix it for the stochastic samplers, add a generic node to control the initial noise scale.
* Update nodes_hidream_o1.py
* Fix some cache validation cases
* Keep existing sampling params
* Remove redundant video vision path
* Replace some numpy ops with torch
* Fx RoPE index for batch size > 1
* Prefer torch preprocessing
* Rename block_type to be compatible with existing patch nodes
* Fixes and tweaks
* initial gemma4 support
* parity with reference implementation
outputs can 100% match transformers with same sdpa flags, checkpoint this and then optimize
* Cleanup, video fixes
* cleanup, enable fused rms norm by default
* update comment
* Cleanup
* Update sd.py
* Various fixes
* Add fp8 scaled embedding support
* small fixes
* Translate think tokens
* Fix image encoder attention mask type
So it works with basic attention
* Handle thinking tokens different only for Gemma4
* Code cleanup
* Update nodes_textgen.py
* Use embed scale class instead of buffer
Slight difference to HF, but technically more accurate and simpler code
* Default to fused rms_norm
* Update gemma4.py