HeyGen audio file size limit (MP3/WAV 32 MB) vs Sume 10 MB
HeyGen audio_asset_id takes MP3 or WAV up to 32 MB. Sume's Fabric audio_url must be on the Sume media host and at most 10 MB. What each rule means.

HeyGen's Audio to Video page says an uploaded audio asset (audio_asset_id, from POST /v3/assets) can be MP3 or WAV up to 32 MB. Sume's Fabric route has a different rule: audio_url must be a public HTTPS URL on the Sume media host, and the schema says non-Sume hosts are rejected and the maximum is 10 MB.
What are HeyGen's audio file rules?
You provide exactly one audio source per request. audio_url is a public HTTPS URL of an audio file; audio_asset_id is an uploaded file, MP3 or WAV, max 32 MB. Audio fields are mutually exclusive with script. Read 2026-10-01 from the HeyGen page.
What are Sume's audio rules for Fabric?
The Fabric body is exactly one visual source (image_url or avatar_id/avatar_handle) plus a Sume-hosted audio_url. The schema calls that URL "typically a TTS segment". Sume also mirrors generated outputs into Sume-owned media URLs before exposing them, per the media inputs page, so audio you generate on Sume already lives on the right host.
Which numbers differ?
| Rule | HeyGen | Sume Fabric |
|---|---|---|
| Field | audio_url or audio_asset_id | audio_url |
| Formats named | MP3, WAV (asset) | Not stated in the schema line |
| Max size | 32 MB (asset) | 10 MB |
| Host | Any public HTTPS URL, or an uploaded asset | Sume media host only |
What should I do with a file over 10 MB?
Shorten or split the audio before it reaches Fabric; the 10 MB limit is on the file, and duration_seconds is separately capped at 300. See lip-sync with a photo and audio for the request shape. If the audio comes from a script, generating it as a TTS segment on Sume keeps it on the accepted host.
Sources
Related posts
More in Developers
- HeyGen avatar script limit: 5,000 characters vs Sume's 4-60 s
HeyGen caps avatar script text at 5,000 characters. Sume has no character cap in its docs: it accepts scripts estimated at 4-60 seconds inclusive.
- HeyGen download_failed error: URL rules vs Sume's media errors
HeyGen download_failed means a media URL was not public, mismatched or corrupt. Sume returns image_not_fetchable or input_media_unreachable for similar cases.
- HeyGen image to video from a photo API vs Sume image_url
HeyGen type image animates a PNG or JPEG with a script and voice_id, no avatar setup. Sume does it with image_url plus audio on the Fabric route.
- HeyGen insufficient_credit vs Sume insufficient_credits (402)
HeyGen returns code insufficient_credit with HTTP 402. Sume returns insufficient_credits, plural, also 402. Match on the exact string and the status.
Written by Sume