Skip to content

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

feat(minimax-h3): default workflows; starter-model decision documented (PR 5/5)#60
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 GBfilter_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 join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant