Skip to content

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

Open
lstein wants to merge 3 commits into
minimax-h3/04-linear-uifrom
minimax-h3/05-starter-and-workflows
Open

feat(minimax-h3): default workflows; starter-model decision documented (PR 5/5)#60
lstein wants to merge 3 commits into
minimax-h3/04-linear-uifrom
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>
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