Customer onboarding video: one short clip per setup step

A customer onboarding video walks a new customer through one step of getting started. Render one short AI avatar clip per step from your backend.

5 min readSume
All posts

A customer onboarding video is a short clip that walks a new customer through one step of getting started: the welcome, the first setup task, or where to get help. Make one video per step, keep each under a minute, and put it where that step happens, such as the welcome email or the setup screen.

An avatar API lets you render and re-render these clips from scripts without filming. On Sume each clip is one talking-video job that your backend submits, with a webhook when it ends. Facts come from Generate avatar video, Jobs and results and Webhooks, read on 2026-09-28, plus Sume's current code where noted.

Which customer onboarding videos do you need?

Start from your onboarding checklist and give each step its own clip:

  • Welcome: thank the customer and say what the first few days look like.
  • First setup task: the one action that makes the product useful, such as connecting an account or inviting a teammate.
  • Next feature: the step that usually comes after setup.
  • Getting help: where the docs, the help desk, and your team are.

How do I generate onboarding videos from my backend?

Submit one talking-video job per step from your server, never from the browser: the docs say browser and mobile clients should call your backend, which attaches the Sume API key. Add webhook_url, which the API reference lists on this route; sent without a mode, it selects webhook delivery. Give each version of each step its own Idempotency-Key, and reuse a key only for the same payload.

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: onboarding-step-2-v3" \
  -d '{
    "avatar_handle": "success_host",
    "script": "Next, invite one teammate so you can share your first project.",
    "aspect_ratio": "16:9",
    "webhook_url": "https://example.com/hooks/sume"
  }'

How do I know when a video is ready?

  • Job webhooks are terminal-only: job.completed, job.failed or job.canceled. There are no progress callbacks.
  • When webhook signing is configured, Sume signs the raw body with HMAC SHA-256 over <timestamp>.<raw_body>. Verify it before you trust the event; webhook security best practices is a receiver checklist.
  • Treat job_id as the idempotency key on your side, because a delivery can be sent again.
  • Keep polling the job's status_url as a backup for missed deliveries.
  • The webhook URL must be public HTTPS; localhost and private-network URLs are rejected.

Where should the finished videos live?

Completed results can include public media.sume.com video files and a preview_image_url still. The docs tell integrations to store the Sume URL, so save it next to the onboarding step and use it in the email, help article, or in-app screen. AI avatar for website videos covers embedding a clip on a page.

When a step changes, render a new clip for that step only and swap its URL. The other steps keep their videos.

What are the limits, and what does it cost?

  • One job covers an estimated 4-60 seconds, so a long step becomes two clips.
  • In current code the avatar route speaks English only.
  • Clips are presenter-led: there is no public upload route for local files, so a screen recording of your product needs another tool.
From Generate avatar video and API pricing, read 2026-09-28. Prices are before a 5.5% agent fee by default.
PieceLimitPrice
AvatarCreated once, reused by handle$0.95 per avatar
Onboarding clipEstimated 4-60 seconds, 720p$0.184/s standard, $0.245/s plus, $0.55/s max (no product image)

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume