Ghost(Pro) upload limit: 5 MB Starter, 100 MB Publisher
Ghost(Pro) caps media uploads at 5 MB on Starter, 100 MB Publisher, 250 MB Business. Which newsletter-to-video clip fits, and how to cut it with Sume trim.

If your newsletter runs on Ghost(Pro), the plan decides whether you can upload a video at all: the limits page lists 5 MB for Free trial and Starter, 100 MB for Publisher, 250 MB for Business and 1 GB for Custom. A newsletter-to-video clip of a few seconds is the realistic fit on Publisher; on Starter, host the video elsewhere and link it.
The limits Ghost lists
Ghost's media file size page (read 2026-10-10) gives the per-plan upload cap and says there is no limit on the number of files. It does not list supported video formats on that page, so check the editor's video card before a big batch.
| Ghost(Pro) plan | Upload limit | What it means for a newsletter clip |
|---|---|---|
| Free trial | 5 MB | Link out; a short clip may not fit |
| Starter | 5 MB | Link out |
| Publisher | 100 MB | A cut teaser clip, tested first |
| Business | 250 MB | Room for a longer recap |
| Custom | 1 GB | Full recap video |
Cut the issue to the part that fits
Sume's video inspect can transcribe a clip and return sentence segments with timestamps, at $0.01 per audio minute, so you can pick the one section of an issue worth showing. Then video trim cuts a [start, end) range into a new MP4 for $0.02 per job. The duration is 0.2 to 900 seconds, audio can be kept or dropped, and an optional output object conforms width, height (256 to 2160) and fps for an exact cut.
Sume has no bitrate or file-size field, and the trim and timeline pages reject codec and crf fields, so file size tracks duration and pixel size. Shorter, smaller and silent are the three levers you have: cut fewer seconds, set a smaller output, or send audio as drop. Measure the downloaded file against the Ghost row for your plan; do not guess.
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ghost-teaser-001" \
-d '{
"video_url": "https://media.sume.com/artifacts/artf_demo/issue-recap.mp4",
"start": 12,
"duration": 10,
"audio": "drop",
"output": { "width": 1280, "height": 720, "fps": 24 }
}'A Q4 newsletter plan
Holiday issues often reuse last year's template, so keep one trim request and change only start and duration. Re-read Ghost's page before upgrading a plan for video, because the numbers are Ghost's and can change.
- Publisher: one 10-second silent teaser per issue, burned captions only if the text is needed.
- Starter: keep the video on your own hosting and embed or link it; do not try to squeeze under 5 MB.
- Business: a recap clip with sound, tested against 250 MB before the send.
- Captions: if you want text on the clip, standalone captions are $0.20 for videos up to 60 seconds.
Sources
Related posts
More in Integrations
- GitHub Actions: cancel the Sume Format run when the job is canceled
A canceled GitHub job does not stop a Sume run. Add a step with if: cancelled() that posts to the run's cancel URL, within GitHub's 7.5 second signal window.
- GitHub Actions concurrency queue: max vs single, and Sume queue_full
GitHub concurrency keeps one pending run by default, up to 100 with queue: max. See what that means for Sume submits and why cancel-in-progress is risky.
- GitHub Actions matrix cap is 256 jobs: use Sume bulk runs instead
A GitHub Actions matrix can create 256 jobs, and a Sume bulk run takes 100 items. How to split a batch between them so concurrency and queue limits hold.
- GitHub environment reviewers: approve before a paid Sume run
Put the Sume key in a GitHub environment with required reviewers, so a workflow pauses for approval before it starts a paid run, then cap the run's spend.
Written by Sume