Go to file
m3ultra 96bba8e538 feat: browser upload (raw-body, 8g cap) + click-to-download exports
Makes the digalot.fyi/rotogod/ proxy actually usable away from the box:
⬆ uploads land in samples/uploads and open; output list links through
GET /api/download/{name}. nginx side: 8g body cap, request buffering off.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 13:30:49 +10:00
deploy feat: ROTOGOD v0 — SAM-2 rotoscoping web app (load/scrub/trim → click actor → track → alpha export) 2026-07-26 22:02:20 +10:00
rotogod feat: browser upload (raw-body, 8g cap) + click-to-download exports 2026-07-27 13:30:49 +10:00
web feat: browser upload (raw-body, 8g cap) + click-to-download exports 2026-07-27 13:30:49 +10:00
.gitignore feat: ROTOGOD v0 — SAM-2 rotoscoping web app (load/scrub/trim → click actor → track → alpha export) 2026-07-26 22:02:20 +10:00
DESIGN.md feat: ROTOGOD v0 — SAM-2 rotoscoping web app (load/scrub/trim → click actor → track → alpha export) 2026-07-26 22:02:20 +10:00
README.md feat: ROTOGOD v0 — SAM-2 rotoscoping web app (load/scrub/trim → click actor → track → alpha export) 2026-07-26 22:02:20 +10:00
requirements.txt feat: ROTOGOD v0 — SAM-2 rotoscoping web app (load/scrub/trim → click actor → track → alpha export) 2026-07-26 22:02:20 +10:00
run.py feat: ROTOGOD v0 — SAM-2 rotoscoping web app (load/scrub/trim → click actor → track → alpha export) 2026-07-26 22:02:20 +10:00

ROTOGOD

Click an actor, get an alpha channel. Local SAM 2 rotoscoping on Apple Silicon.

# setup (once)
uv venv -p 3.12 .venv
uv pip install --python .venv/bin/python -r requirements.txt

# run
.venv/bin/python run.py --port 8484        # → http://localhost:8484
  • Load a clip by absolute path, scrub with the slider / arrow keys / mouse wheel.
  • i / o set in/out points. Trim exports a scene cut (output/).
  • Start roto locks the in/out range into a SAM 2 session. Left-click = include, right-click = exclude. Multiple objects supported. Track propagates through the range.
  • Fix drift by clicking on the bad frame, then Track again from there.
  • Export ProRes 4444 (alpha), WebM (alpha), matte, or greenscreen.

Model defaults to facebook/sam2.1-hiera-small; for final-quality masks run with ROTOGOD_SAM2=facebook/sam2.1-hiera-large. See DESIGN.md.