Nodes/Nynxz H3/Grey Box Shot
ComfyUI Node

Grey Box Shot

Block the Shot Before You Spend a Single H3 Render

By Nynxz·Created 2 months ago·Updated about 22 hours ago· 6
Grey Box Shot
    • frames
    • depth
    • mask
    • sheet
    • video_ref
    ◄sceneexamples/midnight-spoon/scenes/mika-arrives.json►
    ◄shot1A►
    ◄width832►
    ◄height480►
    ◄savetrue►
    ◄mask_actor►

    Video models are bad at what storyboard artists take for granted: where people stand, where the camera is, and how both move. Ask H3 for "she walks to the counter" and you'll get an interpretation of that, three times out of three. Grey Box Shot is how you stop asking - it renders the geometry first, cheaply, and hands H3 a reference that says this layout, this camera move.

    What it actually renders

    You point it at a scene file - plain JSON describing a set of simple shapes, a cast moving between named marks, and a camera per shot - and it rasterises one shot as grey video. No meshes, no external 3D engine: the pack's core does exact ray–shape intersection against boxes, cylinders, spheres and capsules, on your torch device. Which is why there is nothing extra to install for this. It's all in the pack.

    The full editor for building those scenes is Grey Box Studio; this node is the same renderer with sockets, for when you want blocking coming out of a graph instead of a panel.

    The inputs that matter

    • scene - the scene file, either under ComfyUI's user folder or a pack example (the default points at the shipped examples/midnight-spoon/scenes/mika-arrives.json). Good place to start poking.
    • shot - the shot's name inside that scene, 1A by default.
    • width / height - the render size, default 832×480, snapped to 16. Match your generation size here; a reference at the wrong aspect is a reference you'll fight.
    • save - on by default. Writes the grey mp4 to output/greybox so you can drop it into H3 as media.
    • mask_actor - optional. Give it a character like @ren and you get a mask of that figure. Leave it empty and you get an empty mask.

    What comes out

    Five outputs, and they map onto different jobs in your workflow:

    • frames - the grey video as images. Feed it into H3 as a blocking or layout reference.
    • depth - the same shot rendered as depth. This is the one to reach for when you want the H3 Fun ControlNet to steer the layout instead of H3 looking at a grey box.
    • mask - your chosen character, isolated per frame, for compositing or region work.
    • sheet - a contact sheet: every shot's frames plus the plan view from above. Read it before you render anything expensive. It's how you catch someone locked behind the counter.
    • video_ref - the saved file as a media ref string, ready to paste into H3 Studio's references.

    One detail worth knowing: the node fingerprints the mtimes of the scene file, the set files and cast.json. Edit the JSON outside ComfyUI, queue again, and it re-renders without you touching a widget.

    Wiring it in

    The interesting path is depth-as-control. Put a grey/depth render in a scene as a Control video, load the H3 Fun ControlNet on Setup, and H3 keeps your staging and camera move while drawing the look from your picture references instead. That fixes blocking's one real catch: shown to H3 as an ordinary reference, a grey box tends to come back looking like a grey box.

    Installing and troubleshooting

    Same pack, same steps for every node here:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Nynxz/ComfyUI-NynxzH3
    

    Then restart. You'll need ComfyUI 0.30.0 or newer. Cloning by hand also needs pnpm install && pnpm build for the editor frontend; ComfyUI Manager's registry package already contains the built bundle.

    "No shot 'X' in …" - the shot name doesn't exist in the scene. The error lists the shots that do. Use one of those.

    The render looks right but H3 ignores it - you're probably feeding frames as a plain reference. Grey video as a look is a weak signal. depth into a Control video is the strong one.

    Nothing re-renders after you edit the scene - you edited a file outside the fingerprint's view, or the scene path resolves somewhere unexpected. save off also means no video_ref, so nothing downstream can find the mp4.

    CategoryNynxz/H3/Grey box

    Inputs (6)

    NameTypeDefaultDescription
    sceneSTRINGexamples/midnight-spoon/scenes/mika-arrives.jsonThe scene file: under ComfyUI's user folder, or a pack example.
    shotSTRING1AThe shot's name in the scene.
    widthINT83264–2048—
    heightINT48064–2048—
    saveBOOLEANtrueSave the grey video to output/greybox (to add as an H3 Studio reference).
    mask_actoroptSTRINGA character ("@ren") to output a mask of. Empty: an empty mask.

    Outputs (5)

    NameTypeDescription
    framesIMAGE—
    depthIMAGE—
    maskMASK—
    sheetIMAGEEvery shot's frames and the plan.
    video_refSTRINGThe saved video, as a media ref.