⑥ Output · Enzino H3 WF ✦
The node that makes the whole graph run — and why your MP4 still has your workflow in it
- bus
- video
- frames
- audio
In ComfyUI, a graph doesn't run because you pressed queue. It runs because there's an output node somewhere at the end, and the engine walks backwards from it. ⑥ Output · Enzino H3 WF ✦ is that anchor for this chain: it takes the ✦ wire, muxes the frames and the stereo track into a video, writes an MP4, and hands you the result.
If you delete or bypass it, nothing downstream is left to want the video, and the render quietly never happens. That single fact explains a whole category of "my workflow is doing nothing" posts, and it's the same mechanics that make ComfyUI's cache behave oddly - an output node always runs, everything else only runs when something behind it changed.
What it writes
save_on is the switch between a real save and a preview. On, and the file lands in ComfyUI's output directory under folder (default MiniMax_H3) with filename as its stem (default enzino_h3), plus a counter suffix so runs never overwrite each other. Non-alphanumeric characters in the filename are sanitised to underscores for you - no reason to fight that.
Off, and the file goes to the temp directory instead: still playable in the node's player and still visible in the UI, just not in your output folder. That's exactly what you want while you're still iterating.
The container is MP4, H.264 with AAC stereo, and the workflow - the whole graph plus its prompt metadata - is embedded in the file. Drag a saved clip back onto the ComfyUI canvas and you get your workflow back, settings and all. People forget this is happening and then wonder why their exported MP4 is a few hundred kilobytes larger than expected. It's the workflow.
The signature and the social formats
sign_on burns a text signature into the video: sign_text (default @enzinoai), sign_pos (five corners-and-centre options), sign_size (0.015 to 0.1, as a fraction of the frame), sign_opacity (0.1 to 1).
social is a JSON list of extra aspect-ratio renders - the Reels 9:16, Feed 1:1, Portrait 4:5 and YouTube 16:9 crops the pack can produce - and social_focus slides the crop window between 0 and 1 so you can frame on the action instead of the dead centre. In the source the crops are taken from the clean picture first and signed afterwards, so a 9:16 cut doesn't inherit a signature burned into the wrong corner of the 16:9 master. That ordering is the sort of detail that only shows up after you've shipped a bad vertical.
Both of these are Full-edition features. In the free build the node still runs and still saves, it just doesn't sign or crop - no error, so if you set sign_text and nothing appears, that's the answer.
The outputs you can use
Three: video (a proper VIDEO), frames (IMAGE) and audio (AUDIO). Feeding video into a core preview or save node instead of the built-in saver is perfectly reasonable and a legitimate way to test without writing files. The frames output is handy for chaining into a second pass, and audio is the real H3 soundtrack - not a placeholder, because H3 generates picture and stereo sound together in one pass rather than bolting a separate audio model on the end.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/byenzinoai/ComfyUI-Enzino-H3-Studio
# restart ComfyUI, Ctrl+F5
The pack declares zero pip dependencies, so there's nothing to install beyond ComfyUI itself - but you do need a recent ComfyUI with native MiniMax H3 support, plus the ~40 GB of weights (the ◆ Models card will download what's missing, resumably).
Where people get burned
- "⑥ Output needs the ✦ wire from ④ Render or ⑤ Enhance." The node raises this by name when the bus arrives without frames. Either the wire is missing, or something upstream is bypassed.
- Nothing renders and there's no error. Check that this node isn't muted. A chain with no live output node is a chain ComfyUI has no reason to execute.
- Not sure whether it saved. The node pushes a status line to the card - "Saved" or "Preview ready" - and the log carries the same. If it says preview,
save_onwas off or the run was served from cache. - Files going somewhere unexpected.
folderis relative to ComfyUI's output directory, and it happily creates subfolders. If your clip vanished, look inoutput/MiniMax_H3/before assuming the save failed.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| bus | ENZINO_H3 | — | |
| save_on | BOOLEAN | true | — |
| folder | STRING | MiniMax_H3 | — |
| filename | STRING | enzino_h3 | — |
| sign_on | BOOLEAN | false | — |
| sign_text | STRING | @enzinoai | — |
| sign_pos | COMBO | bottom-right | 5 options: bottom-right, bottom-left, bottom-center, top-right, top-left |
| sign_size | FLOAT | 0.0350.015–0.1 | — |
| sign_opacity | FLOAT | 0.850.1–1 | — |
| social | STRING | [] | — |
| social_focus | FLOAT | 0.500–1 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| frames | IMAGE | — |
| audio | AUDIO | — |