LinkedIn video ad thumbnail and captions: JPG/PNG 2 MB, SRT
LinkedIn wants a JPG or PNG thumbnail up to 2 MB and text-only SRT captions. Sume extracts the frame still; its caption route burns text into the video.
LinkedIn's video ad page asks for an optional JPG or PNG thumbnail of at most 2 MB, and for captions as an SRT file with text only. Sume can cut a still from your clip with POST /v1/video-frames, but its caption route burns text into the picture; the docs describe no SRT export.
Specs are from LinkedIn's Marketing Solutions Help page and Sume's video frames and video captions docs, all read 2026-10-01.
What does LinkedIn require for the thumbnail and captions?
The thumbnail is optional, and its aspect ratio and resolution should match the video. Captions must be SRT, and the page warns to put only text in the file: custom formatting such as font colors is not supported.
| Item | Requirement on the page |
|---|---|
| Thumbnail format | JPG or PNG |
| Thumbnail size | Maximum 2 MB |
| Thumbnail shape | Aspect ratio and resolution match the video |
| Captions | SRT, text only, no custom formatting |
| Video file | MP4, codec H.264 or VP8 |
| Frame rate | Less than 30 FPS |
How do I get a thumbnail from the clip?
Send the clip's media.sume.com URL and a time in at. The default format is jpeg, and max_edge clamps the long edge between 16 and 2160 if a file comes out too big. Leaving max_edge out keeps the source frame size, which keeps the shape matching the video. The route is unbilled and always returns 202, so poll the id.
The docs do not state a file size for the returned still, so check the result against LinkedIn's 2 MB limit before uploading.
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: li-thumb-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/ad.mp4",
"at": [1.5],
"format": "jpeg"
}'
curl https://api.sume.com/v1/video-frames/$REQUEST_ID \
-H "Authorization: Bearer $SUME_API_KEY"Can Sume produce the SRT file?
The video captions page opens with "Burn captions onto an existing public video URL". Output is a captioned video, with style, language and optional script_text. That covers on-screen text, which is a different thing from the SRT upload slot. If the SRT slot is required for your placement, write the SRT yourself from your script; if burned text is acceptable, see burn captions onto video.
What about the frame rate and codec?
LinkedIn asks for less than 30 FPS. In video-trim, an exact trim re-encodes with libx264 and yuv420p, and an output.fps conform accepts 24, 25, 30 or 60 (exact only). 30 is not less than 30, so pick 24 or 25 when you conform. Details for this cap are in LinkedIn video ad specs and frame rate.
Sources
Related posts
More in Use cases
- Add a lower third name tag to a video with an API
Sume has no lower-third template. Burn a name and title as one authored caption cue with a newline, and set its height with design.placement.anchor_ratio.
- Midjourney style reference API: input_references on Sume
Midjourney's srefs live in its own app. On Sume, carry a style with a public HTTPS reference image in input_references plus a prompt, on models that allow it.
- Export one video as 9:16, 1:1 and 16:9 with the API
Call Timeline 1.0 three times with the same clip and a different output.width and height each time. Three renders cost $0.30 for a clip under a minute.
- Pinterest ad image size: 2:3, 1000x1500, 40-character title
Pinterest ad images: PNG or JPEG, 2:3 (1000x1500), 100-character title with about 40 showing. Why 1000x1500 clashes with Sume's x16 pixels rule.
Written by Sume