AI avatar for online course videos: build and update lessons

Use an AI avatar as your online course instructor: one reusable avatar, a short talking video per section, captions, and one Timeline join per lesson.

5 min readSume
All posts

You can use an AI avatar as the instructor for an online course by building each lesson from short presenter segments. With Sume, create one reusable avatar for the whole course, render one talking video of up to 60 seconds per section, caption each segment, and join a lesson's segments with Timeline 1.0. When a section changes, re-render only that segment and join the lesson again.

Sume facts come from the Generate avatar video, Timeline 1.0, and Generation admission docs, read on 2026-09-27. Anything called current behavior is read from Sume's code. The join request itself is covered in How to make an AI avatar video longer than 60 seconds.

How do I set up one AI instructor for the whole course?

Create the instructor once with POST /v1/avatar-1.0/generate, from a prompt, a profile of traits, or a reference photo, and give it a stable avatar_handle. The docs recommend a stable handle so your app reuses a simple name instead of a generated id. Creating an avatar costs $0.95 per avatar; How to create a reusable AI avatar shows the request.

Then fix the look for the course: send the same avatar_handle, scene, aspect_ratio, and quality on every segment. Each video resolves one avatar and one shared scene, so pick one classroom prompt or one photo of your set as the scene for every lesson.

How do I turn a lesson into avatar segments?

Give each section of the lesson its own POST /v1/avatar-1.0/talking-video job:

  • Sume accepts a script it estimates at 4–60 seconds. Today the estimate counts 2.8 words per second and rounds up clip by clip, so a section holds roughly 165 words at most; how many words fit in 60 seconds explains the count.
  • Put the course, lesson, section, and version in each Idempotency-Key, as below.
  • Submit a lesson's segments together. Your workspace's concurrency_limit sets how many process at once; valid extra jobs wait as queued, and a submit fails with 429 queue_full only when the queue is full too.
  • Caption each segment before the join, with POST /v1/video-captions or captions stored on an avatar video preview. Today a caption job refuses a source longer than 60 seconds, so it can't take a finished lesson.
  • Join the captioned segments in one POST /v1/timeline-1.0/render per lesson, over their own audio detached with POST /v1/audio-detach.
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: course-101-lesson-02-section-03-v1" \
  -d '{
    "avatar_handle": "course_instructor",
    "script": "In this section, we set up the project folder and run the first build.",
    "scene": { "type": "prompt", "prompt": "Bright classroom, whiteboard behind the presenter" },
    "aspect_ratio": "16:9",
    "quality": "plus"
  }'

How do I update one section without redoing the lesson?

Replace one segment and rebuild only that lesson's render:

  • Re-render the changed section with its new script under a new key, such as …-section-03-v2. The docs say to reuse a key only for the same operation and payload; the same key with a changed body answers 409 idempotency_conflict.
  • Caption the new segment and detach its audio, as for the first version.
  • Render the lesson again with the new segment and its audio in place of the old ones, reusing the unchanged segments. If its length changed, shift the later slots' start values to match. Only that lesson's Timeline render runs again, not the whole course.

What are the limits?

Each piece has its own cap:

  • English speech only, in current code: the clip prompt asks for English, and avatar voices are cloned in English. For a course in another language, the route is TTS 1.0 with a language, then VEED Fabric 1.0 lip sync.
  • Timeline takes only your workspace's media.sume.com files, and the asset upload routes are hidden from the public API, so your own slides and screen recordings can't be added this way.
  • audio.parts[] takes up to 20 files, so up to 20 segments join in one lesson render that way.
From Generate avatar video, Video captions, and Timeline 1.0, read 2026-09-27.
PieceLimit
One segmentEstimated 4–60 seconds, one avatar, one shared scene.
Shape and size1:1, 3:4, 9:16 (default), 4:3, or 16:9; resolution is currently 720p.
One caption jobA public HTTPS video with audible speech; today up to 60 seconds.
One lesson render1–1,800 seconds of audio and 1–200 slots, all Sume-hosted.

What does an AI avatar course video cost?

Segments bill per second of video by quality tier: $0.184/s standard, $0.245/s plus, $0.55/s max (no product image). A 10-minute lesson at the default plus tier is $147.00 of avatar video. Each lesson render is listed at $0.10 per output minute, and each caption job reserves a fixed amount per clip of up to 60 seconds, listed in GET /v1/catalog. All are plus a 5.5% agent fee by default, and an update re-bills only the new segment, its caption and detach, and that lesson's render. AI avatar video pricing has the per-minute table.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume