Review a rendered video
figma_review_videoInspect an exported Figma video without re-rendering it: generate contact sheets, frame close-ups and stills, then detect freezes, flickers, flashes, jumps and cuts from per-frame metrics.
Instructions
See a rendered video without rendering again: a contact sheet of the whole piece, every-frame close-ups of a window (the spacing between frames is the speed), frame-exact stills, and per-frame metrics that find freezes, one-frame flickers, flashes, jumps and cuts. Pass the path figma_export_video wrote. No Figma call: it answers while the plugin is busy, in any editor. Frame k is the timeline at k / fps. List the intended cuts (e.g. panel boundaries) and holds: a jump or a still stretch there is not a finding, but a declared cut that lands a frame early or late is. expectFrames checks the length. Returns JSON (numbers, then findings with frames), then up to maxImages images; every image is also written beside the video, or in saveDir. Needs ffmpeg and ffprobe on PATH, else UNSUPPORTED — figma_check_motion judges keyframes without them. Skill: critique (figma_get_guide).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cuts | No | Frames where a cut is meant: the frame that first shows the new picture. | |
| path | Yes | The video: the `path` figma_export_video returned, or a file inside the export roots. | |
| every | No | Contact sheet: one tile every N frames, by frame index. Default: about 90 tiles. | |
| holds | No | Intended still stretches: inclusive frames, e.g. [{ fromFrame: 120, toFrame: 179 }], or seconds, e.g. [{ from: 4, to: 5.97 }]. | |
| stills | No | Frames to return full size, exactly (frame k = k / fps). | |
| columns | No | Contact sheet tiles per row. Default 9 portrait, 6 landscape. | |
| metrics | No | Per-frame analysis. Default true. | |
| saveDir | No | Where the images go. Default: the video's folder. Same rules as figma_download_assets `dir`. | |
| closeups | No | Windows to show frame by frame, e.g. around each transition. | |
| maxImages | No | Images returned inline (sheet, close-ups, stills, in that order). Default 4. | |
| tileWidth | No | Tile width in px, for the sheet and close-ups. Default 180 portrait, 240 landscape. | |
| thresholds | No | Override the metric thresholds. | |
| expectFrames | No | Frames the file should have, e.g. figma_export_video's expectedFrames. |