Nodes/SDXL Auto Prompter/APNext H3 Dailies Gate (print / punch up / cut)
ComfyUI Node

APNext H3 Dailies Gate (print / punch up / cut)

Print, punch up, or cut — the APNext H3 Dailies Gate

By dagthomas·Created 3 years ago·Updated 12 days ago· 290
APNext H3 Dailies Gate (print / punch up / cut)
  • llm
  • scenes
  • scene_count
  • status
scenes
enabledtrue
auto_approve_minutes0.0
modelsonnet
use_subscriptiontrue
reroll_timeout_seconds600
chimefalse
durations
session_id

This node is the most interesting thing in the pack, because it changes what a ComfyUI queue is. Instead of a linear fire-and-forget render, you get a screening room: the run reaches this node, the freshly written scenes land on a desk in the browser, and everything holds there - no interrupt, no re-queueing - until you make a call. Print it, punch it up, or cut the run. It moves again the moment you press a button.

The mental model is film dailies. The pack's H3 writers (Scenes, Crossover, Music Video, Presentation) generate a batch of MiniMax-H3 prompts, each one a scene. You don't want to blindly render all 24 of those and discover scene 7 is nonsense. So you drop the Dailies Gate between the writer and the video node and actually look at the takes first.

What's on the desk

  • ▶ Print it - render exactly what's on the desk, hand edits included. The editor is the same colour-coded overlay as the pack's Prompt Preview, and you can view all takes at once or flip through them one at a time.
  • ✍ Punch-up - type director's notes (optionally scoped to specific takes, 2, 4-5), and the selected scenes are rewritten inside the writer's own model session - synopsis, locks, lyrics, reference images all still in context. Hand edits you made are folded in first, so "fix a line by hand, then have the model rebuild the scene around it" is one round trip.
  • 🎲 New take - the same rewrite turn with no notes, asking for a noticeably different version. Roll as many as you like.
  • ↩ Undo - every rewrite is kept in a server-side history for the gate's lifetime, so a bad punch-up rolls back instantly, and the history survives a browser reload.
  • ✋ Cut - end the run cleanly; nothing renders.

How it works

Mechanically, the node's function is async: it publishes the scenes to the browser over ComfyUI's websocket, then awaits an asyncio.Future with a heartbeat that honours the Stop button and the optional auto-approve timer. The buttons POST to a custom /apnext/h3/review_gate endpoint that resolves the future. A browser reload re-attaches to a waiting desk. Because the gate sits before the render, no video-model weights are held while it waits. There's even a soft browser chime (chime) so you hear takes land while you're alt-tabbed.

The inputs that matter

  • scenes - the writer's scenes list (or a single h3_prompt). Required.
  • enabled - off turns the gate into a transparent pass-through. Handy when you want to keep the node in the graph but skip the screening.
  • auto_approve_minutes - 0 holds indefinitely; any value prints automatically after that many minutes, so an unattended overnight run still renders. There's a live countdown on the desk.
  • session_id (optional) - the writer's session_id output. This is what enables punch-ups; without it, the desk is edit-by-hand only, because the rewrite has to happen inside the writer's original conversation.
  • durations (optional) - the writer's durations list, so rewritten takes keep their exact lengths. Matters for music videos where a clip's length is locked to its audio slice.

Outputs are scenes (the list, edited or rewritten), scene_count, and status.

Gotchas

Punch-ups run in the writer's own backend, so the gate's model must match - it auto-switches to codex when you hand it a codex- session id, but a Claude Code session id and a local-model session id are not interchangeable (the error says so). Keep the writer's seed fixed, or the cache re-pays for fresh scenes. And remember the gate is the hold point: if you prefer the free stop-edit-requeue flow with a cached seed, the pack's other gate, H3 Scenes Review, is the non-blocking sibling - this one is for hands-on sessions where you're actively directing. Install is the usual pack route (ComfyUI Manager, search "comfyui_dagthomas"), no model files, no API key - it rides on your local Claude Code login or whatever LLM backend you connect.

Categorycomfyui_dagthomas/H3

Inputs (10)

NameTypeDefaultDescription
scenesSTRINGThe writer's `scenes` list (or a single h3_prompt).
enabledBOOLEANtrueOff = transparent pass-through (no pause).
auto_approve_minutesFLOAT0.00–1440Print (approve) automatically after this many minutes, so an unattended run still renders. 0 holds indefinitely.
modelCOMBOsonnetWho handles a punch-up: the same aliases as the writers. The rewrite continues the writer's session, so it must be the same backend - the gate auto-switches to codex for a `codex-` session id.
use_subscriptionBOOLEANtrue
reroll_timeout_secondsINT60060–7200Watchdog for one punch-up turn.
chimeBOOLEANfalsePlay a soft browser chime when takes land on the desk.
durationsoptFLOATThe writer's `durations` list; keeps every rewritten envelope on its original duration.
session_idoptSTRINGThe writer's `session_id` output. Required for punch-ups - the rewrite happens inside that session, so the synopsis, locks and images are still in context.
llmoptAPNEXT_LLMOptional. Connect an APNext H3 LLM Backend node to write with Ollama, LM Studio, another OpenAI-compatible server or an API model instead of Claude Code. Overrides the model dropdown while connected.

Outputs (3)

NameTypeDescription
scenesSTRING
scene_countINT
statusSTRING