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

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.7
File Size Uploaded
flmkr-0.1.7.tar.gz 153.6 kB Details

Built distribution (wheel)

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

Total release size: 206.7 kB

Release files / flmkr-0.1.7.tar.gz

Download URL flmkr-0.1.7.tar.gz
Size 153.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4a70b70951796760354516ff0a777e984f0442ebb105faf37473a0f6823a9727
BLAKE2b-256 checksum
How to use checksums
00972c9ca4c1d65038b1b2356d1f61b65d20d73840c737b6613d9779e96c54d1
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.7-py3-none-any.whl

Download URL flmkr-0.1.7-py3-none-any.whl
Size 53.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
30b0b6e7a918720bfadc6aef44bb9bdfda6bac09112d4a1420392644b88e9bd6
BLAKE2b-256 checksum
How to use checksums
10b0f25c9d7db4943c190281c0c5389ecdd9d8a30981bc64940f382308b3c543
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.8

2 release files

This release

0.1.7 This release

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