Annual compliance refresher as an avatar video: review and records

An avatar can deliver a 45-second compliance refresher. Legal approves the script; you keep the video id and transcript as a record of what was said.

4 min readSume
All posts

An avatar can deliver a short compliance refresher, such as a 45-second reminder on gifts, data handling, or reporting, and the control that matters is a script that legal approved plus a stored record of what was rendered. Sume returns metadata.transcript_text for a finished video, so you can compare the actual transcript with the approved text and keep both.

What a refresher clip is good for

Annual refreshers fail because people click through 40 slides. A short clip with one rule, one example, and one action (report here, ask here) gets watched. It does not replace the formal training and attestation your program needs, and an avatar clip does not check understanding. Treat it as the reminder layer between formal sessions.

A review and records flow

The approval step belongs before rendering, not after. The records step starts when the render ends.

Compliance clip workflow with Sume avatar endpoints (docs read 2026-10-05)
StepWhat you doSume field or route
DraftWrite a script of 100-130 words, one rulescript, 4-60 s window
ApproveLegal signs off on exact textYour own record
PreviewCheck first frame and framing/v1/avatar-video-previews
RenderSubmit with a stable Idempotency-KeyIdempotency-Key header
VerifyCompare transcript to approved textmetadata.transcript_text
ArchiveStore id, script version, dateavatar_video_id

Compare the transcript

Metadata is generated asynchronously after the video is ready, so metadata.status can still be processing when the video URL exists. Wait for ready before you compare.

import re

def norm(text):
    return re.sub(r"[^a-z0-9 ]", "", text.lower()).split()

def matches(approved, transcript):
    return norm(approved) == norm(transcript)

approved = "Report any gift over fifty dollars to Compliance."
spoken = "Report any gift over 50 dollars to compliance"
print(matches(approved, spoken))  # False: numbers differ, a human reviews

What to store with each clip

An auditor will ask what employees were shown, on what date, and who approved it. Keep one row per clip with the approved script text, the approver and date, the Sume avatar_video_id, the preview you approved, and the transcript you compared. If you re-render after an edit, keep the older row; do not overwrite it. The Idempotency-Key you used is also useful, because it ties a retried submit to the one job that was billed.

Your learning system, not Sume, should hold the attestation that a person watched and acknowledged the clip. Sume renders and stores video resources, and it does not track who watched them.

Limits

A mismatch on numbers or spelling is normal speech-to-text behavior, so treat the diff as a flag for review, not as a verdict. An avatar is not a trainer who can answer questions, so give a named person and a channel. Your legal team decides whether a synthetic presenter is acceptable for a given policy, and whether it needs a disclosure line.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume