Nodes/CineStack H3 / 影栈/CineStack H3 Director Planner Conditioning
ComfyUI Node

CineStack H3 Director Planner Conditioning

Same Conditioning, Plus One String That Tells You What It Decided

By guomenghao·Created 27 days ago·Updated 23 days ago· 0
CineStack H3 Director Planner Conditioning
  • clip
  • vae
  • audio_vae
  • first_frame
  • last_frame
  • reference_image_0
  • reference_image_1
  • reference_image_2
  • reference_image_3
  • reference_image_4
  • reference_image_5
  • reference_image_6
  • reference_image_7
  • reference_image_8
  • positive
  • latent
  • task_mode
◄prompt►
◄width864►
◄height480►
◄length124►
◄ref_image_sizematch►

There are two conditioning nodes in this pack and they differ by one output. Director Conditioning gives you positive and latent. Director Planner Conditioning gives you positive, latent, and a task_mode STRING. That's the entire delta.

Which raises the obvious question: why does it exist?

The one thing it adds

task_mode is a plain, human-readable report of the task the node decided to run - something like t2v - … (MiniMax H3), or an r2v line that also mentions how many reference images and reference videos it counted. The underlying conditioning call returns that hint; the plain Conditioning node throws it away, and this one surfaces it as a third output.

It's useful in exactly two situations. First, when you're debugging: you connect a reference image and aren't sure whether you landed on the reference path or the image-to-video path, and you'd rather read a string than infer it from the result. Second - the reason it's called "Planner" - when you're building graphs that branch on task type. A STRING output can drive a switch, a display node, a note, or a prompt-rewriting branch, so downstream nodes can behave differently for t2v vs r2v without you hand-wiring two graphs.

If neither of those is you, use the plain Conditioning node and save yourself a wire.

Inputs and outputs

The input schema is copied verbatim from Director Conditioning - clip, vae, prompt, width, height, length required; audio_vae, first_frame, last_frame, reference_image_0 … reference_image_8 and ref_image_size optional. Defaults are the same 864×480 / 124 frames, and the same 17-frame stepping on length because H3's grid is 17k+5. Reference images map to <Picture 1> through <Picture 9> in your prompt, left at native aspect until ref_image_size (match or max) decides what to encode.

Outputs: positive goes to your sampler's positive input, latent is the empty AV latent it starts from, and task_mode goes wherever you want a string. Nothing samples here.

Install

Same pack, same procedure - Git install, since 0.6.11 isn't on the Comfy Registry:

cd ComfyUI/custom_nodes
git clone https://github.com/guomenghao/ComfyUI-CineStack-H3.git
python -m pip install -r ComfyUI-CineStack-H3/requirements.txt

Restart ComfyUI, then find it under CineStack/H3. As with the rest of the pack you need the H3 CLIP (type minimax in CLIPLoader), the video VAE, and the audio VAE if you're doing anything reference-shaped. The pack ships no model weights.

Notes from using it

task_mode is a description, not an enum. It contains spaces, em-dashes and a parenthetical, and it changes wording depending on the task and the reference count. If you plan to branch on it, match with a "contains" check on the leading token rather than an equality test, or you'll be back here wondering why your r2v branch never fires.

And the same failure the plain node has: connect reference media and forget audio_vae, and the node raises an explicit error about the reference conditioning path needing an audio VAE. Not subtle, at least.

CategoryCineStack/H3

Inputs (19)

NameTypeDefaultDescription
clipCLIP—
vaeVAE—
promptSTRING—
widthINT86432–8192—
heightINT48032–8192—
lengthINT1245–3600—
audio_vaeoptVAERequired for r2v / v2v / rv2v / reference video+audio.
first_frameoptIMAGEOptional first keyframe (i2v / fl2v).
last_frameoptIMAGEOptional last keyframe (fl2v).
reference_image_0optIMAGEReference image for <Picture 1> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_1optIMAGEReference image for <Picture 2> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_2optIMAGEReference image for <Picture 3> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_3optIMAGEReference image for <Picture 4> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_4optIMAGEReference image for <Picture 5> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_5optIMAGEReference image for <Picture 6> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_6optIMAGEReference image for <Picture 7> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_7optIMAGEReference image for <Picture 8> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
reference_image_8optIMAGEReference image for <Picture 9> in prompt (r2v). Native aspect; H3 ref_image_size applies at encode time.
ref_image_sizeoptCOMBOmatchReference image sizing for MiniMaxH3ReferenceToVideo.

Outputs (3)

NameTypeDescription
positiveCONDITIONING—
latentLATENT—
task_modeSTRING—