HeyGen transparent background video: the WebM switch

HeyGen returns a transparent avatar video only when output_format is webm and the avatar was trained with matting. The rules, the errors, and Sume's limits.

4 min readSume
All posts

To get a transparent-background avatar video from HeyGen, add "output_format": "webm" to POST /v3/videos. WebM carries an alpha channel and MP4 does not, and the default output is an opaque MP4, so leaving the field out is the most common reason people never get transparency. The avatar must also have been trained with matting.

HeyGen's rules are from its transparent background page, read 2026-09-29. Sume's side is from Generate avatar video.

What does output_format change?

Output formats, from HeyGen's page and the Sume avatar video docs, read 2026-09-29.
ValueResult
mp4 (default)Standard video with an opaque background, no alpha channel
webmWebM with an alpha channel; background removal is applied for you, and any background value in the same request is rejected

Which avatars support a transparent background?

Avatars trained with matting, which HeyGen says is the default for recently created avatars, so most Digital Twins and Studio Avatars qualify. If the avatar does not, the request is rejected with the error "This video avatar does not support webm output. The avatar must be trained with matting enabled." Use a more recently created avatar. The setting works with Avatar IV (the default engine), Avatar V and Avatar III, but not with Cinematic Avatar, which has no output_format field.

What is the minimum request?

Take a normal avatar video request and add one field. remove_background is redundant with WebM and harmless; a background object is not allowed.

curl -X POST "https://api.heygen.com/v3/videos" \
  -H "x-api-key: $HEYGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "avatar",
    "avatar_id": "YOUR_AVATAR_LOOK_ID",
    "script": "This video has a transparent background.",
    "voice_id": "YOUR_VOICE_ID",
    "output_format": "webm"
  }'

How do I check it worked, and get a MOV instead?

The create response echoes output_format; if it says mp4, your request did not select WebM. When the video reaches completed, video_url is a presigned link to the .webm. HeyGen says that if your editor needs another alpha container such as MOV/ProRes 4444, you render the WebM and transcode it locally. Renaming an MP4 does nothing.

Why does remove_background alone not give a transparent file?

Because MP4 (H.264 or H.265) cannot store per-pixel transparency, so background removal on an MP4 does not give you a usable transparent file. HeyGen lists common mistakes such as leaving output_format at its default, setting remove_background: true but keeping MP4, using an avatar that was not trained with matting, or sending a background object together with webm.

Does Sume's avatar video have a transparent option?

Sume's Generate avatar video docs list scene backgrounds as a prompt or a photo reference and give the output resolution as 720p; they list no transparent or alpha output. Sume does have an image cutout tool, rmbg_create, but that is for stills. For a Sume avatar on your own background you would key the footage in an editor, and the docs do not promise a plain-color backdrop to key from. See WebM vs MP4 for why the container matters.

Sources

Related posts

More in Sume Avatar 1.0

All Sume Avatar 1.0 posts

Written by Sume