Find the edits in a 4-shot lecture clip
Proof frames
Tool calls
detect_cuts
Arguments
{
"source": "$CLIP"
}
Result
{
"ok": true,
"data": {
"cuts": [
{
"timestamp_sec": 3.24,
"score": 0.270774,
"kind": "cut"
},
{
"timestamp_sec": 7.16,
"score": 0.344835,
"kind": "cut"
},
{
"timestamp_sec": 9.9,
"score": 0.093818,
"kind": "transition"
}
],
"total": 3
}
}
frame_at
Arguments
{
"source": "$CLIP",
"time_sec": 3.25
}
Result
{
"ok": true,
"data": {
"frame_time_sec": 3.24,
"width": 320,
"height": 240,
"source_width": 320,
"source_height": 240,
"crop": null,
"scale": 1,
"file_path": "<cache>/d55f16ba9933e265fe01/frame_at/frame_at_bd33d989a7e8774a.png",
"tool_file": {
"_tag": "ToolFile",
"name": "frame_at_bd33d989a7e8774a.png",
"mimeType": "image/png",
"encoding": "base64",
"data": "<89528 base64 chars dropped>",
"byteLength": 67146
}
}
}
Question and answer
- Question
- Where are the edits in this video? Which are hard cuts and which are fades?
- Answer
- detect_cuts lists 3 edits: 3.24 s is a hard cut, 7.16 s is a hard cut, 9.9 s is a fade.
How it was checked
- Truth from
- constructed
- Fixed at
Planted by this recipe before any tool ran: ffmpeg cut 4 single-shot pieces from the source (no shot change by ffmpeg scene score above 0.2 within 0.5 s of a piece's edges; piece starts in the source 52.2, 3.48, 66.52, 39.72 s, piece lengths 3.24, 3.92, 3.24, 3.76 s, starts at least 8 s apart) and joined them in order with hard cuts and one 1 s cross-fade (xfade) after piece 3. The truth is the planted edit times 3.24 s (hard cut), 7.16 s (hard cut), 9.9 s (fade): each hard cut at its join, and the fade's middle. The calls are detect_cuts with its default threshold, then frame_at a quarter frame after the first planted edit (a fixed rule).
A script joined 4 pieces of one public lecture clip with hard cuts and one 1 s fade, so this tests detection on a known constructed edit, not on a professionally cut film, and the audio was removed.
Try it yourself
Using agentic-video, find the edits in my video (the file I attach or name). Use detect_cuts to list every cut time, then check the first edit with frame_at. Tell me which edits are hard cuts and which are fades, with the times.
- Get the .mcpb file and open it in Claude Desktop.
- Or:
pip install agentic-video
Clip and licence
- Licence
- CC-BY-3.0
- Author
- Susan Dean, Barbara Illowsky
- Source
- commons.wikimedia.org
This file is licensed under the Creative Commons Attribution 3.0 Unported license.