Mihir Jadhav
← Back to Writing

Scene-Level Version Control for AI Filmmakers

·3 min read
AIFilmDatabase Design

AI-generated films have a version control problem. Laserman V2 is my answer.

The problem

When you're making a film with AI tools, every scene has dozens of assets: script revisions, generated images, video clips, audio tracks, music. Each asset has versions. Each version was generated with specific prompts and parameters.

There's no tool that tracks all of this. Filmmakers use spreadsheets, Notion databases, folder naming conventions. Nothing connects the audio file to the script revision it was based on.

The data model

Laserman V2 models the film production hierarchy:

Project → Script → Scene → Shot → Asset Type → Asset Version → Prompt Package

Every asset version is immutable and traceable. You can always answer: "Which prompt generated this image? Which script revision was it based on? Who approved it?"

Prompt Packages

This is the key abstraction. A Prompt Package is a reusable "intent bundle" - the collection of prompts, parameters, and model configurations used to generate an asset. Think of it as a recipe card for AI generation.

When you find a prompt combination that produces great results, you save it as a Prompt Package. Apply it to another scene. Tweak it. Version it. Share it with your team.

The PostgreSQL challenge

The relational mapping is non-trivial. An audio file needs to link to:

The shot it belongs to
The script revision it was based on
The prompt package that generated it
The approval status and reviewer
Previous versions of the same asset

We solved this with a versioned asset table with foreign keys to both the shot hierarchy and the prompt package registry. Every insert creates a new version row - nothing is ever updated in place.

The Chrome extension

Filmmakers use web-based AI tools (Midjourney, Runway, Suno, ElevenLabs). Laserman V2 includes a Chrome extension that captures generated outputs directly into the right place in the hierarchy.

Generate an image in Midjourney → the extension detects it → you assign it to a shot → it's versioned, tagged, and traceable. No manual downloading and organizing.

Current status

Laserman V2 is in active development. The data model is solid. The Chrome extension is functional but janky. The Next.js frontend is in early prototype.

If you're making AI films and fighting the version control problem, I'd love to talk. This is the tool I wish existed when I started.