Kajabi lesson video from a 16:9 Sume avatar clip: what fits
Kajabi takes MP4 up to 4 GB and recommends 16:9. A 16:9 Sume avatar clip of up to 60 seconds is a lesson intro or recap. The numbers, and where it stops.
What does Kajabi accept for lesson video?
Kajabi's help page gives a maximum upload of 4 GB, recommends MP4 and lists 14 accepted formats. Its recommended resolution is 640 to 3840 pixels wide, a bitrate of 5,000 to 10,000 kbps, a 16:9 aspect ratio and AAC audio at 128 to 160 kbps stereo.
| Item | Kajabi says |
|---|---|
| Maximum upload | 4 GB |
| Recommended format | MP4 (14 formats accepted) |
| Recommended width | 640 to 3840 px |
| Bitrate | 5,000 to 10,000 kbps |
| Aspect ratio | 16:9 |
| Audio | AAC, 128 to 160 kbps stereo |
Does a Sume avatar clip meet that?
The shape does: choose aspect_ratio: "16:9" and the clip is 720p, which is a 1280 pixel wide frame, inside the 640 to 3840 range. At the top bitrate, a 60 second clip is 75 MB (10,000 kbps x 60 s / 8), well below the 4 GB cap. Bitrate and audio settings are about the encode, so probe the file with video inspect before you upload to a course.
The length is the real limit. A single avatar job is 4 to 60 seconds, so it suits a lesson intro, a module recap or a quiz prompt, not a full lesson.
How do I build a longer lesson?
Render one avatar clip per section, then join them with Timeline, which takes up to 200 video slots and bills $0.10 per output minute. Use fit: "cover" or contain for the slide recording and keep every slot at 16:9 so nothing is padded. For the slide layout, the 16:9 post has the details.
Cost for five 40 second clips at plus with no product image: 200 s x $0.245 = $49.00 for the avatar jobs, plus the join.
curl -X POST https://api.sume.com/v1/avatar-1.0/talking-video \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: kajabi-m1-intro" \
-d '{"avatar_handle":"your_avatar_handle",
"script":"Welcome to module one. By the end you will have your first draft.",
"aspect_ratio":"16:9","quality":"plus"}'What does the join cost?
Timeline bills per ceil(output minute). A 200 second render is ceil(3.33) = 4 minutes, so $0.40, not $0.30. Run the unbilled plan endpoint first to see billable_minutes; the estimate post covers it in estimating before you pay.
Sources
Related posts
More in Use cases
- LinkedIn video ad: cut a 3-second bumper from a longer video
LinkedIn's Videos API takes MP4 from 3 seconds to 30 minutes. Cut a 3-second bumper from a finished video with POST /v1/video-trim, $0.02 a job.
- LinkedIn video ad file check in Python before initializeUpload
Check an MP4 against LinkedIn's Videos API range of 75kb to 500MB before you call initializeUpload, and print the fileSizeBytes the request needs.
- LinkedIn video ad thumbnail: pick a still with video frames
LinkedIn's initializeUpload takes an optional thumbnail. Pull up to 24 candidate stills from your MP4 with POST /v1/video-frames and pick one.
- Live-commerce clip webhook: verify the Sume signature in Python
Verify a Sume webhook in Python: HMAC SHA256 over timestamp.raw_body, any sume-v1 entry, a 300-second window, and reject an empty secret.
Written by Sume