
TakePick | Pick the best take from multiple takes
TakePick: pick the best take from multiple takes
You said the line five times. One of them is clean. TakePick finds it, tells you why the others lost, and hands the winner back trimmed and ready for your editor.
What you send
- Separate takes: 2 to 12 video files (MP4, MOV, MKV, WEBM) or audio files (WAV, MP3, M4A, FLAC, OGG), or one ZIP that holds them.
- Or one recording with retakes in a row: the camera kept rolling and you started over a few times. TakePick finds where each attempt starts (the opening words said again).
- The script, if you have it: paste it or upload a .txt. Without a script, the takes are compared with each other.
Up to 30 minutes per file. Upload the files themselves; links are not fetched.
What you get back
| File | What it is |
|---|---|
best_take.mp4 |
The winning take, cut 0.30 s before the first word and up to 0.45 s after the last, with 20 ms fades so there is no click. .m4a when the takes are audio |
runner_up.mp4 |
The second-best take, cut the same way, in case you prefer it |
ranking.csv |
Every take: score, words matched, fillers, restarts, pauses over 1 s, speech level, peak, clipping, start and end time |
report.md |
The ranking with reasons and timestamps, the scoring rules and every transcript |
take_board.png |
One picture of all takes: a frame, the waveform, score and issues |
takes.json |
Word-level timings of every take |
Want another take exported too? Ask for it by name ("export take 3 as well") and it comes back cut the same way.
How a take is scored
Every take is transcribed with a speech model that runs inside the workspace (Whisper tiny), then scored on the same rules:
- Words: missed, changed or added words against your script. A change heard the same way in most takes is treated as the model's hearing (or a script line you always say differently) and is not counted against anyone. Report.md lists those.
- Fillers: um, uh, erm, er, hmm, mm, ah, eh, each with its time.
- Restarts: a word or a phrase of up to four words said twice in a row ("push your finger, push your finger"), or a cut-off word.
- Pauses: silences over 1 second inside the take.
- Sound: clipping (more than 0.1% of samples at full scale) and speech that is too quiet.
- Incomplete takes (under 80% of the script) drop to the bottom. Ties go to the shorter take.
Start at 100, minus 60 x the share of words missed or changed, 6 per filler, 8 per restart, 4 per long pause, 15 for clipping, 5 for a quiet take, 25 for an incomplete one.
Measured
On a 2-CPU Linux workspace, the same kind the agent runs in:
- Five 13 to 15 second video takes with a script: ranked and both takes exported in 5.3 s.
- One 61 s recording with five attempts in a row: split, ranked and exported in 5.2 s.
- One 10 minute 18 second recording with 50 attempts: 22.3 s.
- Test set (synthetic voice, planted problems): the clean take won in every run; the 3 fillers, the restart, the 2.3 s pause, the changed word, the clipped take and the unfinished take were all found. Exported takes start 0.30 s before the first word; audio and video end within 23 ms of each other.
What it does not do
- It does not judge your face, energy, framing or focus. The score covers words, fillers, restarts, pauses and sound level.
- It exports one whole take. It does not splice the best sentences of several takes together.
- The transcript comes from a small model. A "changed" word can be the model mishearing; listen to the top two before you publish.
- Filler detection is for English. Other languages are transcribed and compared, but their filler words are not counted.
- It does not post anywhere and does not need any login or key.
Plans
| Plan | Price | Requests |
|---|---|---|
| Daily | $3.99 | 5 |
| Weekly | $7.99 | 12 |
| Monthly | $19.99 | 30 |
One request is one set of takes (re-exporting another take from the same set counts as a request). Your takes stay in the workspace; only Python packages are installed from PyPI when the workspace is built.
Externe API’s
PyPI (pypi.org, files.pythonhosted.org)


