Substack video in email is a clickable image: pick the still
Substack plays video on the web but shows a clickable image in email. Pull candidate stills from your clip with Sume's video frames: unbilled, up to 24.

When you send a Substack post with video, subscribers who open the email see a clickable image rather than a player, so the still you choose is the whole pitch. Sume's video frames pulls up to 24 stills from a clip at the seconds you name, for free, so you can pick the best one before you publish.
The email behaviour comes from Substack's announcement of video (read 2026-10-02), which says videos play directly on the web in a post and appear in the email versions as clickable images. That page is from 2022, does not say how the image is chosen, and does not mention custom thumbnails, so this post does not claim you can replace it. It covers making good candidate stills.
What does Substack's page actually say?
Videos can be uploaded or recorded in a post, access can be limited to paid subscribers or left public, and the video stays tied to your mailing list. The page sends technical specs to the Help Center, so file limits are not on it. The one email-relevant sentence is that the email version shows a clickable image.
That is why the opening frame matters. A frame with a half-blink, a transition blur or a black fade-in makes a weak email image whatever the video is worth.
How do I pull candidate stills?
Video frames takes one workspace media.sume.com clip and exactly one of at[] (1 to 24 seconds) or fps (above 0, up to 2). It returns durable image files at the source size unless you set max_edge between 16 and 2160. Submit is always 202; read the result with GET /v1/video-frames/:id.
Ask for six moments spread over the first 30 seconds and open the results side by side:
curl -X POST https://api.sume.com/v1/video-frames \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: issue-41-stills" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/issue-41.mp4",
"at": [1, 4, 8, 12, 20, 28],
"format": "jpeg",
"max_edge": 1280
}'What are the limits?
The source clip can be at most 300 seconds. For a longer video, cut the part you want to show with video trim first ($0.02 a job) and run frames on the trimmed file. An at value at or past the clip's duration fails the job as frame_time_out_of_range, and the error names the duration it probed.
One instant that fails to extract comes back with a null url without failing the whole job, so check each entry before you use it. Video frames is unbilled.
| Field | Rule |
|---|---|
at[] | 1 to 24 values, each 0 or more and under the duration |
fps | Above 0, up to 2, capped at 24 frames |
format | jpeg (default) or png |
max_edge | 16 to 2160; omit to keep source size |
| Source length | Up to 300 seconds |
Where does the still go?
Use the winning still as the poster in your own post header, in a social card or in the email body wherever Substack's editor lets you place an image. Whether the image Substack shows in email can be swapped is a question for Substack's Help Center, not this page or Sume's docs.
For upload limits on the Substack side, see Substack video post upload. For the general method, see extract video frames API.
How do I choose among the candidates?
Open the six results side by side and reject any with closed eyes, mid-gesture blur or text cut off at the edge. Prefer a frame where the subject looks at the camera with a clear background, since the image is small in an inbox.
If none work, run a second pass with fps: 1 on the 10 seconds around the best candidate; mid-bin sampling gives frames at 0.5, 1.5, 2.5 seconds and so on. Because video frames is unbilled, a second and third pass cost nothing, but each is still a job, so reuse an Idempotency-Key only when you mean to repeat the same request.
Sources
Related posts
More in Use cases
- Synthesia Sessions alternative: avatar briefing clips by API
Synthesia launched Sessions for live avatar roleplay. Sume renders scripted avatar clips instead: what that covers in sales training, and what it does not.
- SynthID Detector: how to check a video for a watermark today
Google DeepMind's SynthID page says a detector portal exists with an early-tester waitlist, and Gemini can check uploads. What that means for a video team.
- Tennessee ELVIS Act and AI voice: a checklist for TTS projects
Tennessee's ELVIS Act, signed 21 March 2024, extends protection to voice. A consent checklist for AI voiceover, using the governor's page and Sume's TTS docs.
- Thanksgiving recipe video: step cards with caption cues
Make a 40-second Thanksgiving recipe video from five phone shots: join them in Timeline 1.0, burn numbered step cards with caption cues, add a music bed.
Written by Sume