Nodes/ComfyUI-Creepy_nodes/Director's Slate
ComfyUI Node

Director's Slate

Camera Moves From a Dropdown, Not a Camera-Schedule Textbook

By Creepybits·Created about a year ago·Updated 2 months ago· 32
Director's Slate
    • positive_prompt_out
    • negative_prompt_out
    positive_promptmasterpiece, cinematic, 4k
    negative_promptblurry, low quality, cartoon
    motion_preset

    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.

    CategoryCreepybits

    Inputs (3)

    NameTypeDefaultDescription
    positive_promptSTRINGmasterpiece, cinematic, 4k
    negative_promptSTRINGblurry, low quality, cartoon
    motion_presetCOMBO19 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)

    NameTypeDescription
    positive_prompt_outSTRING
    negative_prompt_outSTRING