mirror of
https://github.com/leejet/stable-diffusion.cpp.git
synced 2026-11-11 03:24:30 +00:00
feat: support Sol-H3-VAE decoding for MiniMax-H3 (#2317)
This commit is contained in:
1 parent
e1ca5e8bc7
commit
0bb132831f
5 files changed
+485
-72
No files matched your search
@@ -99,6 +99,24 @@ The C API exposes the same inputs through `ref_images`, `ref_videos`, and
|
||||
`ref_audios` in `sd_vid_gen_params_t`. Each `sd_ref_video_t` supplies its own
|
||||
frame rate and optional soundtrack; non-24-fps inputs are resampled internally.
|
||||
|
||||
## Sol-H3-VAE decoding
|
||||
|
||||
Pass a [Sol-H3-VAE checkpoint](https://huggingface.co/Comfy-Org/MiniMax-H3/tree/main/vae)
|
||||
with `--vae` to use the distilled video decoder. The ComfyUI FP16 and INT8
|
||||
ConvRot checkpoints include the MiniMax-H3 encoder for image and video inputs.
|
||||
Supply `--audio-vae` as usual to decode the soundtrack.
|
||||
|
||||
Sol decodes the whole clip by default. Use `--vae-tiling` for spatial tiling or
|
||||
`--temporal-tiling` for temporal tiling. Either can reduce memory use but may
|
||||
affect output quality because the decoder has less context at tile boundaries.
|
||||
|
||||
Temporal tiles default to 10 latent frames with 5 latent frames of overlap.
|
||||
Set `temporal_tile_frames` and `temporal_tile_overlap` in
|
||||
`--extra-tiling-args` to override them. Both must be multiples of 5 latent
|
||||
frames, and overlap must be smaller than the tile. The last tile may be shorter.
|
||||
Circular decoding requires spatial tiling on each circular axis, with a tile
|
||||
size smaller than the input on that axis.
|
||||
|
||||
## Latent hires second pass (two-stage sampling)
|
||||
|
||||
MiniMax-H3 supports `--hires` with two interchangeable second-stage upscalers:
|
||||
|
||||
+6
-4
@@ -92,10 +92,12 @@ dimensions down to the minimum size. Each spatial retry must reduce the effectiv
|
||||
tile size. These runtime adjustments do not change the caller's parameters.
|
||||
Execution failures are not retried, and encoding has no automatic OOM retry.
|
||||
|
||||
`--temporal-tiling` remains independent of spatial tiling. MiniMax H3 always uses
|
||||
spatial tiling (256x256 pixels and 25% overlap by default) and its own temporal
|
||||
windows. With `--vae-tiling`, its overlap follows `--vae-tile-overlap`; explicit
|
||||
spatial sizes are honored.
|
||||
`--temporal-tiling` remains independent of spatial tiling. The original MiniMax-H3
|
||||
video VAE uses spatial tiling (256x256 pixels and 25% overlap by default) and its own
|
||||
temporal windows. With `--vae-tiling`, its overlap follows `--vae-tile-overlap` and
|
||||
explicit spatial sizes are honored. [Sol-H3-VAE](minimax_h3.md#sol-h3-vae-decoding)
|
||||
decodes the whole clip by default and supports opt-in spatial and block-aligned
|
||||
temporal tiling. Tiling may affect output quality.
|
||||
|
||||
## Offload weights to the CPU to save VRAM without reducing generation speed.
|
||||
|
||||
|
||||
Reference in new issue
Block a user