LinkedIn video ad needs an uploaded file, not a link: use the Sume MP4
LinkedIn's video ad spec says to upload the file, not link YouTube or Vimeo. How to take the MP4 from a Sume job, check it, and upload it.

A LinkedIn video ad must be a video file uploaded directly to LinkedIn, not a link to a third-party site like YouTube or Vimeo. For a clip made on Sume, that means downloading the MP4 from the finished job and uploading that file, after you check its length, size and frame rate against LinkedIn's spec.
The numbers below come from LinkedIn's video ads specifications, read on 2026-10-07. Sume's side comes from the video generation guide and video inspect.
What LinkedIn requires
The page lists one file rule that is easy to miss when a clip lives at a URL.
| Rule | LinkedIn value |
|---|---|
| Source | A video file uploaded directly to LinkedIn, not a link to YouTube or Vimeo |
| Length | 3 seconds to 30 minutes |
| File size | Between 75 KB and 500 MB |
| Format | MP4 only |
| Codec | H.264 or VP8 |
| Frame rate | Less than 30 FPS |
| Vertical 9:16 | 720x1280 recommended, 360x640 minimum, 1080x1920 maximum |
Get the file from a Sume job
A POST /v1/videos job returns an id and a polling URL. When the status is completed, the poll response holds unsigned_urls, and the content endpoint streams the file:
curl "https://api.sume.com/v1/videos/$JOB_ID/content?index=0" \
-H "Authorization: Bearer $SUME_API_KEY" \
--output ad.mp4Check it before you upload
Do not trust the filename. Import the file back as a Sume asset only if you need to probe it: video inspect reads one media.sume.com clip that your workspace already owns and returns a probe object, and it can run with frames: false for the probe alone. Check these before you open LinkedIn's uploader:
- Duration at least 3 seconds. A very short generated clip can fall under it.
- Size under 500 MB. A short clip is far below it, but a long Timeline render is not a given.
- Container MP4 and a frame rate below 30. If your file is 30 or higher, conform it before upload.
- The long edge and the ratio, against the table above.
Where Sume stops
Sume makes and prepares the file. It does not upload to LinkedIn's ad account for you in the docs we checked, so the upload step is yours or your ad tool's. Generated outputs are mirrored into Sume-owned media.sume.com URLs, and the media inputs page says to store the Sume URL, not a raw provider URL. Keep that URL beside the LinkedIn ad id so you can trace an ad back to its generation job.
For the pixel sizes and the 4:5 case see the 4:5 spec check; for a Python size check see the file size check.
Sources
Related posts
More in Integrations
- MCP Skills extension (SEP-2640): what Sume's hosted MCP exposes
SEP-2640 serves Agent Skills as skill:// MCP resources. Sume's hosted MCP declares tools only, so skills/list is not a Sume surface; here is what to use.
- n8n 2.43.0: resume agents after waiting workflows, with Sume runs
n8n 2.43.0 (pre-release, Oct 6) resumes Preview agents after waiting workflows finish. Pair a long Sume run with one webhook, deduped on request_id.
- OpenClaw still lists sora-2 as a configured video provider: fix it
OpenClaw issue 158876: the bundled OpenAI video provider still defaults to sora-2, though /v1/videos returns 404. What to do now, and a Sume video call.
- Plan in Claude Code over MCP, then hand the batch to bulk runs
Use Claude Code with Sume's hosted MCP to prototype one video and read costs, then run the real batch from your backend with Format bulk runs and a spend cap.
Written by Sume