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.
-
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).
-
Production Narration TTS Audio:
- Google Cloud Text-to-Speech generates crisp director voiceover explaining scene action, camera framing, and comedic timing.
-
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.
-
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).
- Single source of truth storing session state (
-
Smallest Dependency-Aware Surgical Revisions:
- When revising Beat
$N$ , Beatboard executes a graph traversal on ClickHousebeat_dependenciesto calculate the smallest set of affected beats. Only target beats and downstream dependents are updated; unlinked beats remain untouched.
- When revising Beat
+----------------------------------+
| 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|
+---------------------+ +----------------------+
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
- Python: 3.11+
- Node.js: v18+
Copy .env.example to .env and set your credentials:
cp .env.example .envFill in your GEMINI_API_KEY (and optional ClickHouse or GCP credentials).
Run the automated startup script:
chmod +x start.sh
./start.shOpen http://localhost:8000 in your browser to launch the Beatboard Interactive Animatic Studio!
Build and run using Docker:
docker build -t beatboard .
docker run -p 8080:8080 --env-file .env beatboardRun the end-to-end test suite to verify agent planning and ClickHouse memory revisions:
source venv/bin/activate
python3 tests/test_e2e.pyThis project is licensed under the MIT License.