YouTube playlistImages.insert 50MB: cover art from a clip frame
YouTube's API history raised playlistImages.insert from 2MB to 50MB on 2026-09-14. A Sume video-frames still is a way to produce the image to send.

YouTube's revision history says playlistImages.insert now supports images up to 50MB, previously 2MB, as of September 14, 2026. Sume does not upload playlist art, but its video-frames route returns a jpeg or png still from a clip that you can send yourself.
What does YouTube say about playlist images?
The revision note ties the two changes together: the same 2MB to 50MB step applied to thumbnails.set and playlistImages.insert. The note does not list formats or dimensions for playlist images, so none are claimed here.
| Method | Before | After |
|---|---|---|
| thumbnails.set | 2MB | 50MB |
| playlistImages.insert | 2MB | 50MB |
How do I pick a frame for a playlist cover?
Choose the moment by time. at[] takes 1 to 24 values in seconds, each at least 0 and below the clip duration, otherwise the worker fails with frame_time_out_of_range and reports the probed length. To get a first look without choosing, fps up to 2 samples the clip at mid-bin times and is capped at 24 frames.
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: playlist-cover-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/episode.mp4",
"fps": 0.5
}'Can I crop the still to a cover shape?
Video frames itself only clamps the long edge. To change the shape, run the clip through https://docs.sume.com/models/video-filter first: its crop op takes fractions of the frame and Sume rounds them to even numbers for yuv420p. Then extract from the cropped MP4.
What should I check before uploading?
Confirm the still's size against YouTube's current limit, since Sume's docs do not state a file size for frames. The route is unbilled, and each frame is a durable artf_ image URL on media.sume.com.
How does this fit a series workflow?
Playlists usually stand for a series, so the cover should look like the series and not like one episode. One approach is to reuse the same frame position across episodes, for example the first second, so that each cover shares a composition. Video frames supports this because at[] is explicit: the same time value gives the same instant in every clip you submit.
Keep one request per episode, each with its own Idempotency-Key, so a retry after a timeout does not queue a duplicate extract. The jobs are unbilled, which makes it cheap to try several candidate instants and choose afterward.
- Submit the same
atvalue per episode for a consistent look. - Keep the returned
frames[].urlvalues in your own store. - Check
urlfornullin case one instant failed; that does not fail the whole job. - Upload to YouTube in a separate, authorized step.
Sources
Related posts
More in Use cases
- YouTube Shorts up to 3 minutes: trim a long video to fit
YouTube's help page says Shorts can run up to three minutes and must be square or vertical. Sume video-trim cuts a range from a longer clip into a new MP4.
- YouTube Shorts series: queue episodes as one Format bulk run
Queue 1 to 100 episodes of a Shorts series in one Sume Format bulk run, set a concurrency of 1 to 16, and branch on counts.failed, not on completed.
- YouTube A/B testing video cuts: build hook variants by API
Build three hook variants of one video as separate files: trim for the hook, Timeline to join hook and body, and a fresh Idempotency-Key per request.
- YouTube thumbnail sizes fhd, qhd and uhd: frames from a clip
YouTube's Data API added fhd (1080p), qhd (1440p) and uhd (4K) thumbnail sizes on 2026-09-11. Here is how Sume's video-frames max_edge lines up.
Written by Sume