agentic-video Gallery

Find the edits in a 3-shot music clip

Cuts and editsMusicVerified
0:08CC-BY-4.0 · Predatorsamsung

Proof frames

Click a frame to seek

Tool calls

2 calls · agentic-video 0.3.1
detect_cutsimac · 233 ms

Arguments

{
  "source": "$CLIP"
}

Result

{
  "ok": true,
  "data": {
    "cuts": [
      {
        "timestamp_sec": 3.08,
        "score": 0.299451,
        "kind": "cut"
      },
      {
        "timestamp_sec": 5.75,
        "score": 0.110328,
        "kind": "transition"
      }
    ],
    "total": 2
  }
}
frame_atimac · 313 ms

Arguments

{
  "source": "$CLIP",
  "time_sec": 3.09
}

Result

{
  "ok": true,
  "data": {
    "frame_time_sec": 3.08,
    "width": 640,
    "height": 480,
    "source_width": 640,
    "source_height": 480,
    "crop": null,
    "scale": 1,
    "file_path": "<cache>/4c1c191f21795c3878f7/frame_at/frame_at_22e8e2f2f347d52d.png",
    "tool_file": {
      "_tag": "ToolFile",
      "name": "frame_at_22e8e2f2f347d52d.png",
      "mimeType": "image/png",
      "encoding": "base64",
      "data": "<442236 base64 chars dropped>",
      "byteLength": 331677
    }
  }
}

Question and answer

Question
Where are the edits in this video? Which are hard cuts and which are fades?
Answer
detect_cuts lists 2 edits: 3.08 s is a hard cut, 5.75 s is a fade.
Check passedprecision 1.00 (min 1), recall 1.00 (min 1), tolerance 0.5s

How it was checked

Truth from
constructed
Fixed at

Planted by this recipe before any tool ran: ffmpeg cut 3 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 46.8, 32.48, 4.44 s, piece lengths 3.08, 3.28, 2.72 s, starts at least 8 s apart) and joined them in order with hard cuts and one 1 s cross-fade (xfade) after piece 2. The truth is the planted edit times 3.08 s (hard cut), 5.86 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 3 pieces of one public music 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.
  1. Get the .mcpb file and open it in Claude Desktop.
  2. Or: pip install agentic-video

Clip and licence

Licence
CC-BY-4.0
Author
Predatorsamsung
Source
commons.wikimedia.org
This file is licensed under the Creative Commons Attribution 4.0 International license.