Director's Slate
Camera Moves From a Dropdown, Not a Camera-Schedule Textbook
- positive_prompt_out
- negative_prompt_out
Video models have made "naming a physical camera move" one of the highest-leverage phrases in prompting - a slow dolly zoom in your prompt reliably produces a slow dolly zoom in the footage. Director's Slate is a shortcut to that. You type a scene, pick a camera move from a dropdown, and the node hands back a positive prompt that already contains the correct cinematic instruction, wrapped in a cinematographer system prompt. It's the "I want the shot, not the choreography" node.
The three things you set
positive_prompt- your scene, e.g. "a lone lighthouse keeper on a cliff at dusk"negative_prompt- defaults to "blurry, low quality, cartoon"motion_preset- the dropdown, with 19 choices covering Static, Dolly Zoom (Vertigo), Tracking Shot, Pan, Tilt, Roll (Dutch Angle), and Crane Shot, each in Slow/Medium/Strong flavors (plus left/right/up/down variants)
Outputs are positive_prompt_out and negative_prompt_out. The negative prompt passes through untouched; the positive gets the camera command appended.
How it works
Under the hood it's a lookup table plus a string concatenation. Each preset maps to a hand-written descriptive phrase - "A slow dolly zoom (Vertigo effect), the subject stays the same size while the background compresses" - and the node appends that to your scene description. It also prepends the contents of assets/prompts/CINEMATOGRAPHER.txt, a system prompt that frames the whole thing for the LLM that follows. Per the pack's own docs, the intended flow is: scene → Director's Slate → the pack's Gemini API node for final interpretation → your video model.
The gotcha, and it's a real one
CINEMATOGRAPHER.txt doesn't ship in the current repo. I verified against both a fresh clone and GitHub: the file the node loads at startup is missing from assets/prompts/. Consequence: every positive_prompt_out starts with ERROR: Prompt file not found. - which then poisons the prompt that reaches your video model.
The fix is the same as the pack's other prompt-loading nodes: drop your own CINEMATOGRAPHER.txt into custom_nodes/ComfyUI-Creepy_nodes/assets/prompts/ with the cinematographer instructions you want, or edit the node to point at an existing file. Without that file the camera-preset part still works - the motion phrase gets appended regardless - but you're missing the system prompt the pipeline is designed around.
Using it with a video model
Wire positive_prompt_out into whatever text encoder your video model uses (Wan and LTX-Video both take natural-language camera descriptions well - they're LLM-encoded, so descriptive sentences beat tag soup). One honest note: the preset phrases are generic cinematography descriptions, not model-specific schedule syntax. That's the point - you get the concept in words, and the video model translates it. If you're already fluent in camera-schedule syntax, you don't need this node; it exists for the rest of us.
Installing it
It ships with the whole Creepybits pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git
Restart ComfyUI, or find "Creepy" in ComfyUI Manager. No model downloads; the pack's requirements install on first launch. And if your slate output ever starts with "ERROR:", you now know exactly why.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| positive_prompt | STRING | masterpiece, cinematic, 4k | — |
| negative_prompt | STRING | blurry, low quality, cartoon | — |
| motion_preset | COMBO | 19 options: Static: No Movement, Dolly Zoom (Vertigo): Slow, Dolly Zoom (Vertigo): Medium, Dolly Zoom (Vertigo): Strong, Tracking Shot (Follow): Slow, Tracking Shot (Follow): Medium, +13 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive_prompt_out | STRING | — |
| negative_prompt_out | STRING | — |