v0.2.0¶
Release Date: 2026-07-19
Adds asset upload, v2 avatar discovery, a public-avatar catalog, and an OmniAvatar render adapter — together enabling audio-driven avatar video generation behind the provider-agnostic OmniAvatar interfaces.
Highlights¶
- New
assetpackage for uploading audio, images, and video to HeyGen's asset service (upload.heygen.com, a separate host from the main API) avatar.ListV2/SearchV2return generation-ready v2 avatar IDs, plus a static public-avatar catalog- New
omniavatarsubpackage — an OmniAvatar render adapter on top of this SDK
Added¶
asset.ClientwithUpload(ctx, contentType, reader)returning a hostedAssetwhose URL is usable in other HeyGen APIs — for example asvideo.VoiceInput{Type: "audio", AudioURL: ...}for audio-driven video generation. Includesasset.ContentType*constants (JPEG, PNG, MP4, WebM, MPEG audio),asset.WithBaseURL, and theClient.Assetfacade fieldheygen.Client.RequestURLfor raw-body requests against absolute URLs, used by endpoints hosted outside the configured API base URLavatar.ListV2andavatar.SearchV2for the v2 avatars API, returning IDs directly usable asavatar_idin generation (unlike the v3 avatar-group IDs, which the generation endpoint rejects)liveavatarpublic avatar catalog:PublicAvatars(26 avatars),GetAvatarByID/GetAvatarByName, gender/type filters, avatar constants, and panel presetsomniavatarsubpackage: an OmniAvatar render adapter implementing the omniavatar-core render interfaces (render.Provider,render.AudioUploadervia the asset API,render.AvatarListervia v2 avatars) on top of this SDK. It depends only onomniavatar-core, keeping HeyGen-specific render knowledge in this repo. The real-time (live) LiveAvatar adapter, which needs LiveKit, lives in the batteries-includedomniavatarpackage- Unit tests for asset upload (headers, body, error envelope),
RequestURL, retry body rewind, and v2 avatars
Fixed¶
- Retries now rewind the request body via
GetBody, so a 429-retried POST resends the full payload instead of an empty body. Previously a rate-limited JSON POST (or asset upload) would silently retry with an empty body.
Dependencies¶
- Require
omniavatar-corev0.3.0 (interfaces + render helpers) for the render adapter - Bump
github.com/livekit/protocolto v1.50.0
Documentation¶
- README: asset upload feature and usage, API coverage row, and an OmniAvatar Integration section
- MkDocs site: Asset API page and the shared PlexusOne theme