Nodes/ComfyUI-MiniMaxH3-Myang/沐阳 H3 · 镜头素材(内部)
ComfyUI Node

沐阳 H3 · 镜头素材(内部)

Don't decode every shot's footage at once

By civilcoco·Created 3 days ago·Updated 3 days ago· 1
沐阳 H3 · 镜头素材(内部)
  • media
  • 本镜头素材
  • 动作源视频
  • 动作源音频
assets_json[]
required_frames125
asset_mode仅本镜头

The name says it all: this is a shot media node, and the (内部) in its display name is the honest part. It's an internal node that the 沐阳 H3 Director drives, and for 95% of people the correct interaction is leave it alone. But it's worth one article anyway, because it explains a design decision that saves you from a nasty memory cliff in big storyboard jobs.

Here's the problem it solves. A Director shot card can hold up to 9 images, 3 videos and 3 audio files, and a long job has many cards. If ComfyUI eagerly decoded all of them up front, you'd be holding every asset of every shot in VRAM simultaneously - and with MiniMax H3's already-large footprint, that's a path straight to OOM. H3ShotMedia instead stores the lightweight file references and only decodes the assets for one shot when that shot actually runs. That's why you can have a 12-shot storyboard full of reference media without the graph imploding.

Mechanically it's straightforward. You feed it the shot card's assets_json (a JSON list of the file references, defaulting to []), tell it how many frames the shot needs via required_frames, and pick asset_mode: 仅本镜头 (just this shot's own assets) or 叠加全局素材 (this shot's assets plus the Director's shared inventory). The optional media input carries the pack's portable MINIMAX_H3_MEDIA handle that maps editor labels like @图片1 to real files. Out the other side you get the resolved 本镜头素材 (MINIMAX_H3_MEDIA), plus 动作源视频 and 动作源音频 - the action-source video/audio for a motion-transfer shot.

If you're not on the Director path, treat this as a building block to study rather than reach for: the value is the pattern, not the node. If you do wire it by hand, the one real failure mode is feeding it invalid JSON (it raises a clear "镜头素材数据不是有效 JSON" error, so at least you know), and the output is only as good as the required_frames you declare - that's what the loader uses to decide how many frames of video to pull.

Install is the shared pack route: ComfyUI Manager, search ComfyUI-MiniMaxH3-Myang, restart; or git clone https://github.com/civilcoco/ComfyUI-MiniMaxH3-Myang.git into custom_nodes. No extra pip dependencies - the pack's whole point is that it layers on ComfyUI's official MiniMax H3 nodes without third-party packs. The real prerequisites are those official nodes and the H3 model files (diffusion, Qwen text encoder, video VAE, audio VAE), which are hefty and, remember, governed by the H3 Community License that excludes the US, EU, UK and Korea from running the local weights.

Bottom line: if you see this node in a workflow and you didn't put it there, that's working as intended. It's the Director quietly being smart about memory so your 12-shot video doesn't turn into a 12-out-of-memory-error video.

Category沐阳 H3/导演台

Inputs (4)

NameTypeDefaultDescription
assets_jsonSTRING[]
required_framesINT1255–10000
asset_modeCOMBO仅本镜头2 options: 仅本镜头, 叠加全局素材
mediaoptMINIMAX_H3_MEDIA

Outputs (3)

NameTypeDescription
本镜头素材MINIMAX_H3_MEDIA
动作源视频IMAGE
动作源音频AUDIO