Substack video upload: 1080p H.264 at 8 Mbps or below

Substack's fastest-processing tips are 1080p or 1440p or smaller, H.264, 8 Mbps or below, 5 to 120 fps and AAC. What Sume can render for it.

4 min readSume
All posts

For the fastest processing on Substack, use 1080p or 1440p or smaller, H.264, a bitrate of 8 Mbps or below, 5 to 120 fps and AAC audio. The recommended maximum is 20 GB. Video posts get AI transcripts and a free-preview paywall. Specs are from Substack Support, read 2026-10-01.

What are Substack's fastest-processing settings?

Substack video tips, from Substack Support, read 2026-10-01.
SettingSubstack tip
Resolution1080p or 1440p, or smaller
CodecH.264
Bitrate8 Mbps or below
Frame rate5 to 120 fps
AudioAAC
SizeRecommended maximum 20 GB

Can Sume render 1440p?

No. Timeline's output.width and output.height stop at 2160, and a 16:9 1440p frame is 2560x1440, whose long edge is past that. 1920x1080 fits, and Substack lists 1080p.

How do I render a 1080p file?

Frame rate is easy: 24, 25, 30 and 60 all sit inside Substack's 5 to 120 range. Timeline 1.0 (POST /v1/timeline-1.0/render) takes output.width and output.height as even integers from 256 to 2160 and output.fps of 24, 25, 30 or 60, or omits fps to match the sources. It needs an Idempotency-Key, accepts only media.sume.com sources, and returns one MP4 at $0.10 per output minute, rounded up. The unbilled POST /v1/timeline-1.0/plan previews the cost first.

curl -X POST https://api.sume.com/v1/timeline-1.0/render \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: substack-1080p-001" \
  -d '{
    "audio": { "mode": "silence", "duration_seconds": 300 },
    "output": { "width": 1920, "height": 1080, "fps": 30 },
    "video": [
      { "source_url": "https://media.sume.com/artifacts/artf_demo/shot.mp4",
        "start": 0, "duration": 300, "fit": "cover" }
    ]
  }'

How do I keep the bitrate at 8 Mbps or below?

Sume's docs list no bitrate or codec field. The render endpoints refuse codec, crf and filtergraph keys with a 400, so you cannot tune the encode from the request. Compare file size per second after a test render. Probe the finished file with Video inspect 1.0. With frames: false it is a probe only, it is unbilled, and it reports width, height, container, fps and duration_seconds. It does not report file size, codec or bitrate, so check those with a local tool before you upload.

Do I get transcripts from Sume?

Substack makes its own AI transcripts for video posts. Sume's Video inspect also has an optional transcript, which is billed, but you do not need it to publish on Substack.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume