📈 GH Trending Explorer 🎲 Surprise me

← all repos

ashishjamarkattel / Animator

git clone https://github.com/ashishjamarkattel/Animator.git

—

+2
stars, 24h · #5,708
+~14
stars, 7 days · #6,450
+252
stars, 30 days · #2,049
263
★ total · +6% this week
32
forks · 1 open issues

Star history (as recorded here)

2026-10-20 · 250 ★ 2026-10-22 · 263 ★
LanguagePython
License—
Created2026-10-03 (19d ago)
Last push6d ago
Watchers0
OwnerUser

Links

README excerpt
Animator 
 Type an idea, get a narrated whiteboard video. 
 One prompt in, a hand-drawn explainer out. Script, drawings, voice and animation included. 
 Quick Start ·
 Examples ·
 How it works ·
 Usage ·
 Customise 
 [code] 
One command writes the script, draws each scene, records the narration, and animates every icon *while its sentence is being spoken*. A 4–5 scene video takes about a minute.
## Examples
All four were generated from a single prompt each, with no editing afterwards.
 Einstein's Famous Equation 4 scenes · 1:39 examples/einstein_emc2.mp4 
 How Photosynthesis Works 5 scenes · 1:50 examples/photosynthesis.mp4 
 How Wings Create Lift 5 scenes · 1:36 examples/plane_flight.mp4 
 How Bees Make Honey 4 scenes · 1:41 examples/how_bees_make_honey.mp4 
Click a preview to open the full video with sound.
## How it works
 [code] 
Steps 2–4 run for all scenes in parallel. Step 5 runs locally on CPU: it writes text stroke by stroke, traces outlines from their real endpoints, fills shapes with brush strokes, and draws branching line art one path at a time. A small bundled CRAFT model tells text apart from shapes. No GPU is needed.
## Setup
You need **Python 3.10+** and **FFmpeg**.
 [code] 
Get a key at Google AI Studio. The `.env` file is loaded automatically and is git-ignored.
### With Docker
Runs the web app and its API together. You need Docker, plus the two `.env` files from setup: the repo's
`.env` (Supabase server settings) and `frontend/.env` (see frontend/README.md).
 [code] 
| | Address |
|---|---|
| Web app | http://localhost:5173 |
| API | http://localhost:8000 |
The web app keeps port 5173 so Supabase sign-in redirects work unchanged. Stop `npm run dev` and any local
API server first, since they use the same ports. The `frontend/.env` values are built into the web app,
so run `docker compose up --build` again after changing them.
The command line works in the container too:
 [code] 
### Deploying to a server
`docker-compose.prod.yml` adds Caddy, which serves everything on one HTTPS
address and gets the certificate itself: `/api/*` goes to the API, everything else to the web app.
Any Linux server with Docker works; Oracle Cloud's Always Free Ampere VM is enough.
1. Point your domain's DNS `A` record at the server's public IP.
2. On the server: `git clone` this repo, then run `deploy/setup-vm.sh` once. On Oracle, also allow
 TCP 80 and 443 in the subnet's security list.
3. Copy your `.env` and `frontend/.env` to the server, and add `DOMAIN=yourdomain.com` to `.env`.
4. Start it:
 [code] 
5. In Supabase, add `https://yourdomain.com` under **Authentication → URL configuration** (Site URL and
 redirect URLs).
To update later: `git pull`, then run the same `up -d --build` command.
## Usage
### From a prompt
 [code] 
| Flag | What it does |
|---|---|
| `--scenes N` | Exact number of scenes (default: Gemini decides, usually 3–6) |
| `--voice NAME` | Gemini TTS voice (default `Kore`) |
| `--quality low\|medium\|high` | 20fps/500k, 24fps/1500