[Feature][MiniMax-H3] Support the full LightX2V Turbo LoRA matrix (#7062)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
039808e0d9
commit
af74a5a155
10 files changed
+557
-141
No files matched your search
@@ -869,13 +869,51 @@ balanced switch order.
|
||||
|
||||
### Turbo LoRA
|
||||
|
||||
Only the native Diffusers 4-step FL2VA/T2VA v1.0 artifact is supported:
|
||||
The eight Diffusers-layout LightX2V Turbo artifacts are supported. The
|
||||
filename records the contract, so the server reads the step count, task family
|
||||
and flow shift from it and validates each request against the artifact that is
|
||||
loaded. It does not rewrite request or deploy-config sampling values: the
|
||||
request must carry that artifact's own settings, listed here, or it is
|
||||
rejected.
|
||||
|
||||
```text
|
||||
lightx2v/Minimax-h3-Turbo/minimax_h3_fl2v_turbo_4step_v1.0_768p_bf16.safetensors
|
||||
```
|
||||
| Artifact | Task | Forwards | `num_inference_steps` | `flow_shift` | declared `alpha` |
|
||||
| --- | --- | ---: | ---: | ---: | ---: |
|
||||
| `minimax_h3_fl2v_turbo_4step_v0.1.safetensors` | T2VA / FL2VA | 4 | 5 | 12 | none -> 8 |
|
||||
| `minimax_h3_fl2v_turbo_4step_v1.0_768p_bf16.safetensors` | T2VA / FL2VA | 4 | 5 | 6 | 128 |
|
||||
| `minimax_h3_fl2v_turbo_4step_v1.1_768p_bf16.safetensors` | T2VA / FL2VA | 4 | 5 | 6 | 128 |
|
||||
| `minimax_h3_fl2v_turbo_4step_v1.2_768p_bf16.safetensors` | T2VA / FL2VA | 4 | 5 | 6 | 8 |
|
||||
| `minimax_h3_fl2v_turbo_8step_v1.0_bf16.safetensors` | T2VA / FL2VA | 8 | 9 | 12 | 8 |
|
||||
| `minimax_h3_fl2v_turbo_8step_v1.0_768p_bf16.safetensors` | T2VA / FL2VA | 8 | 9 | 6 | 8 |
|
||||
| `minimax_h3_ref2v_turbo_4step_v0.1_bf16.safetensors` | Ref2VA | 4 | 5 | 12 | 8 |
|
||||
| `minimax_h3_ref2v_turbo_8step_v1.0_768p_bf16.safetensors` | Ref2VA | 8 | 9 | 6 | 8 |
|
||||
|
||||
Download only that file:
|
||||
`audio_flow_shift` is `3.0` across the family. Each row is the complete
|
||||
published filename; use it verbatim as `TURBO_FILE` below.
|
||||
|
||||
Alpha needs no manual compensation: the server reads it from the artifact's
|
||||
metadata, falling back to 8 with a warning for
|
||||
`minimax_h3_fl2v_turbo_4step_v0.1`, the one artifact that declares none. The
|
||||
request-level `scale` is a further multiplier on top of it.
|
||||
|
||||
> [!NOTE]
|
||||
> Every artifact is rank 128 and the delta is applied at `scale * alpha /
|
||||
> rank`, so the `alpha=8` rows drive at 1/16 the strength of the `alpha=128`
|
||||
> rows. 8 is the default of LightX2V's reference script, which never reads the
|
||||
> metadata; its documented `v0.1` command does not override that default.
|
||||
|
||||
Every artifact except `minimax_h3_fl2v_turbo_4step_v0.1` also ships a
|
||||
`_comfyui_` export of the same weights. Those fuse Q/K/V into one projection
|
||||
and are **not** supported; downloading one is refused by name. Take the
|
||||
Diffusers file. The filename is the contract, so do not rename an artifact
|
||||
either -- a renamed file is rejected rather than served on a guess.
|
||||
|
||||
FL2VA artifacts serve `t2va` and `fl2va` on any FL2VA or combined server.
|
||||
Ref2VA artifacts require
|
||||
`--task-type ref2va`: a combined server serves `ref2va` from a second DiT that
|
||||
the adapter cannot bind to, so loading one there is refused rather than silently
|
||||
running an undistilled model on the few-step schedule.
|
||||
|
||||
Download the artifact you want:
|
||||
|
||||
```bash
|
||||
export TURBO_DIR=/path/to/minimax-h3-turbo
|
||||
@@ -884,10 +922,19 @@ hf download lightx2v/Minimax-h3-Turbo "${TURBO_FILE}" --local-dir "${TURBO_DIR}"
|
||||
export TURBO_LORA="${TURBO_DIR}/${TURBO_FILE}"
|
||||
```
|
||||
|
||||
`--lora-path` accepts one artifact, or a directory holding exactly one.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> This changes earlier behaviour. `--lora-path /path/to/minimax-h3-turbo`
|
||||
> pointing at a full clone of the Turbo repository used to select the v1.0 768p
|
||||
> file implicitly; a directory holding several recognized artifacts is now
|
||||
> rejected as ambiguous. Name the artifact instead:
|
||||
> `--lora-path /path/to/minimax-h3-turbo/minimax_h3_fl2v_turbo_4step_v1.0_768p_bf16.safetensors`.
|
||||
|
||||
Start from a non-offloaded or DLO FL2VA server command and add
|
||||
`--task-type fl2va --lora-backend peft --lora-path "${TURBO_LORA}"`.
|
||||
`--lora-path` preloads the adapter; each request still activates it and uses
|
||||
the published sampling settings:
|
||||
`--lora-path` preloads the adapter; each request still activates it and must
|
||||
carry that artifact's sampling settings:
|
||||
|
||||
```bash
|
||||
-F 'num_inference_steps=5' \
|
||||
@@ -896,14 +943,25 @@ the published sampling settings:
|
||||
-F "lora={\"name\":\"h3-turbo-v1.0\",\"path\":\"${TURBO_LORA}\",\"scale\":1.0}"
|
||||
```
|
||||
|
||||
For FL2VA, change `task` and add `input_reference` as shown above. The 8-step,
|
||||
ComfyUI, Ref2VA, and v1.1 artifacts are not supported. This integration is
|
||||
dynamic-only and does not support prefusion or LoRA composition. DLO is
|
||||
Switching to another FL2VA artifact means repointing `TURBO_FILE`, which moves
|
||||
both `--lora-path` and the request's `lora.path`, and carrying that row's
|
||||
`num_inference_steps` and `flow_shift`: `9` and `6` for `8step_v1.0_768p`, `9`
|
||||
and `12` for the 544p `8step_v1.0`. A request that does not match the loaded
|
||||
artifact is rejected, so a mismatch cannot silently degrade output.
|
||||
|
||||
The two `ref2v` rows are not served by this FL2VA command. Start a
|
||||
`--task-type ref2va` server, take a request from
|
||||
[Ref2VA](#3-ref2va-image-only-imageaudio-or-mixed-references) and override
|
||||
`num_inference_steps` and `flow_shift` with that row's values; those examples
|
||||
already send `audio_flow_shift=3.0`.
|
||||
|
||||
For FL2VA, change `task` and add `input_reference` as shown above. This
|
||||
integration is dynamic-only and does not support prefusion or LoRA composition. DLO is
|
||||
supported by keeping the request-switchable LoRA A/B buffers resident on the
|
||||
accelerator while DLO streams only the base blocks; budget for this additional
|
||||
fixed HBM usage. Model-level and standard layerwise offload remain unsupported.
|
||||
The five requested sigma points produce the four denoiser evaluations expected
|
||||
by the Turbo artifact.
|
||||
The requested sigma points always number one more than the artifact's denoiser
|
||||
evaluations.
|
||||
|
||||
### FlashGen native LoRA
|
||||
|
||||
|
||||
Reference in new issue
Block a user