Shawtty
AUTONOMOUS REEL STUDIO — MANIM + LLM + TTS

Generate a synced motion reel from one prompt.

Type “How Redis pub/sub works” or “Raft Consensus” — Shawtty researches, scripts, narrates, animates in 1080×1920, and delivers an MP4 with music and voice in sync.

20s · 9:16
Sign in with email for saved reels:
Watch sample output live studio · shawtty.spacebuilder.in
  • 1080×1920 9:16 HD
  • Sarvam AI Voice
  • Self-Healing Renderer
  • Docker One-Command Deploy
ACT 2 · MECHANISM One publish. Every subscriber. PUBLISH channel orders worker email audit SAFE ZONE · 20%
shubh · bulbul:v4 0:20
job_7f3a2c complete

How a voice AI agent helps a dental clinic answer missed calls, book appointments, and send reminders.

  • ✓ Searching web
  • ✓ Planning motion graphics
  • ✓ Generating narration
  • ✓ Rendering 1080p Manim reel
  • ✓ Mixing music/SFX
Creativity scores
hook
9.1
variety
8.4
motion
8.8
sound
8.2
originality
8.6
01 / PIPELINE

Five passes from a sentence to an MP4.

Each stage writes an artifact you can inspect. Nothing is a black box — the trace log, beats table and probe frame are all in the Studio.

  1. STEP 1

    Plan 4-Act Storyboard

    LLM plans hook, mechanism, insight, takeaway.

    → plan.json
  2. STEP 2

    Synthesize Voiceover

    Sarvam AI generates per-act audio and measures its duration.

    → act_1.mp3 · 4.82s
  3. STEP 3

    Generate Time-Synced Code

    LLM writes a self-contained ReelScene Manim class paced to the audio.

    → reel_scene.py
  4. STEP 4

    Render 1080p + Self-Heal

    manim render -qh at 1080×1920. Auto-repairs on error.

    → 1080×1920 · 60fps
  5. STEP 5

    Mux & Deliver

    FFmpeg mixes narration + SFX + video, then streams to your browser.

    → output/job_id.mp4
02 / NARRATIVE PLANNER

Every topic gets the same four acts, timed to the voice.

claude-opus-4.6 via LiteLLM breaks the prompt into a story arc. Sarvam measures each act to the millisecond, and every Manim run_time is aligned to those beats.

plan length · requested 20s · actual 20.0s voice: shubh_enhi_ads · bulbul:v4-flash
ACT 1 · 4.2s Hook & Problem “Your clinic misses 1 in 4 calls.”
ACT 2 · 7.4s Mechanism Deep Dive “The agent answers, checks calendar, books.”
ACT 3 · 4.6s Aha! Insight “Every missed call becomes a booked slot.”
ACT 4 · 3.8s Real-World Impact “Reminders cut no-shows overnight.”
0s2s4s6s8s10s12s14s16s18s20s

Voice-locked beats

Word timestamps from the narration become animation cues. Entrances fire on atWord, SFX land on scene starts.

start end word cue
0.000.42YourWrite(title)
0.420.91clinicFadeIn(icon:user)
0.911.38misses—
1.382.06one in fourTransform(counter)
2.063.20calls.Flash(phone) + sfx:pop
03 / UNDER THE HOOD

A real render engine, not a template library.

SELF-HEALING

The repair agent reads the traceback, so you don't.

If a Manim script fails, the agent reads the Python traceback and stderr, patches the code and recompiles — up to 3 retries. Jobs rarely fail; when they do, you get a plain-language reason.

attempt 1/3
TypeError: Arrow.__init__() got an
unexpected keyword 'tip_len'
repair → reel_scene.py:42
- Arrow(a, b, tip_len=0.2)
+ Arrow(a, b, tip_length=0.2)
attempt 2/3 · rendered 1080×1920 ✓
PROCEDURAL MIX

Music ducks. Bottom 20% stays clear.

FFmpeg sidechain compression ducks music under voice; SFX hit on scene starts. No text in the bottom 20% — safe for Instagram UI.

SARVAM AI VOICEOVER

Narration measured to the millisecond.

bulbul:v4-flash with shubh_enhi_ads voice profile. Scene run_time auto-aligns to the audio beats with edge-tts fallback.

PURE MANIM COMMUNITY

Vector type, real geometry, 60fps.

Crisp typography, smooth geometric transforms, dynamic graphs and architecture diagrams — rendered natively at 1080×1920.

☁️
🖥️
🗄️
⚡
🔒
SVG ICON LIBRARY

Bundled technical icons.

Cloud, server, database, redis, cpu, lock, user, activity, networking, security.

🖥️
DUAL INTERFACE

Studio for output. Console for code.

Web Studio :3000 for prompts, job tracking and reel viewer. Manim Service :8000 for live code inspection.

🐳
CONTAINERIZED

One command to run all of it.

docker compose up --build ships Python 3.14/3.11, Manim, FFmpeg, Cairo, Pango and Node.js.

04 / EXAMPLES

Topics people actually explain.

Distributed systems, API auth flows, AI agents for business owners, clinic automation, dev-education Shorts. Pick one to load it into the composer.

DISTRIBUTED SYSTEMS

Redis pub/sub vs message queues with worker pools

CONSENSUS

Understanding Raft Consensus in distributed databases

API AUTH

OAuth 2.0 Authorization Code flow with PKCE

NETWORKING

How WebSockets work under the hood

AI FOR BUSINESS

How a voice AI agent helps a dental clinic book appointments

05 / THE STUDIO

Watch every job, down to the frame.

Prompt composer, run panel with progress ring, steps, plan length, unsupported list and the reel player.

localhost:3000
Prompt
How Redis pub/sub works vs message queues with worker pools
Duration
20s
Voice
shubh
Quality
1080p · 60fps
Launch Full Studio →
70%
Rendering 1080p Manim reel
Phase 4 · compiler active
1080×1920
06 / ARCHITECTURE

Two services, one compose file.

User / Browser
→
Web Studio
:3000
→
Express Gateway
server/index.ts
→
MANIM SERVICE · :8000
Orchestrator → LLM Planner → Sarvam TTS → Repair Agent → FFmpeg Mux
Frontend / GatewayNode.js 22 · Express 5.1.0 · TypeScript · Better Auth
EnginePython 3.14 · FastAPI · Manim Community · FFmpeg · Cairo · Pango
AI & SpeechLiteLLM Gateway (claude-opus-4.6) · Sarvam AI bulbul:v4-flash
Auth & MailBetter Auth · Resend API (no-reply@luqe.in) · SQLite (node:sqlite)
API CONTRACT
POST /api/jobs {"prompt": "string"}
GET /api/jobs/:id status, steps, videoUrl
POST /api/auth/sign-in/magic-link Better Auth passwordless sign in
GET /reel/:id/reel.mp4 1080x1920 MP4 download
07 / FAQ