tool/endpoint: run_workflow / validate_workflow on the templates/minimax/* H3 family — workflow variables
repro:
get_workflow(name="templates/minimax/video-with-audio")
The step's arguments block exposes prompt, num_frames, width, height,
num_inference_steps. The loras entry exposes model_name, weight_name,
adapter_name, scale. Nothing anywhere exposes a sampler shift or a
lora alpha.
expected: the knobs upstream requires in order to run a 768p turbo LoRA correctly are
reachable as workflow variables.
actual: they are not, which makes the 768p LoRAs (see the sibling issue for the variant
template) unusable correctly even though lora_weight_name is already a variable and the
filename swap is a one-argument override.
Upstream's own 768p invocation
(DIFFUSERS_SETUP_AND_INFERENCE.md):
python inference_minimax_h3.py \
--lora-path minimax_h3_fl2v_turbo_4step_v1.0_768p_bf16.safetensors \
--inference-steps 4 \
--video-shift 6 \
--lora-alpha 128 \
--megapixels 1.0 --aspect-ratio 16:9
MiniMaxAI/MiniMax-H3 ships scheduler/scheduler_config.json with "shift": 12.0, which is
the 544p training value. The 768p FL2VA LoRAs are trained at shift 6/3 (video/audio);
the 768p Ref2VA LoRA is trained at 12/3. Loading a 768p LoRA without changing shift runs it
on the wrong sigma schedule.
Note lora_scale (what we expose) and lora_alpha (what upstream sets) are not the same
quantity — scaling to 0 disables a LoRA, but it is not a substitute for alpha.
Per the model-specs table, video and audio shift are independent, so both need exposing.
why now: this blocks the two sibling issues. Found while trying to render an H3 clip at
1344x768: with no 768p LoRA available in the template, the only route to that canvas was
lora_scale: 0 + 20 base steps, ~2.5x the compute of the correct 8-step 768p path.
Research write-up (file list, dates, specs table, sources): see the comment below.
tool/endpoint:
run_workflow/validate_workflowon thetemplates/minimax/*H3 family — workflow variablesrepro:
The step's
argumentsblock exposesprompt,num_frames,width,height,num_inference_steps. Thelorasentry exposesmodel_name,weight_name,adapter_name,scale. Nothing anywhere exposes a sampler shift or alora alpha.
expected: the knobs upstream requires in order to run a 768p turbo LoRA correctly are
reachable as workflow variables.
actual: they are not, which makes the 768p LoRAs (see the sibling issue for the variant
template) unusable correctly even though
lora_weight_nameis already a variable and thefilename swap is a one-argument override.
Upstream's own 768p invocation
(DIFFUSERS_SETUP_AND_INFERENCE.md):
MiniMaxAI/MiniMax-H3shipsscheduler/scheduler_config.jsonwith"shift": 12.0, which isthe 544p training value. The 768p FL2VA LoRAs are trained at shift 6/3 (video/audio);
the 768p Ref2VA LoRA is trained at 12/3. Loading a 768p LoRA without changing shift runs it
on the wrong sigma schedule.
Note
lora_scale(what we expose) andlora_alpha(what upstream sets) are not the samequantity — scaling to 0 disables a LoRA, but it is not a substitute for alpha.
Per the model-specs table, video and audio shift are independent, so both need exposing.
why now: this blocks the two sibling issues. Found while trying to render an H3 clip at
1344x768: with no 768p LoRA available in the template, the only route to that canvas was
lora_scale: 0+ 20 base steps, ~2.5x the compute of the correct 8-step 768p path.Research write-up (file list, dates, specs table, sources): see the comment below.