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.5

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.5
File Size Uploaded
flmkr-0.1.5.tar.gz 143.8 kB Details

Built distribution (wheel)

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

Total release size: 193.9 kB

Release files / flmkr-0.1.5.tar.gz

Download URL flmkr-0.1.5.tar.gz
Size 143.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d799ac3ece49945d1787cd61abd92b058599b340f2ecd2a190315d1259ab8823
BLAKE2b-256 checksum
How to use checksums
939a43e8f9d86563125fc93821992ef1a37539745e34cebaf0923b45e2e635ae
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.5-py3-none-any.whl

Download URL flmkr-0.1.5-py3-none-any.whl
Size 50.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2c5ec60c6e924305517a1e152a4e7f899f50e1e2f603b474d6867c228bd3d80
BLAKE2b-256 checksum
How to use checksums
59032a9759bca77d3c02bb2f9cb310a023ba3d4bb650afb33fde70b58b32122a
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

0.1.6

2 release files

This release

0.1.5 This release

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