StyleReel watches a clip, works out what is actually happening on screen and in the audio, then captions it in four different registers. The facts stay true to the video. Only the tone changes.
Pick a voice under each clip. Nothing here is edited or cherry picked. This is exactly what the container writes to its results file.
A local harness runs the container against a 15 clip test set and grades every caption with a separate model on accuracy and tone.
All four captions come from one checked description of the video, so they never argue with the footage or with each other.
Smart frame picks plus a local transcript. Fireworks dropped its speech API, so we run our own. Dialogue is where the jokes live.
Gemma 3 on an AMD Radeon PRO W7900 writes down what it sees, then checks the description against the frames a second time before anyone jokes about it.
Each voice gets its own writer, five drafts deep, working only from the facts. The joke is always about the real thing on screen.
A different model checks each draft for accuracy and picks the strongest. A style is never missing, the output is never broken.
Point it at a folder with your clips and read the captions back out.
# drop a tasks.json in ./input, get results.json back in ./output docker run --rm \ -v $PWD/input:/input:ro \ -v $PWD/output:/output \ ghcr.io/nishchaymahor/stylereel:latest