[PR #17] [MERGED] fix(generate-video): correct MiniMax H3 routing facts #16

Closed
opened 2026-10-26 22:34:00 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-skills/pull/17
Author: @mattmillerai
Created: 8/10/2026
Status: ✅ Merged
Merged: 8/18/2026
Merged by: @mattmillerai

Base: main ← Head: matt/fix-minimax-h3-routing-facts


📝 Commits (1)

  • 1f33a8c fix(generate-video): correct MiniMax H3 routing facts

📊 Changes

1 file changed (+7 additions, -6 deletions)

View changed files

📝 skills/comfy-generate-video.md (+7 -6)

📄 Description

ELI5

The MiniMax H3 notes added in #15 tell agents to call a search_nodes parameter that doesn't exist, and to reach MiniMax through partner_generate, which doesn't serve it. This corrects both to the calls that actually work.

What's wrong

Verified empirically against the bundled Comfy Cloud catalog (comfy-cloud-mcp-server, the repo that mirrors this file into data/skills.json — see PR #1137, whose Cursor review panel reached the same conclusions independently).

Claim in #15 Reality
"A search_nodes call with exclude_api=True also isolates the OSS node" No such parameter. The only API filter is api_nodes_only, and it can only narrow to API nodes — api_nodes_only: false is a no-op (!params.api_nodes_only || entry.item.api_node === true). search_nodes is registered via registerStrictTool, so an unknown key is a hard schema error, not an ignored one.
"hailuo (the alias partner_generate uses)" partner_generate registers no MiniMax model id at all — 20 slugs, none MiniMax. partnerUnknownModelMessage('hailuo') → unknown model "hailuo".
"Hailuo … is the older MiniMax Hailuo family, not H3" Inverted for the surface that matters: the paid H3 node is MinimaxHailuo03TextToVideoNode (partner catalog: "Minimax V2 (Hailuo 03)"), run by the api_minimax_h3_* templates. The older family is Hailuo 02 / T2V-01 (MinimaxHailuoVideoNode).
"an OSS template/node uses a plain prefix like video_*; a partner/API node uses api_*" A template-name convention only. Node classes are CamelCase on both routes (MiniMaxH3ImageToVideo OSS, MinimaxHailuo03TextToVideoNode paid), so "confirm the prefix with search_nodes/get_node" pointed at results that can never carry it.

Two routing holes from the same rewrite:

  • The partner-only bullet said to continue to Step 1 on "unknown model" — i.e. silently run the OSS route a user had just chosen the paid one over.
  • The rewrite dropped the old or the matching node has no partner/ prefix (OSS model) clause, leaving an OSS-only family with no branch.

What this changes

  • Node/template discriminator corrected; category: "model" / category: "partner" is named as the filter that does isolate a route.
  • MiniMax's real paid path named: the api_minimax_h3_* template via run_template, not partner_generate.
  • Hailuo 03 ↔ H3 mapping corrected, with Hailuo 02 / T2V-01 named as the older family.
  • OSS-only branch restored; the partner-only bullet now offers the OSS switch instead of substituting it.
  • One evidence-precedence rule instead of two that contradicted each other.
  • The "they already said free/local" carve-out no longer skips the fact that an OSS run on Comfy Cloud still spends compute credits.

Verification

search_nodes q="minimax h3"       → MiniMaxH3ImageToVideo … (model/conditioning/minimax)
                                    MinimaxHailuo03TextToVideoNode … (partner/video/MiniMax)
  category:"model"                → 6 hits, OSS only
  category:"partner"              → 3 hits, paid only
  api_nodes_only:false            → identical to omitting it (no-op)
search_templates q="minimax h3"   → video_minimax_h3_{t2v,i2v,r2v} | api_minimax_h3_{t2v,r2v,flf2v}
partner models registered          → 20, none MiniMax

Downstream

comfy-cloud-mcp-server #1137 is the daily snapshot refresh carrying #15's text; it is red on the BE-4787 negative-claim guard. Once this merges, re-dispatch refresh-skills.yml so that PR rebuilds on the corrected text. Its guard will still need NEGATIVE_CLAIM_INVENTORY rows for the (now true) new claims — tracked separately.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-skills/pull/17 **Author:** [@mattmillerai](https://github.com/mattmillerai) **Created:** 8/10/2026 **Status:** ✅ Merged **Merged:** 8/18/2026 **Merged by:** [@mattmillerai](https://github.com/mattmillerai) **Base:** `main` ← **Head:** `matt/fix-minimax-h3-routing-facts` --- ### 📝 Commits (1) - [`1f33a8c`](https://github.com/Comfy-Org/comfy-skills/commit/1f33a8cb87ed6b27183f0940b20964ac2e2c3ead) fix(generate-video): correct MiniMax H3 routing facts ### 📊 Changes **1 file changed** (+7 additions, -6 deletions) <details> <summary>View changed files</summary> 📝 `skills/comfy-generate-video.md` (+7 -6) </details> ### 📄 Description ## ELI5 The MiniMax H3 notes added in #15 tell agents to call a `search_nodes` parameter that doesn't exist, and to reach MiniMax through `partner_generate`, which doesn't serve it. This corrects both to the calls that actually work. ## What's wrong Verified empirically against the bundled Comfy Cloud catalog (`comfy-cloud-mcp-server`, the repo that mirrors this file into `data/skills.json` — see [PR #1137](https://github.com/Comfy-Org/comfy-cloud-mcp-server/pull/1137), whose Cursor review panel reached the same conclusions independently). | Claim in #15 | Reality | | --- | --- | | "A `search_nodes` call with `exclude_api=True` also isolates the OSS node" | No such parameter. The only API filter is `api_nodes_only`, and it can only narrow **to** API nodes — `api_nodes_only: false` is a no-op (`!params.api_nodes_only \|\| entry.item.api_node === true`). `search_nodes` is registered via `registerStrictTool`, so an unknown key is a hard schema error, not an ignored one. | | "`hailuo` (the alias `partner_generate` uses)" | `partner_generate` registers **no MiniMax model id at all** — 20 slugs, none MiniMax. `partnerUnknownModelMessage('hailuo')` → `unknown model "hailuo"`. | | "Hailuo … is the older MiniMax Hailuo family, not H3" | Inverted for the surface that matters: the paid H3 node is `MinimaxHailuo03TextToVideoNode` (partner catalog: *"Minimax V2 (Hailuo 03)"*), run by the `api_minimax_h3_*` templates. The older family is Hailuo 02 / `T2V-01` (`MinimaxHailuoVideoNode`). | | "an OSS template/node uses a plain prefix like `video_*`; a partner/API node uses `api_*`" | A **template**-name convention only. Node classes are CamelCase on both routes (`MiniMaxH3ImageToVideo` OSS, `MinimaxHailuo03TextToVideoNode` paid), so "confirm the prefix with `search_nodes`/`get_node`" pointed at results that can never carry it. | Two routing holes from the same rewrite: - The partner-only bullet said to `continue to Step 1` on `"unknown model"` — i.e. silently run the **OSS** route a user had just chosen the paid one over. - The rewrite dropped the old `or the matching node has no partner/ prefix (OSS model)` clause, leaving an **OSS-only** family with no branch. ## What this changes - Node/template discriminator corrected; `category: "model"` / `category: "partner"` is named as the filter that does isolate a route. - MiniMax's real paid path named: the `api_minimax_h3_*` template via `run_template`, not `partner_generate`. - Hailuo 03 ↔ H3 mapping corrected, with Hailuo 02 / `T2V-01` named as the older family. - OSS-only branch restored; the partner-only bullet now offers the OSS switch instead of substituting it. - One evidence-precedence rule instead of two that contradicted each other. - The "they already said free/local" carve-out no longer skips the fact that an OSS run **on Comfy Cloud** still spends compute credits. ## Verification ``` search_nodes q="minimax h3" → MiniMaxH3ImageToVideo … (model/conditioning/minimax) MinimaxHailuo03TextToVideoNode … (partner/video/MiniMax) category:"model" → 6 hits, OSS only category:"partner" → 3 hits, paid only api_nodes_only:false → identical to omitting it (no-op) search_templates q="minimax h3" → video_minimax_h3_{t2v,i2v,r2v} | api_minimax_h3_{t2v,r2v,flf2v} partner models registered → 20, none MiniMax ``` ## Downstream `comfy-cloud-mcp-server` [#1137](https://github.com/Comfy-Org/comfy-cloud-mcp-server/pull/1137) is the daily snapshot refresh carrying #15's text; it is red on the BE-4787 negative-claim guard. Once this merges, re-dispatch `refresh-skills.yml` so that PR rebuilds on the corrected text. Its guard will still need `NEGATIVE_CLAIM_INVENTORY` rows for the (now true) new claims — tracked separately. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:34:00 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-skills#16
No description provided.