Podia lesson video: 30 fps or below, H.264, 8 Mbps at 1080p
Podia wants MP4, H.264, AAC, 30 fps or below, under 4 hours. Set the Sume timeline to 30 fps at 1920x1080, then check bitrate yourself, since Sume has no field.

To make a lesson Podia accepts, render it as an MP4 at 1920x1080 and set the frame rate to 30, because Podia asks for 30 frames per second or below and the Sume timeline can also render at 60. Sume lets you set width, height and fps, but it has no bitrate field, so you check the bitrate of the finished file yourself against Podia's figures.
What Podia lists
Podia's video guideline page (read 2026-10-10) names one primary format and a short list of encoding rules. Course creators who build lessons from AI clips, an avatar intro, and narration slides should compare each line against what the render step can set.
| Podia line | Podia value | Can a Sume render set it? |
|---|---|---|
| Container | MP4 primary (MKV, MOV, AVI, WebM and others also listed) | Trim and timeline return MP4 |
| Video codec | H264, progressive scan, high profile | Sume compiles ffmpeg itself and rejects codec fields, so you do not pick it |
| Audio codec | AAC | Exact-precision trim remuxes kept audio as AAC |
| Frame rate | 30 or below | Yes: output.fps 24, 25 or 30 (60 also exists, avoid it here) |
| Resolution | 1280x720 or 1920x1080 | Yes: output.width and output.height |
| Bitrate | 8 Mbps at 1080p, 4.8 at 720p, 2.4 at 480p, 1 at 360p | No bitrate field: measure the output |
| Size | Up to 1 GB recommended, 5 GB per file maximum | Measure the output |
| Duration | Strictly under 4 hours | Timeline output is 1 to 1800 seconds |
The fps trap
The Timeline 1.0 docs say that if you omit output.fps, the render follows the frame rate of the longest video source, and 30 applies only when no source has a rate. A stack of generated clips can carry different rates, so pin 30 yourself. A mismatch between a source and the output rate repeats or drops a frame every few frames, and the job reports it as output_fps_resamples_sources. Read the warnings array of the result.
For a single finished clip, video trim takes an optional output object with width, height and fps (24, 25, 30 or 60) and works only with precision exact, which is the default. That is the cheaper way to conform one existing file.
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: podia-lesson-001" \
-d '{
"audio": {
"url": "https://media.sume.com/artifacts/artf_demo/lesson.wav",
"duration_seconds": 540
},
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/slides.mp4", "start": 0, "duration": 540 }
],
"output": { "width": 1920, "height": 1080, "fps": 30 }
}'Bitrate and size arithmetic
Podia's 8 Mbps figure for 1080p means about 60 MB for each minute of video (8 megabits a second times 60 seconds, divided by 8). That is arithmetic on Podia's number, not a measured Sume output. At that rate a 9-minute lesson lands near 540 MB, under the 1 GB Podia recommends, and the 4-hour limit never matters for short lessons.
Timeline renders cost $0.10 per output minute, rounded up, so the 9-minute lesson above is $0.90 per render (read from the Timeline 1.0 docs; confirm the live rate in GET /v1/catalog). If you re-render a corrected lesson, you pay again, so run the free plan call first.
Q4 course sale checklist
Podia's own page is the source for every number in the Podia column above, so re-read it before a launch; vendors change these limits.
- Pin output.fps to 30 on every lesson, trailer and bumper that goes into Podia.
- Render at 1920x1080 for lessons and 1280x720 where the source is a slide deck with big text.
- Use a captions pass for the sale-week trailer: standalone captions are $0.20 for videos up to 60 seconds.
- Check the finished file size before upload, because Podia recommends staying near 1 GB.
Sources
Related posts
More in Integrations
- Render deploy hook returns 202: start a Sume run after a deploy
Render deploy hooks return 200 when a deploy starts and 202 when queued. Call one, then start a Sume Format run for the release only once it ships.
- SendGrid ECDSA event webhook vs a Sume HMAC verifier: two checks
SendGrid signs event webhooks with ECDSA, while Sume uses HMAC SHA256. Here is why one verifier will not cover both and how to start a Sume run from an event.
- Shopify X-Shopify-Webhook-Id as the Sume Idempotency-Key
Shopify retries a failed webhook 8 times over 4 hours. Derive the Sume Idempotency-Key from the webhook id so each delivery makes one run, never two.
- Slack link unfurling for a page that shows a Sume render
A Slack app can unfurl your own link with a Sume render preview using link_shared and chat.unfurl. Learn the 5-domain limit and the reinstall rule first.
Written by Sume