Skip to content

Repository files navigation

Beatboard 🎬

Agentic Cinema Pre-Production Studio for Short-Form Comedy
Built for the Agentic Cinema: The Blockbuster Hackathon (ClickHouse Track)

Beatboard turns a premise, target duration (15s/30s), and comedy style grammar into an interactive animatic storyboard with timed production narration audio, keyframe panel art, director shot/performance guidance, and targeted surgical beat revisions backed by ClickHouse production memory.


🚀 Key Features

  1. 3-Input Autonomous Planning:

    • Premise: Freeform text or pre-built comedic scenarios.
    • Target Duration: 15s (3 beats) and 30s (4 beats) short-form video formats prioritized.
    • Comedy Style Grammars: Structural rules encoded in ClickHouse (Escalation, Misdirection, Callback, Absurdist).
  2. Production Narration TTS Audio:

    • Google Cloud Text-to-Speech generates crisp director voiceover explaining scene action, camera framing, and comedic timing.
  3. GCS & Local Asset Storage:

    • Keyframe images (Imagen 3) and narration audio (Google Cloud TTS) are stored in Google Cloud Storage with automated local static fallback.
  4. ClickHouse Production Memory Core:

    • Single source of truth storing session state (sessions), style grammars (comedy_style_grammars), active production beats (production_beats), dependency edges (beat_dependencies), and non-destructive revision logs (beat_revisions).
  5. Smallest Dependency-Aware Surgical Revisions:

    • When revising Beat $N$, Beatboard executes a graph traversal on ClickHouse beat_dependencies to calculate the smallest set of affected beats. Only target beats and downstream dependents are updated; unlinked beats remain untouched.

🛠️ Architecture

                                +----------------------------------+
                                |      React + Vite Frontend       |
                                |    Interactive Animatic Player   |
                                +----------------+-----------------+
                                                 | HTTP REST / JSON
                                                 v
                                +----------------+-----------------+
                                |      FastAPI Backend Engine      |
                                |  Master Planner & Revision Agent |
                                +----+-----------+------------+----+
                                     |           |            |
                    +----------------+           v            +----------------+
                    |                     +------+-------+                     |
                    v                     |  ClickHouse  |                     v
         +----------+----------+          |  Production  |          +----------+----------+
         |   Gemini 2.5 / 3    |          |    Memory    |          | Google Cloud Services|
         | Script & Beat Graph |          +--------------+          | Imagen 3 & Google TTS|
         +---------------------+                                    +----------------------+

📁 Repository Structure

beatboard/
├── backend/                  # FastAPI Application & Agents
│   ├── agent/                # Master Planner & Revision Agents
│   ├── db/                   # ClickHouse & SQLite Memory Clients
│   ├── services/             # Gemini, Imagen 3, TTS & GCS Services
│   ├── config.py             # App Configuration
│   └── main.py               # FastAPI App & Endpoints
├── frontend/                 # React + Vite Animatic Interface
│   ├── src/                  # React Components & Player Controls
│   └── package.json          # Node Dependencies & Scripts
├── scripts/                  # Utility & Maintenance Scripts
│   ├── fix-gcp-iam.sh        # GCP IAM & Service Auto-Fixer
│   └── regenerate_all_images.py # Storyboard Asset Regeneration
├── tests/                    # Verification & E2E Test Suite
│   └── test_e2e.py           # End-to-End Agent & Memory Test
├── .env.example              # Environment Variable Template
├── Dockerfile                # Multi-stage Container Build
├── start.sh                  # One-command Studio Startup
└── requirements.txt          # Python Dependencies

⚡ Quickstart & Running Locally

1. Prerequisites

  • Python: 3.11+
  • Node.js: v18+

2. Environment Configuration

Copy .env.example to .env and set your credentials:

cp .env.example .env

Fill in your GEMINI_API_KEY (and optional ClickHouse or GCP credentials).

3. One-Command Launch

Run the automated startup script:

chmod +x start.sh
./start.sh

Open http://localhost:8000 in your browser to launch the Beatboard Interactive Animatic Studio!


🐳 Docker Deployment

Build and run using Docker:

docker build -t beatboard .
docker run -p 8080:8080 --env-file .env beatboard

🧪 E2E Verification Test

Run the end-to-end test suite to verify agent planning and ClickHouse memory revisions:

source venv/bin/activate
python3 tests/test_e2e.py

📜 License

This project is licensed under the MIT License.

About

Beatboard turns a comedy idea into a shoot-ready storyboard with timed beats, generated art, voiced dialogue, direction, and dependency-aware revisions in minutes.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages