Skip to content
This repository was archived by the owner on Oct 4, 2026. It is now read-only.

feat(minimax-h3): default workflows; starter-model decision documented (PR 5/5) - #60

Merged
lstein merged 4 commits into
mainfrom
minimax-h3/05-starter-and-workflows
Aug 15, 2026
Merged

lstein merged 4 commits into
mainfrom
minimax-h3/05-starter-and-workflows

Conversation

@lstein

@lstein lstein commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Note

Port of lstein#144 to the InvokeAI-7 tree. Mechanical replay of the original commits onto v7 main (4a48a37967); openapi.json/schema.ts regenerated and verified drift-free at every level, and the dependencies.py auto-merge verified by hand. All changes target the backend and the existing frontend/web app - webv2 is untouched (H3 support in the new UI is future work). Review history and test notes live on the original PR.

Note

Supersedes lstein#142, which GitHub auto-marked as merged (and auto-deleted the branch) when a botched force-push briefly made the head ref equal to its base during a stack rebase. No content was ever merged; this PR carries the identical (rebased) commits.

Summary

PR 5 of 5 in the MiniMax H3 stack (on top of lstein#141): default workflows, plus a documented decision on the starter-model entry. Two commits, deliberately separated so the license-sensitive part stays droppable.

Commit 1 — default workflows

  • Text to Video - MiniMax H3: loader → prompt → denoise → latents-to-video with both video_latents/audio_latents and the video+audio VAE edges. Form exposes model, prompt, width/height, frames, steps. Notes cover the 17n+5 frame grid, fixed 24 fps, 32-px dimension grid, muxed AAC audio, and the absence of a negative prompt.
  • First Frame to Video - MiniMax H3: adds minimax_h3_frame_conditioning. The backend's keyframe-coupling contract is enforced structurally: a single image node feeds first_image on both the prompt and frame-conditioning nodes, and shared width/height integer nodes feed prompt + frame conditioning + denoise — form edits cannot desynchronize them.
  • Both files are covered by the default-workflow registry test (node types/versions/inputs validated against the live registry; glob count bumped 12 → 14). Defaults verified legal: 124 frames, steps 50, 1344×768.

Commit 2 — starter model: documented TODO, no entry

Neither expressible install source works, so no entry ships yet:

  • A bare MiniMaxAI/MiniMax-H3 source downloads ~498 GB — filter_files keeps every model*.safetensors across all subtrees, including FL2VA/, Ref2VA/, and transformer_ref/.
  • The ::subfolder+subfolder syntax keeps only files inside the listed subfolders and silently drops the root modular_model_index.json that the H3 probe hard-requires — the install would land as an unknown model.

The TODO in starter_models.py records both unblock paths (a root-config-aware filter_files, or an upstream FL2VA-only repo) and the MiniMax H3 Community License constraints (territory exclusions extend to outputs; "MiniMax H3" attribution). Until then, users install the model manually by pointing the Model Manager at a locally assembled fl2va folder (~42.5 GB working set).

Testing

  • tests/app/services/model_install + tests/app/services/workflow_records + tests/model_identification: 146 passed, 0 failures; ruff clean.
  • Both JSONs pass WorkflowValidator.validate_json, and every edge handle was checked against the actual invocation input/output models.
  • Manual gate: load each default workflow in the Workflow Editor once and run it (the default-workflows README asks for this before release).

🤖 Generated with Claude Code

lstein and others added 3 commits August 7, 2026 13:28
Two default workflows following the Wan video precedent. The i2v variant
wires the one First Frame image node and shared Width/Height integer nodes
to the prompt, frame-conditioning and denoise nodes so the backend's
keyframe-coupling contract holds structurally.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The installer cannot express 'root layout minus the Ref2VA subtrees': a bare
repo source pulls ~498 GB and a subfolder-set source drops the root
modular_model_index.json the probe requires. Records the unblock options and
the MiniMax H3 Community License constraints any future entry must carry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ult workflow

Adds a 'MiniMax H3 Ideal Dimensions' node (mirroring the Wan 2.2 Ideal
Dimensions pattern): a thin wrapper over the vendored resolve_canvas_size
policy — 768px short edge, soft 768x1344 area cap, both axes snapped to the
32 grid, aspect ratios 1:4 through 4:1. Unlike the Wan nodes there is no
resolution preset or rounding mode: H3 was released for exactly one canvas
family and the policy is the released pipeline's, verbatim.

The 'First Frame to Video - MiniMax H3' default workflow now derives the
canvas from the uploaded image (image width/height -> ideal dimensions ->
prompt/frame-conditioning/denoise), matching 'Image to Video - Wan 2.2
Lightning'. The manual Width/Height form fields are gone - previously a
mismatched aspect ratio stretched the keyframe onto whatever canvas was
typed in.

openapi.json/schema.ts regenerated for the new node.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Only conflict was the generated schema.ts, regenerated from the merged source
(scripts/generate_openapi_schema.py + pnpm typegen) rather than hand-merged.
openapi.json auto-merged and was regenerated alongside it.

starter_models.py auto-merged, so it was checked by hand: main's FLUX.2 [dev]
region and this branch's MiniMax H3 region are both present in the result.

Checked for the two failure modes the earlier syncs in this stack hit: no
persisted-state migration collision (this branch touches no redux slice), and
the five vendored minimax_h3 files still differ from
huggingface/diffusers@abc5e9bf71 by import lines only.

Verified: 149 passed / 4 skipped backend, 1738 frontend tests across 144 files,
tsc clean, ruff check + format clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lstein
lstein enabled auto-merge August 15, 2026 18:58
@lstein
lstein merged commit 4deef74 into main Aug 15, 2026
19 checks passed
@lstein
lstein deleted the minimax-h3/05-starter-and-workflows branch August 15, 2026 19:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant