Generate a scrubbing-preview thumbnail sprite for a video using Mux's storyboard.vtt track and understand the Cloudflare Stream single-thumbnail alternative
domain: docs.mux.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
For assets on Mux, fetch the storyboard sprite image at https://image.mux.com/{PLAYBACK_ID}/storyboard.{png|jpg|webp} - a single sprite sheet made up of thumbnail tiles sampled at regular intervals across the video
Fetch the accompanying WebVTT metadata track at https://image.mux.com/{PLAYBACK_ID}/storyboard.vtt?format=webp, which maps timecodes to specific tile coordinates within the sprite image
Wire the storyboard.vtt track into your player's timeline/scrub-bar hover preview feature (e.g., via a WebVTT-aware thumbnail plugin), letting the player fetch the single sprite image once instead of many individual thumbnail requests
If instead using Cloudflare Stream, request individual frame thumbnails via the time-based endpoint (…/thumbnails/thumbnail.jpg?time=Xs&height=…), since Cloudflare's officially documented thumbnails API returns single frames rather than a sprite sheet or VTT track
For a Cloudflare-based scrubbing preview, generate and host your own sprite sheet by requesting multiple individual timestamped thumbnails and compositing them client- or server-side, or evaluate a third-party/undocumented approach only after confirming it's acceptable for production use
Cache generated sprite/thumbnail assets aggressively, since they're static once a video finishes processing
Known gotchas
Cloudflare Stream's officially documented thumbnails API is single-frame/time-based only - there is no supported first-party sprite-sheet or VTT scrubbing-preview endpoint equivalent to Mux's storyboard track, so don't assume feature parity between the two platforms
Mux's storyboard.vtt requires the source asset's playback ID to be public or signed consistently with how you're serving the main video - a mismatch in signing between the video and its storyboard track will break preview thumbnails even though the video plays fine
Building your own sprite sheet from individually requested per-timestamp thumbnails multiplies request count and can hit rate limits or added cost at scale compared to a single sprite fetch
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?