Nodes/DirectorDeck/DirectorDeck Strict MiniMax H3 Attention Backend
ComfyUI Node

DirectorDeck Strict MiniMax H3 Attention Backend

Pick your MiniMax H3 attention backend and make it stick

By JYE-HC·Created 27 days ago·Updated 21 days ago· 17
DirectorDeck Strict MiniMax H3 Attention Backend
  • model
  • model
mode

Two inputs, one job: install exactly the MiniMax H3 attention backend you asked for, or refuse to run. That's the whole node - and the "or refuse" half is the reason it exists.

It ships in DirectorDeck, the pack that embeds a timeline director console for MiniMax H3 into ComfyUI. In a normal interactive session, "mostly works" is fine. In a long-film director run - segments sampled in sequence, then stitched - a backend that silently changes between runs turns into inconsistent output you only spot at the end. This node is the guardrail for that.

How it works

ComfyUI's own ModelAttentionBackend is lenient: if the requested backend can't be resolved, it falls back to PyTorch attention so the job still completes. Convenient, sure. But it means "I asked for int8 attention" and "I got int8 attention" are not the same sentence.

So this node reverses the default. It first verifies your model is a genuine ComfyUI MiniMaxH3Model and that nothing else in the graph already claimed an attention override. Then it resolves the requested backend, proves the device can run it, and only then clones the ModelPatcher, installs the override on the clone, and reflects back through ComfyUI to confirm the exact callable got bound. If the real thing can't be installed, it errors before a single sample runs. No branch returns the input model as a successful no-op.

The inputs that matter

  • model (MODEL) - the H3 model patcher from your loader.
  • mode - a dropdown with two choices:
    • pytorch - stock PyTorch attention. No extra dependencies, works anywhere, and it's the safe baseline if you just want the deterministic contract without changing your memory profile.
    • ck_int8 - ComfyKitchen int8 attention, ComfyUI's bundled optimized-attention path. Int8-quantized attention means a smaller memory footprint, which matters on a 33B model. But it needs your model on CUDA and a ComfyUI runtime where the ComfyKitchen int8 kernels are actually available.

Output is a single patched model (MODEL) - wire it into your sampler like any other model patch node.

Installing it

Same pack as its strict sibling:

cd ComfyUI/custom_nodes
git clone https://github.com/JYE-HC/DirectorDeck.git
/path/to/ComfyUI/.venv/bin/python -m pip install -r DirectorDeck/requirements.txt

then restart (or search "DirectorDeck" in ComfyUI Manager). The install pulls web-server plumbing - fastapi, uvicorn, httpx, pydantic - because the pack hosts its Director UI in-process. The README recommends ComfyUI 0.33.0 or newer; the ComfyKitchen int8 path in particular is a runtime feature, so an old ComfyUI is the first suspect when ck_int8 won't resolve.

Where people get burned

  • "ck_int8 is unavailable in this ComfyUI runtime" - either your ComfyUI is too old for the ComfyKitchen int8 kernels, or your GPU/driver combo doesn't support them. Update ComfyUI, or just switch the mode to pytorch and move on.
  • "refuses a MODEL that already has an attention override" - something upstream already set optimized attention, typically a Sage patch or a perf node. You can't stack this with DirectorDeck's own DirectorStrictH3LowVramSagePatch; they're deliberately mutually exclusive. Pick one attention authority per graph.
  • Wrong model type - it insists on the exact MiniMaxH3Model type. Feed it a Wan or SD checkpoint and it errors, which is the point.
  • And the elephant: the H3 weights themselves are geofenced by license out of the US, EU, UK and South Korea. If you're in an excluded territory, no backend choice makes running the local weights legal.

If you're just doing casual sampling, the stock ModelAttentionBackend node that ships with ComfyUI is fine - it's friendlier about falling back. This one is for when "what actually ran" has to equal "what I selected," down to the last sample of a long film.

CategoryDirectorDeck/model/strict

Inputs (2)

NameTypeDefaultDescription
modelMODEL
modeCOMBO2 options: pytorch, ck_int8

Outputs (1)

NameTypeDescription
modelMODEL