Dev instances stay on small via the default; the always-on tailnet instance behind digalot.fyi/rotogod/ gets the big model. Measured on M3 Ultra MPS at 720p: click ~4s, propagate ~1.7 fps. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| deploy | ||
| rotogod | ||
| web | ||
| .gitignore | ||
| DESIGN.md | ||
| README.md | ||
| requirements.txt | ||
| run.py | ||
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/oset 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.