inspect_timeline
WATCHES the cut. Composites every video layer at each requested frame and returns ONE contact sheet — the frames as labelled cells of a single grid image — plus, per cell, the visibleClipIds that contributed pixels and a fingerprint. Pass frames (timeline frame numbers, max 12). Use after every edit: this is the only tool that shows what actually PLAYS, as opposed to what get_timeline says is arranged. SAMPLE THE CUT POINTS AND THE MIDDLE OF EACH SECTION, not only frame 0. An entrance animation that never resolves, a graphic clipped by its own box, an offline clip rendering black — all look perfect in get_timeline and are obvious here. USE pixels:false FOR A CHEAP SWEEP. visibleClipIds plus nonBlankRatio confirms 'the right clip is in every slot and none of them is black' across a dozen positions with no image cost; spend pixels on the few frames where you must judge typography, framing or timing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The session token `connect` returned. Pass it on every call — it says which browser to drive. | |
| frames | Yes | Timeline frame numbers, max 12. | |
| pixels | No | False = structure + fingerprints only, no image (default true). | |
| columns | No | Grid columns (default 3, or one row if ≤3). | |
| projectId | Yes | Project id from get_projects. | |
| cellHeight | No | Target px height per cell (default 300). Shrunk automatically if the sheet would exceed the response budget — the reply says so when that happens. | |
| timelineId | Yes | Timeline to render. |