On the Shots tab, any scene with three or more un-boarded shots offers Grid storyboard.
It generates 4, 6 or 9 panels as a single image in one call, then splits them into per-shot frames.
### Two payoffs, and the second one matters more
Cost. Nine panels from one generation instead of nine is roughly a 9× saving on a pass that every single shot goes through. On a 400-shot feature that is a real number.
Consistency. Panels generated together are consistent with each other in a way separate generations are not. The model makes one decision about what the coat looks like, where the light comes from, how worn the room is — and then draws nine panels under that one decision. Nine separate calls make that decision nine times, and drift between storyboard frames is drift the whole scene inherits.
So this is not a cost optimisation that happens to be consistent. It is a consistency mechanism that happens to be cheap.
### When it declines
Shots that need their own aspect ratio, or that are set to cinema quality, are excluded and named — a uniform grid cell cannot give a shot a different frame, and 576px is not enough to approve a cinema composition on.
### Panels without FFmpeg
The split is deterministic: fixed geometry, so panel N is always the same rectangle. That geometry is always recorded exactly, and the board displays every panel correctly cropped.
Writing separate image FILES needs FFmpeg. Without FFMPEG_PATH set, panels display perfectly everywhere in the app but cannot be used as a first/last-frame anchor for video generation — that sends a URL to the provider, which would receive the whole contact sheet. That specific use is refused with the reason rather than silently producing a nine-panel first frame.