Nodes/ComfyUI-MiniMaxH3-PrefixStream/MiniMax H3 Clip Bin Tree Picker (Lineage Graph)
ComfyUI Node

MiniMax H3 Clip Bin Tree Picker (Lineage Graph)

See Where Every Clip Came From Before You Continue It

By knoic·Created 7 days ago·Updated 4 days ago· 3
MiniMax H3 Clip Bin Tree Picker (Lineage Graph)
    • latent
    • tail_frame
    • first_frame
    • prompt
    • clip_id
    project_nameDefault_Project
    modeAuto (首段全新 / 后续自动接力)
    filter_ratingAll (1-5 ⭐)
    clip_selectionlatest
    custom_clip_path
    view_modeTree (关系树)

    MiniMax H3 gives you 4–15 seconds at a time. Anything longer is a chain of clips, and the moment you start re-generating "take 3" of shot 2 and continuing from it, a flat list of filenames stops being enough. This node is the answer to that specific mess: the same Clip Bin loader you'd normally use, but it opens as a DAG tree of your clips and their parents.

    The pack it lives in is one author's (knoic) attempt to wrap that segmented long-video problem in a real workflow: archive the clip, pick what to continue from, stitch. The Tree Picker is the browsing half, in "show me the story so far" mode.

    What actually makes it different from the plain Picker

    Under the hood the two node classes are nearly the same thing. MiniMaxClipBinTreePicker in the pack source subclasses the gallery picker and changes one thing: view_mode defaults to Tree (关系树) instead of Deck (卡片流).

    That matters more than it sounds, because the tree isn't decorative. The frontend fetches /minimax/clip_bin/list, then builds a forest from each clip's parent_clip_id: clips with a parent become children, clips without one become roots. It walks your selected clip's ancestors and tags them, so you can see at a glance which are the main line (🔗), which are side branches (🌿), which are roots (🌱), and which one is the current relay source (🎯). There's also a virtual "Auto 初始镜头" card at the top - click it and the selection resets to latest, which on an empty bin means a fresh first clip.

    Where people get burned: this only works if you wired clip_id into the Saver's parent_clip_id on the previous generation. Skip that and every clip is a root - your "tree" is a row of orphan cards. It still picks fine; it just can't tell you anything.

    The inputs worth setting

    Everything below is straight from the node's declared schema.

    project_name is a plain text box, not a dropdown. It maps to a folder under ComfyUI/output/minimax_h3_bins/<name>/, and each clip inside gets its own directory with latent.safetensors, first/tail frame PNGs, a preview card, and a meta.json. Typo it and you get a brand-new empty project - which, in Auto, means the node decides you're generating a first clip and hands you no context at all. There's no dropdown of your existing bins, so the bin you meant and the bin you typed can quietly be two different places; the console logs the names it knows about.

    mode is the one input to think about. Auto is the good default: empty bin → initial generation, non-empty bin → continue the newest qualifying clip with no rewiring. Force Initial ignores the library and starts a new branch. Strict Chaining raises an error when there's nothing to continue from - what you want for an unattended batch.

    filter_rating and clip_selection are your quality gate. Ratings are 1–5 stars, set on the Saver, and clip_selection takes latest, a literal clip_id, or a shot_tag substring - so "rain" finds your rain shots. Note that latest means newest after filtering, and that if your star filter matches nothing the node silently falls back to the whole bin with only a console warning. Ask for ⭐⭐⭐⭐+ on a project where everything is 3 and you'll get the 3-star clip anyway.

    view_mode defaults to the tree here; flip it to Deck from the node header. custom_clip_path is the escape hatch for a bin folder outside the standard tree - but pass a path that isn't a real directory and it quietly falls back to the normal project lookup instead of erroring.

    Outputs

    Five of them: latent, tail_frame, first_frame, prompt, clip_id. The latent is the full joint audio+video H3 latent, repacked so it drops straight into the Continuation Applier's context_latent. tail_frame is the last frame as an IMAGE - handy as an i2v-style reference - and prompt is the prompt stored when that clip was saved. clip_id goes into the next Saver's parent_clip_id, and that wire is what grows the tree.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/knoic/ComfyUI-MiniMaxH3-PrefixStream.git
    cd ComfyUI-MiniMaxH3-PrefixStream
    pip install -r requirements.txt
    

    The dependency list is refreshingly boring - torch, safetensors, pillow. No FFmpeg unless you use the separate disk-streaming node. It's also on ComfyUI Manager; search the pack title. After installing, restart and hit Ctrl + F5. That hard refresh isn't optional: the tree is drawn by the pack's own web/ extension, and a stale cache gives you the node with no gallery in it.

    Gotchas worth knowing

    Strict Chaining on an empty project is a wall, not a warning. In initial mode the node returns latent=None plus a placeholder image and the id [INITIAL_GENERATION] - which is why the pack also ships Safe VAE Decode nodes, so a first-clip run doesn't crash downstream. The delete button on a tree card really does delete the clip directory off disk, no recycle bin. And worth saying out loud: H3's open weights are geofenced out of the US, EU, UK and Korea under the Community License, so if you're in one of those territories you're on the hosted API path, not this one.

    It's a single-author pack with essentially no community footprint yet. For a linear workflow the plain Deck Picker is enough. The moment you start exploring branches - two endings from the same shot 5 - this is the node you want.

    CategoryMiniMaxH3/ClipBin

    Inputs (6)

    NameTypeDefaultDescription
    project_nameSTRINGDefault_Project【选择项目库】要读取素材的项目文件夹名称(如 Default_Project)。可在 ComfyUI 运行控制台查看已存在的项目名称列表
    modeCOMBOAuto (首段全新 / 后续自动接力)【运行工作模式】 • Auto(强烈推荐):若项目库为空自动作为首段全新生成;后续运行时全自动接续上一段,无需任何拔线或手动操作! • Force Initial:强制开辟首段,忽略库内所有历史素材。 • Strict Chaining:严格接力模式,库内无镜头时直接报错提示
    filter_ratingCOMBOAll (1-5 ⭐)【星级过滤器】只读取大于等于该评级的镜头(如过滤掉 1~3 星的测试废案,只接续 4 星或 5 星的满意镜头)
    clip_selectionSTRINGlatest【镜头定位】 • 填 'latest'(默认):自动调取最新生成的优质镜头进行无缝接续 • 填 clip_id(如 clip_20260908...):精确跳转或回溯到指定的历史镜头开启新分支 • 填 shot 名称:按镜头标签名称匹配
    custom_clip_pathoptSTRING【自定义物理路径覆盖】可选高级选项。填入绝对路径可直接载入任意磁盘目录下的 Clip Bin 镜头文件夹
    view_modeoptCOMBOTree (关系树)【界面展现模式】分支血缘拓扑树 或 卡片横向滚动流(亦可在节点界面顶部一键切换)

    Outputs (5)

    NameTypeDescription
    latentLATENT
    tail_frameIMAGE
    first_frameIMAGE
    promptSTRING
    clip_idSTRING