



Poster frames
Extract a raster frame with FFmpeg, then run the normal image pipeline (resize, format negotiation, smart crop):| Param | Purpose |
|---|---|
t or time | Timestamp in seconds for the frame to extract. |
poster=1 | Explicit poster mode (useful with presets). |
w, h, format, gravity, … | Same image params as raster sources. |
302).
Animated GIF
Transcode a clip segment to an animated GIF on the CDN edge:| Param | Purpose |
|---|---|
format=gif or gif=1 | GIF output mode. |
so / start / ss | Clip start time in seconds. |
du / duration | Clip length in seconds (max 300). |
w | Output width in pixels (height follows aspect ratio). |
fps | Frame rate (4–24, default 12). |
Spritesheets and trick play (VTT)
Generate a contact-sheet grid of sampled frames — imgix-style spritesheets for scrub-bar hover previews:| Param | Aliases | Purpose |
|---|---|---|
format=spritesheet | format=sprite, spritesheet=1 | Single grid image of sampled frames. |
format=vtt | vtt=1 | WebVTT file mapping timestamps → #xywh= regions on the spritesheet URL. |
w | spriteW, video-spritesheet-w | Thumbnail tile width in pixels (default 160). |
h | spriteH, video-spritesheet-h | Optional fixed tile height. |
cols | columns, spriteCols, video-spritesheet-columns | Grid columns (auto ≈ square grid). |
interval | spriteInterval, video-spritesheet-interval | Seconds between sampled frames (default 2). |
frames | spriteFrames | Max frames in the grid (default 36, max 120). |
spriteFormat | video-spritesheet-format | Spritesheet image format: jpg, webp, png. |
so, du, eo | — | Optional clip window (same as clip delivery). |
<video> metadata track or player thumbnail plugin at the VTT URL. Each cue references the spritesheet image at the same transform params with a #xywh=x,y,w,h fragment:
POST /api/media/storyboard remains available — CDN spritesheets use the same FFmpeg tile engine with interval-based sampling.
Clip delivery
Use video output formats (mp4, webm, mov, gif) to trim, resize, and transcode:
| Param | Purpose |
|---|---|
format / f / fm | Output container: mp4, webm, mov, gif, spritesheet, or vtt. |
so / start / ss | Clip start time in seconds. |
du / duration | Clip length in seconds (max 300). |
eo / end | Clip end time in seconds. |
w, h | Scale output (maintains aspect ratio). |
q | Encode quality hint (20–100). |
mute=1 / an=1 | Strip audio track. |
fps | GIF frame rate (4–24, default 12). |