Skip to main content

FLMKR — AI Filmmaking Harness

An autonomous, terminal-native AI filmmaking agent that transforms creative ideas into complete audiovisual productions.

What It Is

FLMKR is an agent harness for filmmaking — not a video generator, not a prompt engine, not a GUI wrapper. It's the environment that allows an autonomous agent to perform complex filmmaking work:

  • Plan productions from ideas, screenplays, or treatments
  • Create and maintain a Production Bible (characters, locations, style, continuity)
  • Generate shots through provider-agnostic adapters (Agnes, Kling, MiniMax, Runway)
  • Run QA at chunk/shot/scene levels with continuity checking
  • Recover from failures without restarting the entire production
  • Render final films with editorial assembly

Install

pip install flmkr

Development install (with test & lint tooling):

pip install -e ".[dev]"

Verify:

flmkr --version
# flmkr, version 0.1.0

Quickstart

# Create a new film project from an idea
flmkr create "A woman discovers her autonomous car is taking her somewhere she never asked to go."

# Inspect the auto-generated Production Bible
flmkr bible

# Dry-run the production plan (estimates shots, cost, runtime)
flmkr plan

# Generate all assets
flmkr generate

# View progress
flmkr status
flmkr shots
flmkr events

# Open the interactive TUI to review and approve shots
flmkr review

# Render the final assembled film
flmkr render

# Resume after an interruption
flmkr resume

See docs/getting-started.md for a full 5-minute tutorial.

MCP Usage

FLMKR exposes an MCP server for integration with AI coding agents (Claude Code, Codex CLI, MiMoCode, etc.):

python -m flmkr.mcp_server --project ./my-film

Available tools:

Tool Description
flmkr_status Get current production status
flmkr_list_scenes List scenes with status and runtime
flmkr_list_shots List shots in a scene
flmkr_generate_shot Generate video for a shot
flmkr_run_qa Run quality assurance on assets
flmkr_get_bible Read the Production Bible
flmkr_plan Dry-run production plan
flmkr_create Create a new film project
flmkr_resume Resume an interrupted production
flmkr_render Render the final film
flmkr_cost Show cost breakdown

Architecture

┌──────────────────────────────────────────────────────┐
│                    CLI / TUI                         │
│              (click / textual)                       │
└───────────────────────┬──────────────────────────────┘
                        │
┌───────────────────────▼──────────────────────────────┐
│              Producer Orchestrator                     │
│         (flmkr.orchestrator.Orchestrator)              │
│                                                        │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐     │
│  │   Story    │  │ Character  │  │Cinematog-  │     │
│  │   Agent    │  │   Agent    │  │   raphy    │     │
│  └────────────┘  └────────────┘  └────────────┘     │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐     │
│  │ Generation │  │    QA      │  │ Editorial  │     │
│  │   Agent    │  │   Agent    │  │   Agent    │     │
│  └────────────┘  └────────────┘  └────────────┘     │
└───────────────────────┬──────────────────────────────┘
                        │
┌───────────────────────▼──────────────────────────────┐
│              Provider Adapters                       │
│   (Agnes · Kling · MiniMax · Runway · custom)        │
└───────────────────────┬──────────────────────────────┘
                        │
┌───────────────────────▼──────────────────────────────┐
│              Production Bible                        │
│   (Bible → Characters · Locations · Style · Scenes)  │
└───────────────────────┬──────────────────────────────┘
                        │
┌───────────────────────▼──────────────────────────────┐
│              Event Store                             │
│        (SQLite — durable, resumable)                 │
└──────────────────────────────────────────────────────┘

Data Flow

Idea / Screenplay
       ↓
  Project.init()
       ↓
  Bible generation (story, characters, locations, style)
       ↓
  Scene & shot planning
       ↓
  Generation (provider-agnostic, with retry & recovery)
       ↓
  QA (continuity, narrative, technical)
       ↓
  Editorial assembly
       ↓
  Final film render

Project Structure

flmkr/
├── __init__.py      # Package entry
├── cli.py           # Click CLI commands
├── config.py        # Pydantic settings
├── models.py        # Core data models (Bible, Shot, Scene, etc.)
├── agents.py        # Agent framework
├── providers.py     # Provider adapters
├── orchestrator.py  # Producer/Orchestrator
├── qa.py            # QA engine
├── editorial.py     # Editorial/timeline engine
├── project.py       # Project state container
├── event_store.py   # SQLite event log
├── events.py        # Event types
├── exceptions.py    # Error types
├── llm.py           # LLM interaction layer
├── mcp_server.py    # MCP server for AI agent integration
└── tui.py           # Rich terminal UI

Examples

Example Description
examples/basic_film/bible.yaml Minimal production bible — characters, locations, style
examples/shot_list/screenplay.md Screenplay-to-shots workflow with annotated shot list

Requirements

  • Python 3.11+
  • SQLite (bundled with Python)
  • Internet connection for provider APIs

License

MIT

Release files for flmkr 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flmkr 0.1.9
File Size Uploaded
flmkr-0.1.9.tar.gz 173.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flmkr 0.1.9
File Interpreter ABI Platform
flmkr-0.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 227.2 kB

Release files / flmkr-0.1.9.tar.gz

Download URL flmkr-0.1.9.tar.gz
Size 173.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f84f20e6985020c1051290b51d661bcf84f7c82cb5d3c49f5ee699fcc23bdc0f
BLAKE2b-256 checksum
How to use checksums
53eab26254dbfb9f084c286fdf9719a7b3626fd70749ff845cec39e62172292b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / flmkr-0.1.9-py3-none-any.whl

Download URL flmkr-0.1.9-py3-none-any.whl
Size 53.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
036b4ed56f255ebc78f83bc7194ee693d2bca50e945e877cdf14808ae880e4ad
BLAKE2b-256 checksum
How to use checksums
53e62259c21508c22c45796a8815bd123b94e9cff571d62350ab03598e40cc8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page