Create a storyboard
figma_create_storyboardLay out a motion storyboard in Figma as panel cards with thumbnails, timing, beats, copy, action, and audio, then flag off-beat starts or unreadable copy before animating.
Instructions
Lay out a motion piece's storyboard before animating it: a board of cards in rows, one per panel, each a thumbnail frame at aspect above caption rows (time, duration, story beat, on-screen copy, action, camera, transition, audio, notes). Timing is derived from each panel's durationS, snapped to whole frames by default: start and end in seconds and frames at fps, and bar.beat with bpm. The result lists panels that start off the beat (offBeat) and copy on screen too briefly to read (readTime): fix both before building. A panel can snapshot a frame of this file (source), show an image already in it (image), or get an empty full-size styleframe beside the board (styleframe). Sketch into a thumbnail with figma_create_from_spec { parentId: thumbId }. The duration caption is the plan: edit its text to retime a panel. A plan, not an animation: figma_set_keyframes animates. Skill: storyboard (figma_get_guide). One undo step. Editors: Design; unverified: FigJam, Slides.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Default: right of everything on the page. | |
| y | No | ||
| bpm | No | Tempo: adds bar.beat per panel and lists panels that start off the beat. | |
| fps | No | Frame rate the frame numbers use. Default 30. | |
| snap | No | Round each duration to whole frames (default), whole beats (needs bpm), or not at all. Changes are listed in `snapped`. | |
| title | Yes | The piece's name; the board is named Storyboard / <title>. | |
| aspect | Yes | Of every thumbnail and styleframe. | |
| pageId | No | The page to build on, at its top level. Default: the current page. | |
| panels | Yes | ||
| columns | No | Cards per row. Default 6 (9:16), 5 (4:5, 1:1), 4 (16:9). | |
| session | No | Optional sessionId or file name, to pick a Figma file when more than one is connected. | |
| captions | No | Caption rows on every card, always in this order. Default: timecode, duration, and every row any panel fills. | |
| thumbWidth | No | Thumbnail width in px; height follows the aspect. Default 216 / 288 / 300 / 384 by aspect. | |
| beatsPerBar | No | Default 4. Needs bpm. | |
| idempotencyKey | No | Caller-owned retry key, ≤128 chars. Re-calling with the same key never executes twice: it returns the existing result, or waits for the op still in flight. Supply your own for anything large — if the MCP client times out (rather than the bridge), only a key you chose can be used to retry safely. | |
| styleframeWidth | No | Styleframe width in px. Default 1080 (1920 for 16:9). |