ComfyUI Node

Play-Act

The top of the story tree, still just two slots wide

By wgedeon·Created 12 months ago·Updated 10 months ago· 2
Play-Act
  • scene_1
  • scene_2
  • act
titleAct #1
positive
negative
filename_part#1

Play-Act is the top level of the "play" data model this pack uses instead of just slamming a prompt into a sampler. In theatre terms, acts are chapters or arcs; in this pack, an act is a bundle of up to two scenes, each with its own title and shared prompt flavor, that eventually gets handed to Play (Start) as act_1 or act_2. It's the node you reach for when your "video" is actually a story with a beginning, middle, and end rather than one continuous shot.

There's a useful design decision hidden here. Every level of the tree - act, scene, beat - carries its own positive/negative text, so you can layer prompts: the act sets the arc ("man's day at the beach"), the scene narrows it ("on the sand, golden hour"), the beat writes the actual shot ("camera tracks left as he walks"). They're all plain strings, and the current build passes them through as text rather than encoding them into shared conditioning - the README's "sharing conditionings with sub-tree nodes" is the stated ambition, not yet the shipped behavior.

The inputs that matter

  • title (default "Act #1") - descriptive; shows in the console when Play (Start) traverses the tree.
  • positive, negative - the act-level prompt text. Strings, not conditioning.
  • filename_part (default "#1") - the first segment of the chunk filenames this act contributes (fot_play_#1_#1_b1_0_0). Filesystem-friendly text, please.
  • scene_1, scene_2 (optional) - the SCENE outputs you want in this act. Two slots, hard-coded, same limit the README flags as a TODO at every level of this tree.

Output is a single act of type PLAY_ACT, which goes into Play (Start)'s act_1/act_2 inputs. You can chain two acts per play, full stop.

Installing

With the whole pack via ComfyUI Manager (search "comfyui_play_traversal") or:

cd ComfyUI/custom_nodes
git clone https://github.com/wgedeon/comfyui_play_traversal
pip install -r requirements.txt

Restart ComfyUI. The install pulls a heavy dependency set - diffusers, accelerate, onnxruntime, opencv-python, spandrel, peft, clip_interrogator, sentencepiece, matplotlib, lark - so budget time for it. No models come with the pack.

Where people get burned

  • Two acts, two scenes, two beats - that's the whole tree. The pack's fixed limits are its most annoying trait, and they bite hardest at the top because an act with more than two scenes just won't connect. The README acknowledges it openly.
  • Gaps, again. Fill scene_1 before scene_2; a hole raises "Found gap in scenes, please defragment!".
  • An act isn't optional. Play (Start) calls remove_nones on the act list and raises "At least one act is required" if you try to run the play with none. You need at least one fully-built act to get a single frame.
  • The filename plumbing is your responsibility. Misspell a filename_part and you get inconsistent chunk names, not an error. Keep them short and consistent.

It's a small, early-stage pack from one author (version "2.0.0-inprogress"). For long structured video on an 8 GB card it's genuinely clever; for everything else, expect the rough edges of something that's still visibly a work in progress.

CategoryFeller of Trees/Play Traversal

Inputs (6)

NameTypeDefaultDescription
titleSTRINGAct #1
positiveSTRING
negativeSTRING
filename_partSTRING#1
scene_1optSCENE
scene_2optSCENE

Outputs (1)

NameTypeDescription
actPLAY_ACT