
HeyGen
Read HeyGen avatars, looks, voices, templates, videos and credits, and generate avatar videos from scripts or templates (billable, idempotency-keyed, never retried).
Produce personalised sales, onboarding and training videos with HeyGen avatars from CRM or LMS data, then track render status and download links.
Source actions
13
Destination actions
2
Data types
10
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
avatar looks
- Get avatar lookSource
Get an avatar look's supported engines, orientation and preview.
avatar_looks.get - List avatar looksSource
List avatar looks (outfits and styles). A look ID is the avatar ID for Generate avatar video.
avatar_looks.list
avatars
- Get avatar groupSource
Get an avatar group's name, looks count, default voice and training status.
avatars.get - List avatar groupsSource
List avatar groups (characters), public or your own private avatars.
avatars.list
template videos
- Generate video from templateDestinationNot retried automaticallyApproval before production
Render a video from a HeyGen Studio template by replacing its variables. Billable: consumes API credits. Sharing stays off.
template_videos.generate
templates
- Get templateSource
Get a template's variables (with current defaults) and scene IDs.
templates.get - List templatesSource
List API-ready HeyGen Studio templates in the workspace.
templates.list
user
- Get account and creditsSource
Get the API plan, wallet balance and credit usage for the API key's account.
user.get
video statuses
- Get video statusesSource
Get the status of up to 100 videos in one call.
video_statuses.list
videos
- Generate avatar videoDestinationNot retried automaticallyApproval before production
Render a video of an existing avatar look speaking a script. Billable: consumes API credits. Poll Get video for status.
videos.generate - Get videoSource
Get a video's status, duration, presigned download URLs and failure details. Poll this after generating.
videos.get - List videosSource
List videos in the account, optionally in one folder or matching a title.
videos.list
voices
- List voicesSource
List public or private voices, filtered by engine, language and gender.
voices.list
webhook endpoints
- List webhook endpointsSource
List registered webhook endpoints and the events they receive.
webhook_endpoints.list
webhook event types
- List webhook event typesSource
List the webhook event types HeyGen can deliver.
webhook_event_types.list
Authentication
HeyGen API key (x-api-key header)
Plans and access
HeyGen API plans (pay-as-you-go or Enterprise) with an API key. API usage bills API credits, separate from app subscription credits. API keys can be scoped; a key without the needed scope returns insufficient_api_key_scope. Concurrent renders are capped by plan (10 on pay-as-you-go, 20 on Enterprise). Some accounts must complete SMS verification before generating.
Test environment
HeyGen has no sandbox. Every successful generation consumes API credits; test with short scripts.
Rate limits
HeyGen returns HTTP 429 with rate_limit_exceeded and a Retry-After header; Nexra honours it on reads. Concurrent renders are limited by plan. Generation is billable and never retried automatically.
Pagination
List endpoints use limit and an opaque token (next_token while has_more). Maximum page sizes: avatars and looks 50; videos, voices, templates and webhook endpoints 100.
Provider events
HeyGen webhook endpoints for avatar_video.success, avatar_video.fail and other events, signed with a per-endpoint secret. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- Generate avatar video and Generate video from template are billable: they consume API credits. They are never retried automatically. HeyGen's Idempotency-Key header is sent with the Nexra execution key, so a manual repeat of the same step is deduplicated by HeyGen; a different execution renders again.
- Avatar videos only use existing avatar looks (avatar_id from List avatar looks). Animating an arbitrary image (type image), cinematic avatars, studio compositions, Video Agent, translation, lipsync and AI clipping are not exposed.
- The rendered MP4 is not downloaded: Get video returns presigned video, caption and subtitle URLs. Binary upload and download (assets, audio) is an engine gap, so scripts are text-to-speech only (no audio_url or audio asset).
- Template videos are generated with enable_sharing fixed to false, so no public share page is created. callback_url is not exposed; use registered webhook endpoints instead.
- Excluded by design: avatar, look, voice and template creation or editing, avatar consent, voice cloning and design, folder creation, webhook endpoint changes, and every delete.
- Get user omits the username, email and names; it returns plan, wallet balance and credit usage only.
- Insufficient credit (insufficient_credit), exhausted quotas (quota_exceeded) and HTTP 402 are classified as permission errors so they are not retried.
- No updated-since filter is documented for videos; filter by folder or title.
Developer reference
- Create the HeyGen credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose HeyGen, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/heygen and the Connections API.