LinkedIn 30-minute video: 24 spot-check stills, one every 75 seconds

LinkedIn allows videos up to 30 minutes. Video inspect takes 1,800 seconds and 24 stills per call, so at[] with 37.5 + 75k covers the whole file in one job.

5 min readSume
All posts

LinkedIn's video ad specifications (read 2026-10-09) allow a length of three seconds to 30 minutes. Video inspect accepts a source up to 1,800 seconds, which is exactly 30 minutes, and returns up to 24 stills per call. So one inspect job can sample the whole file at 24 equal bins of 75 seconds, at times 37.5, 112.5, 187.5 and on to 1,762.5.

That is the (k + 0.5) x 75 arithmetic for k from 0 to 23: the midpoint of each 75-second bin. Pass those values in frames.at, or send frames with fps set so that the product with duration equals 24.

Why a spot check on a long ad

A 30-minute ad is rare, and LinkedIn's page recommends 15 to 30 seconds. But a 30-minute webinar upload or a long event video is plausible, and a long render can hide problems: a black stretch, a wrong clip in a slot, a caption plate left on. A one-per-75-seconds contact set finds a black or mismatched stretch longer than 75 seconds. It misses shorter ones.

24 stills over 1,800 s (video inspect limits read 2026-10-08; arithmetic ours)
kTime (s)Time (min:sec)
037.50:37.5
1112.51:52.5
11862.514:22.5
12937.515:37.5
231762.529:22.5

The request and what it costs

Inspect is billed by its Modal compute, container seconds times the Modal list times 1.25 plus the platform fee, never more than the hold. The docs do not give a fixed per-call price, so read the live number from GET /v1/catalog before a large batch. Speech-to-text is priced separately at $0.01 per audio minute, so a 30-minute transcript would be 30 x $0.01 = $0.30 if you want one.

Stills default to a 768 px long edge, with max_edge up to 2160 available. For a spot check the default size is enough to see black frames, a wrong clip or a leftover caption plate; raise max_edge only if you need to read small text.

{
  "video_url": "https://media.sume.com/artifacts/artf_demo/long.mp4",
  "frames": {
    "at": [37.5, 112.5, 187.5, 262.5, 337.5, 412.5, 487.5, 562.5,
           637.5, 712.5, 787.5, 862.5, 937.5, 1012.5, 1087.5, 1162.5,
           1237.5, 1312.5, 1387.5, 1462.5, 1537.5, 1612.5, 1687.5, 1762.5]
  }
}

Other limits worth checking

LinkedIn's page also gives 75 KB to 500 MB and MP4. A 30-minute file at 500 MB is an average of about 2.2 Mbps, which is far under what YouTube recommends for 1080p, so quality depends on how the file was made. Sume does not set bitrate, so check the size of the delivered file against 500 MB before you try the upload.

Long sources also matter for editing tools: video filter stops at 300 seconds and video frames at 300 seconds. Video trim takes 1,800 and writes up to 900 per job. Inspect is the one that covers the full 30 minutes. If you need to look closer at a suspect stretch, a follow-up video frames call on a trimmed piece of up to 300 seconds can sample it at up to 2 frames per second, 24 stills at most.

Reading the result

The job returns the probe fields and a list of stills with times and URLs. Open them as a grid in order: a long file shows its structure at once, such as an intro, a speaker, slides, an outro. A still that is black or shows the wrong slide marks a bin to look at closer.

A bin is 75 seconds wide, so a problem shorter than that can fall between samples. If the file matters, run a second job with the same 24 times shifted by 37.5 seconds.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume