Nodes/AkkiNodes LLM Suite: Your Personal AI Film Studio/AI Cinematographer (Pro) v3.9 - Akki
ComfyUI Node

AI Cinematographer (Pro) v3.9 - Akki

Turn a screenplay into a shot list, one scene at a time

By routhakash·Created about a year ago·Updated 9 months ago· 8
AI Cinematographer (Pro) v3.9 - Akki
  • llm_model
  • shot_breakdown_report
  • full_llm_prompt
screenplay
temperature0.50
top_p0.95
top_k40
seed1234
max_tokens4096

The AI Cinematographer (Pro) v3.9 is where your screenplay stops being words and starts being a production. It's the director's chair in the AkkiNodes "script to screen" pipeline: feed it a screenplay, and it returns a shot-by-shot breakdown - every shot with its framing, lens choice, characters, props, costumes, VFX, SFX, dialogue, and even a director's rationale. That report is what gets sanitized by the QC Supervisor, parsed into a CSV, and eventually turned into actual image prompts.

How it works

This is a single, enormous LLM call wrapped in a strict formatting mandate. The prompt template is the star of the show: it demands self-contained "shot blocks" delimited by //---SHOT_START---// and //---SHOT_END---// markers, with each shot described as KEY: Value lines. There are protocols baked in for the things LLMs get wrong:

  • Auditory events - a voice-over must get a visual shot, not a "VOICE OVER" shot type.
  • Factual fidelity - canonical details from the script (ages, physical traits) must carry through.
  • Technical realism - no zooming with a prime lens; you get a dolly-in instead.
  • Per-character asset fields - PROPS (Character Name) and COSTUMES (Character Name) for every character.

A deterministic Python helper then resolves pronouns against the screenplay context. That's the "hybrid AI + deterministic resolver" pattern this pack is built on: the LLM does the creative shot breakdown, code guarantees the structure holds.

Inputs and outputs

Inputs are sparse on purpose: llm_model, screenplay, and the usual sampling knobs - temperature (default 0.5, nice and low for a data-producing task), top_p 0.95, top_k 40, seed, and max_tokens defaulting to 4096. This is a long output, so don't crater max_tokens below ~2048 or the report will truncate mid-shot.

Two outputs:

  • shot_breakdown_report - the raw shot list. Wire this into the AI QC Supervisor (it exists to clean this output up, more on that there).
  • full_llm_prompt - the entire prompt that was sent to the model. If you want to understand why a breakdown looks the way it does, this is required reading; it also teaches you a lot about how to structure your own agent prompts.

Install and gotchas

Standard pack install: ComfyUI Manager (search "AkkiNodes LLM Suite") or git clone https://github.com/routhakash/AkkiNodes-LLM-Suite-for-ComfyUI into custom_nodes, run install.bat as admin on Windows, drop a GGUF into ComfyUI/models/llms/, restart.

The gotcha is that this node is a scene interpreter in practice - the source splits the screenplay into individual scenes and processes each one. Feed it your whole feature-length script and expect a long run. And quality is entirely dependent on the GGUF you loaded: a weak model will ignore half the format mandates and give you a breakdown that looks fine and parses terribly. If the downstream parser chokes, the first thing to suspect is the model, not the node.

CategoryAkkiNodes/Production

Inputs (7)

NameTypeDefaultDescription
llm_modelLLM_MODEL
screenplaySTRING
temperatureFLOAT0.50
top_pFLOAT0.95
top_kINT40
seedINT1234
max_tokensINT40961024–65536

Outputs (2)

NameTypeDescription
shot_breakdown_reportSTRING
full_llm_promptSTRING