{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"heygen-api","slug":"heygen-api","name":"HeyGen API","type":"api","url":"https://docs.heygen.com","page_url":"https://unfragile.ai/heygen-api","categories":["video-generation"],"tags":[],"pricing":{"model":"free","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"heygen-api__cap_0","uri":"capability://image.visual.text.to.avatar.video.generation.with.lip.sync","name":"text-to-avatar-video-generation-with-lip-sync","description":"Converts text scripts into synchronized talking-head videos by processing input text through a speech synthesis pipeline, then mapping phoneme timing to pre-recorded avatar mouth shapes and head movements. The system uses deep learning models to match lip movements to audio in real-time, supporting 175+ languages with automatic language detection and phoneme-to-viseme mapping for accurate mouth synchronization across diverse linguistic phonetic systems.","intents":["Generate professional marketing videos without hiring actors or video production crews","Create multilingual training content with consistent avatar performance across 175+ languages","Produce talking-head videos at scale for customer support, onboarding, or educational content","Maintain brand consistency by using the same digital avatar across all video communications"],"best_for":["Marketing teams creating multilingual campaign videos","Enterprise training departments producing at-scale educational content","SaaS companies building video generation into their product","Content creators and agencies automating video production workflows"],"limitations":["Avatar performance quality depends on pre-recorded motion capture data; custom avatars require additional training","Lip-sync accuracy varies by language; tonal languages may have reduced synchronization precision","Processing latency scales with video length; typical 1-minute video takes 30-120 seconds to generate","Limited to talking-head framing; cannot generate full-body movement or complex scene composition"],"requires":["API key from HeyGen account","Text input (minimum 10 characters, maximum script length varies by plan)","Selection of pre-built avatar or custom avatar ID","Valid language code for target language (e.g., 'en-US', 'zh-CN')"],"input_types":["plain text (UTF-8 encoded)","SSML markup for advanced speech control (pitch, rate, emphasis)","language code string"],"output_types":["MP4 video file (H.264 codec, 1080p or 720p resolution)","video URL with expiration timestamp","video metadata (duration, dimensions, codec details)"],"categories":["image-visual","video-generation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_1","uri":"capability://image.visual.customizable.digital.avatar.selection.and.styling","name":"customizable-digital-avatar-selection-and-styling","description":"Provides a library of pre-built digital avatars with configurable appearance parameters including clothing, background, lighting, and presentation style. The API allows selection from dozens of pre-recorded avatars or creation of custom avatars through a separate training pipeline, with styling applied at video generation time through parameter overrides that modify avatar appearance without regenerating the underlying motion capture data.","intents":["Select an avatar that matches brand identity and target audience demographics","Customize avatar appearance (clothing, background) for different video campaigns without creating new avatars","Maintain consistent avatar identity across multiple videos and languages","Create diverse avatar options to reflect inclusive representation in training and marketing content"],"best_for":["Brands wanting to establish a consistent digital spokesperson across channels","Enterprises requiring diverse avatar representation for inclusive content","Agencies managing multiple client brands with different avatar requirements","Teams needing rapid avatar iteration without expensive video production"],"limitations":["Pre-built avatars are limited to HeyGen's library; custom avatars require separate training process with 5-10 business day turnaround","Avatar styling parameters are constrained to predefined options; arbitrary appearance modifications not supported","Avatar expressions and gestures are limited to motion capture training data; complex emotional expressions may appear generic","Custom avatars require high-quality video training footage (minimum 2-3 hours of recording)"],"requires":["Avatar ID from HeyGen library or custom avatar ID","Optional styling parameters (background_id, clothing_id, lighting_preset)","For custom avatars: video training footage, actor consent, and separate custom avatar API endpoint"],"input_types":["avatar_id string (e.g., 'avatar_001')","styling_config object with background, clothing, lighting parameters","optional custom_avatar_training_video (MP4 format, 2-3 hours duration)"],"output_types":["avatar metadata object (name, language_support, available_styles)","styled video output with applied appearance modifications","avatar preview image (PNG, 512x512px)"],"categories":["image-visual","video-generation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_10","uri":"capability://automation.workflow.webhook.based.event.notifications.for.video.lifecycle","name":"webhook-based-event-notifications-for-video-lifecycle","description":"Sends webhook notifications for key video generation lifecycle events (generation_started, generation_completed, generation_failed) to a developer-specified endpoint. Webhooks include event type, video metadata, and timestamp, with automatic retry logic for failed deliveries (exponential backoff, up to 5 retries). Developers can filter events by type and configure retry behavior through dashboard settings.","intents":["Receive real-time notifications when videos complete generation without polling","Trigger downstream workflows (email delivery, database updates) when videos are ready","Handle video generation failures with automated recovery or user notification","Monitor video generation pipeline health through event logs"],"best_for":["SaaS platforms automating video delivery workflows","Applications requiring real-time notifications of video completion","Teams monitoring video generation pipeline health","Systems integrating video generation with downstream processes"],"limitations":["Webhook delivery is not guaranteed; developers must implement polling fallbacks for critical workflows","Webhook payload size is limited; large metadata may be truncated","Retry logic is fixed (exponential backoff, 5 retries); no customizable retry behavior","Webhook endpoint must be publicly accessible and respond within 30 seconds; timeouts are treated as failures"],"requires":["Webhook endpoint URL (HTTPS, publicly accessible)","Webhook signature verification to ensure authenticity (HMAC-SHA256)","Event type filtering configuration (optional)","Retry handling logic for failed webhook deliveries"],"input_types":["webhook_url string (HTTPS endpoint)","event_types array (e.g., ['generation_completed', 'generation_failed'])","optional retry_config object (max_retries, backoff_multiplier)"],"output_types":["webhook_payload object with event_type, video_id, timestamp, metadata","webhook_signature header (X-HeyGen-Signature) for verification","webhook_delivery_status (success, failed, retrying)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_11","uri":"capability://data.processing.analysis.video.metadata.retrieval.and.analytics","name":"video-metadata-retrieval-and-analytics","description":"Provides API endpoints to retrieve detailed metadata about generated videos including generation timestamp, avatar used, script content, language, duration, and file size. Analytics endpoints return aggregated metrics (videos generated per day, average generation time, language distribution) for monitoring usage patterns and pipeline performance. Metadata is queryable by video_id, date range, or avatar to support reporting and analytics workflows.","intents":["Retrieve video metadata for archival, compliance, or audit purposes","Track video generation metrics to monitor pipeline performance and identify bottlenecks","Analyze usage patterns (language distribution, avatar popularity) to optimize content strategy","Generate reports on video generation costs and usage for billing and capacity planning"],"best_for":["Enterprise teams requiring video generation auditing and compliance tracking","Analytics teams monitoring usage patterns and pipeline performance","Billing teams tracking video generation costs and usage","Product teams analyzing user behavior and content preferences"],"limitations":["Metadata retention is limited to 90 days; older videos require external archival","Analytics aggregation is limited to daily granularity; hourly or minute-level metrics not available","Query filters are limited to video_id, date range, and avatar; complex queries require external analytics tools","Metadata retrieval latency increases with query scope; large date ranges may timeout"],"requires":["API key with metadata retrieval permissions","Video ID for individual video metadata retrieval","Date range parameters for analytics queries (start_date, end_date)","Optional filter parameters (avatar_id, language, status)"],"input_types":["video_id string (for individual metadata)","date_range object with start_date and end_date (ISO 8601)","optional filter object (avatar_id, language, status)","optional aggregation_level enum (daily, weekly, monthly)"],"output_types":["video_metadata object (generation_timestamp, avatar_id, script, language, duration, file_size)","analytics_report object (videos_generated, average_generation_time, language_distribution)","usage_summary object (total_videos, total_duration, total_storage_used)","cost_breakdown object (generation_cost, storage_cost, delivery_cost)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_12","uri":"capability://text.generation.language.175.plus.language.support.with.automatic.localization","name":"175-plus-language-support-with-automatic-localization","description":"Supports video generation, translation, and voice synthesis across 175+ languages, enabling global content distribution without manual localization. Language support is built into Photo Avatar, Digital Twin, Video Translation, and Starfish TTS capabilities. Video Translation specifically supports 40+ languages for audio-only dubbing and 175+ languages with lip-sync, suggesting different language coverage for different features. Automatic language selection and detection mechanisms are unknown; users must explicitly specify target language.","intents":["I want to localize videos into multiple languages automatically","I need to reach global audiences without hiring multilingual voice actors","I want to generate content in languages I don't speak"],"best_for":["global enterprises distributing content across many markets","content creators scaling to international audiences","educational platforms localizing courses into many languages"],"limitations":["Language coverage varies by feature (40+ for audio-only translation vs 175+ for lip-sync translation)","No automatic language detection; users must specify target language explicitly","TTS quality varies significantly by language; some languages may have less natural-sounding output","No support for regional dialects or accents within a language","Translation quality depends on underlying TTS engine; may not preserve tone or emphasis"],"requires":["Target language selection from supported language list (list not provided in documentation)","API key from HeyGen developer portal"],"input_types":["language code or name (format unknown)"],"output_types":["video or audio in target language"],"categories":["text-generation-language","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_2","uri":"capability://text.generation.language.multilingual.speech.synthesis.with.language.detection","name":"multilingual-speech-synthesis-with-language-detection","description":"Synthesizes natural-sounding speech from text input in 175+ languages using neural text-to-speech models with automatic language detection and per-language voice selection. The system applies language-specific prosody rules, intonation patterns, and phonetic processing to generate speech that matches native speaker patterns, with support for SSML markup to control speech rate, pitch, emphasis, and pauses for fine-grained audio customization.","intents":["Generate speech in any of 175+ languages without managing separate voice models per language","Create multilingual video content with consistent quality across diverse linguistic systems","Control speech characteristics (speed, pitch, emphasis) for specific narrative effects or accessibility requirements","Automatically detect input language and apply appropriate voice without explicit language specification"],"best_for":["Global companies producing content for international markets","Localization teams automating voice-over generation for multilingual products","Educational platforms creating accessible content in multiple languages","Content creators targeting non-English speaking audiences at scale"],"limitations":["Automatic language detection may fail on mixed-language input; explicit language specification recommended for code-switching scenarios","Voice quality varies by language; low-resource languages may have less natural prosody than high-resource languages (English, Mandarin, Spanish)","SSML support is limited to basic tags (rate, pitch, emphasis); advanced prosody control not available","Speech synthesis latency increases with script length; very long scripts (5000+ characters) may exceed timeout thresholds"],"requires":["Text input in target language (UTF-8 encoded)","Optional language code (e.g., 'en-US', 'fr-FR'); auto-detected if omitted","Optional SSML markup for speech control","Voice selection from language-specific voice list (e.g., 'en-US-Neural2-A')"],"input_types":["plain text (UTF-8, up to 5000 characters per request)","SSML markup with rate, pitch, emphasis tags","language code string (BCP 47 format)"],"output_types":["audio file (MP3 or WAV format, 24kHz sample rate)","phoneme timing data (for lip-sync alignment)","speech metadata (duration, detected_language, voice_id)"],"categories":["text-generation-language","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_3","uri":"capability://automation.workflow.batch.video.generation.with.async.processing","name":"batch-video-generation-with-async-processing","description":"Processes multiple video generation requests asynchronously through a queue-based system, allowing developers to submit batches of scripts and receive completion notifications via webhook callbacks. The API returns job IDs immediately and polls or subscribes to status updates, enabling efficient handling of large-scale video production workflows without blocking on individual video rendering times.","intents":["Generate hundreds of personalized videos (e.g., customer testimonials, training modules) in parallel","Integrate video generation into automated workflows without blocking application threads","Monitor video generation progress and handle failures gracefully with retry logic","Scale video production to meet enterprise demand without managing infrastructure"],"best_for":["SaaS platforms embedding video generation as a core feature","Marketing automation tools creating personalized video campaigns at scale","Enterprise training systems generating thousands of training videos","Agencies managing high-volume video production for multiple clients"],"limitations":["Batch processing introduces latency; typical queue wait time is 30 seconds to 5 minutes depending on system load","Webhook delivery is not guaranteed; developers must implement retry logic and polling fallbacks","Maximum batch size is limited (typically 100-500 videos per batch); larger batches require multiple API calls","Video generation failures are not automatically retried; developers must implement custom retry logic"],"requires":["API key with batch processing permissions","Webhook endpoint for receiving completion notifications (HTTPS, publicly accessible)","Job tracking mechanism to correlate requests with responses","Polling mechanism or webhook handler for status updates"],"input_types":["batch request array with script, avatar_id, language per item","webhook_url string for completion notifications","optional callback_metadata object for request correlation"],"output_types":["batch_job_id string (for tracking)","individual video_id per generated video","webhook payload with job_status, video_url, completion_timestamp","error details if generation fails"],"categories":["automation-workflow","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_4","uri":"capability://text.generation.language.video.personalization.with.dynamic.script.substitution","name":"video-personalization-with-dynamic-script-substitution","description":"Enables dynamic script generation by accepting template variables and substitution rules that are applied at video generation time, allowing creation of personalized videos with custom names, dates, or dynamic content without regenerating the entire video. The system supports variable interpolation, conditional text blocks, and template rendering to produce unique videos from a single avatar and script template.","intents":["Generate personalized videos at scale with customer names, account details, or dynamic content","Create conditional video content that varies based on user attributes or business logic","Reduce video generation time by reusing avatar and motion capture data across personalized variants","Implement dynamic video campaigns that adapt content based on real-time data"],"best_for":["E-commerce platforms creating personalized product recommendation videos","Financial services generating personalized account statements or offers as videos","HR platforms creating personalized onboarding videos with employee names and roles","Marketing automation tools creating dynamic video campaigns with customer-specific content"],"limitations":["Variable substitution is limited to text; cannot dynamically change avatar appearance or gestures based on variables","Template complexity is constrained; complex conditional logic requires multiple template variants","Variable values must be provided at generation time; cannot reference external data sources directly","Personalization adds minimal latency but requires careful variable escaping to prevent injection vulnerabilities"],"requires":["Script template with variable placeholders (e.g., {{customer_name}}, {{product_name}})","Variable values object with key-value pairs matching template placeholders","Optional conditional blocks using simple if/else syntax","Proper escaping of special characters in variable values"],"input_types":["script_template string with {{variable}} placeholders","variables object with key-value pairs","optional conditional_blocks array with condition and text variants"],"output_types":["rendered_script string with variables substituted","personalized video output with dynamic content","variable_usage metadata showing which variables were applied"],"categories":["text-generation-language","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_5","uri":"capability://image.visual.video.quality.and.resolution.configuration","name":"video-quality-and-resolution-configuration","description":"Allows specification of output video quality parameters including resolution (720p, 1080p, 4K), bitrate, frame rate, and codec settings at generation time. The API applies quality settings during video encoding without requiring separate post-processing, enabling optimization for different distribution channels (social media, broadcast, streaming) with appropriate quality-to-file-size tradeoffs.","intents":["Generate videos optimized for specific platforms (Instagram, YouTube, broadcast) with appropriate resolution and bitrate","Control file size for bandwidth-constrained delivery or storage optimization","Maintain consistent video quality across different avatar and script combinations","Balance quality requirements with processing time and storage costs"],"best_for":["Content distribution platforms managing videos across multiple channels","Mobile-first applications requiring optimized file sizes","Broadcast and professional video production requiring high-quality output","Cost-conscious teams optimizing storage and bandwidth expenses"],"limitations":["Higher resolutions (4K) significantly increase processing time and file size; 4K videos may take 2-3x longer than 1080p","Quality settings are applied uniformly; cannot apply variable quality to different video segments","Codec selection is limited to H.264 and H.265; other codecs not supported","Frame rate is typically fixed at 30fps; variable frame rates not supported"],"requires":["quality_preset string (e.g., 'standard', 'high', 'ultra')","optional resolution string (e.g., '720p', '1080p', '4K')","optional bitrate_kbps integer for custom bitrate specification","optional codec string (e.g., 'h264', 'h265')"],"input_types":["quality_preset enum (standard, high, ultra)","resolution enum (720p, 1080p, 4K)","bitrate_kbps integer (500-50000)","codec enum (h264, h265)"],"output_types":["video file with specified quality parameters","video metadata (resolution, bitrate, file_size, codec)","quality_report with actual vs requested parameters"],"categories":["image-visual","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_6","uri":"capability://automation.workflow.video.delivery.with.cdn.and.expiring.urls","name":"video-delivery-with-cdn-and-expiring-urls","description":"Delivers generated videos through a CDN with automatic URL expiration and optional permanent storage. The API returns temporary signed URLs (typically valid for 24-48 hours) for immediate video access, with options to request permanent storage or direct download. This architecture reduces storage costs by defaulting to temporary delivery while enabling long-term archival when needed.","intents":["Deliver generated videos immediately to users without managing storage infrastructure","Control video access duration through URL expiration for security and cost optimization","Archive videos for long-term access when required by compliance or business requirements","Reduce storage costs by using temporary delivery for one-time videos and permanent storage only when needed"],"best_for":["SaaS platforms delivering user-generated videos without managing storage","Marketing platforms creating temporary promotional videos with limited lifespan","Compliance-heavy industries requiring video archival with controlled access","Cost-conscious teams optimizing storage expenses"],"limitations":["Temporary URLs expire after 24-48 hours; users must download or request permanent storage before expiration","Permanent storage incurs additional costs; pricing varies by storage duration and total volume","CDN delivery latency varies by geographic region; users in underserved regions may experience slower downloads","URL expiration is not customizable; fixed expiration window applies to all temporary URLs"],"requires":["API key with video delivery permissions","Optional storage_duration parameter for permanent storage requests","Optional download_format parameter (e.g., 'mp4', 'webm')","User acceptance of URL expiration policy"],"input_types":["video_id string (returned from generation request)","storage_type enum (temporary, permanent)","optional storage_duration_days integer","optional download_format enum (mp4, webm)"],"output_types":["video_url string (signed, temporary or permanent)","expiration_timestamp ISO 8601 datetime","download_link string for direct download","storage_metadata (type, duration, cost)"],"categories":["automation-workflow","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_7","uri":"capability://tool.use.integration.api.rate.limiting.and.quota.management","name":"api-rate-limiting-and-quota-management","description":"Implements rate limiting and quota management to control API usage, with different tiers providing varying request rates and monthly video generation quotas. The API returns rate limit headers indicating remaining requests and quota, enabling developers to implement backoff logic and quota tracking. Quota resets monthly and can be monitored through dashboard or API endpoints.","intents":["Monitor API usage to stay within plan limits and avoid unexpected overage charges","Implement intelligent backoff logic when approaching rate limits","Track quota consumption across teams or applications","Plan capacity based on available quota and request rates"],"best_for":["SaaS platforms integrating HeyGen as a feature with predictable usage patterns","Enterprise teams managing API usage across multiple applications","Cost-conscious teams optimizing usage to stay within budget","Development teams implementing quota-aware retry logic"],"limitations":["Rate limits are per API key; no built-in support for distributed rate limiting across multiple keys","Quota resets are monthly on fixed dates; no support for custom reset schedules","Burst capacity is limited; sustained high request rates may be throttled even within quota","Rate limit headers provide limited detail; no granular per-endpoint rate limit visibility"],"requires":["API key with rate limit information in account dashboard","Monitoring of rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset)","Quota tracking mechanism to prevent overage","Backoff logic for handling 429 (Too Many Requests) responses"],"input_types":["API key (implicit in request headers)","optional quota_check parameter to retrieve current usage"],"output_types":["rate_limit_headers (X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Limit)","quota_status object (used, remaining, reset_date)","429 response with Retry-After header when rate limited"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_8","uri":"capability://tool.use.integration.error.handling.and.retry.logic.with.detailed.diagnostics","name":"error-handling-and-retry-logic-with-detailed-diagnostics","description":"Provides detailed error responses with specific error codes, diagnostic messages, and remediation suggestions for common failure scenarios (invalid script, unsupported language, quota exceeded). The API returns structured error objects with error_code, message, and suggested_action fields, enabling developers to implement targeted error handling and user-facing error messages without parsing error text.","intents":["Implement robust error handling with specific recovery actions for different failure types","Provide users with actionable error messages explaining why video generation failed","Automatically retry transient failures (network errors, temporary service unavailability)","Debug integration issues with detailed diagnostic information"],"best_for":["Production applications requiring reliable error handling and user feedback","Development teams debugging integration issues","Customer support teams handling user-reported video generation failures","Automated systems implementing intelligent retry logic"],"limitations":["Error codes are limited to predefined set; custom error scenarios may not have specific codes","Diagnostic messages are generic; may not provide sufficient detail for complex failure scenarios","Retry logic must be implemented by client; no automatic retry on transient failures","Error response format may vary between API versions; version compatibility must be maintained"],"requires":["Error handling code to parse structured error responses","Mapping of error codes to user-facing messages","Retry logic for transient errors (5xx responses, timeout errors)","Logging mechanism to track error patterns"],"input_types":["API request (error handling is response-based)"],"output_types":["error_response object with error_code, message, suggested_action","error_code enum (e.g., 'INVALID_SCRIPT', 'UNSUPPORTED_LANGUAGE', 'QUOTA_EXCEEDED')","diagnostic_details object with additional context","http_status_code integer (4xx for client errors, 5xx for server errors)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__cap_9","uri":"capability://tool.use.integration.api.authentication.with.api.keys.and.oauth","name":"api-authentication-with-api-keys-and-oauth","description":"Supports API key authentication for direct API calls and OAuth 2.0 for third-party integrations and user-delegated access. API keys are managed through the dashboard with granular permission scopes (video_generation, video_retrieval, account_management), and OAuth tokens enable secure delegation without sharing API keys. Both authentication methods support token rotation and revocation for security.","intents":["Authenticate API requests using API keys for server-to-server integrations","Enable third-party applications to access HeyGen on behalf of users without sharing credentials","Implement granular permission scopes to limit API access to specific operations","Rotate and revoke credentials for security compliance and incident response"],"best_for":["SaaS platforms integrating HeyGen as a backend service","Third-party developers building HeyGen integrations","Enterprise teams managing API access across multiple applications","Security-conscious organizations requiring granular permission control"],"limitations":["API keys are long-lived; no automatic expiration unless manually revoked","OAuth token expiration is fixed (typically 1 hour); no customizable token lifetime","Permission scopes are coarse-grained; cannot restrict to specific avatars or users","Token refresh requires additional API call; no automatic refresh mechanism"],"requires":["API key from HeyGen dashboard for API key authentication","OAuth client credentials (client_id, client_secret) for OAuth flow","Authorization header with Bearer token for authenticated requests","Secure storage of credentials (environment variables, secrets manager)"],"input_types":["api_key string (for API key authentication)","oauth_client_id string (for OAuth flow)","oauth_client_secret string (for OAuth token exchange)","authorization_code string (for OAuth authorization code flow)"],"output_types":["oauth_access_token string (for OAuth flow)","oauth_token_type string (e.g., 'Bearer')","oauth_expires_in integer (seconds until expiration)","oauth_refresh_token string (optional, for refresh flow)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"heygen-api__headline","uri":"capability://video.generation.ai.avatar.video.generation.api","name":"ai avatar video generation api","description":"An API that enables the creation of professional talking-head videos from text scripts using customizable digital avatars, supporting over 175 languages with features like lip sync and gestures.","intents":["best AI avatar video generation API","AI avatar video generation API for marketing","AI video generation API for personalized content","top APIs for creating talking-head videos","how to generate videos from text scripts","best tools for digital avatar creation"],"best_for":["marketing videos","educational content","personalized messages"],"limitations":[],"requires":[],"input_types":["text scripts"],"output_types":["video files"],"categories":["video-generation"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":58,"verified":false,"data_access_risk":"high","permissions":["API key from HeyGen account","Text input (minimum 10 characters, maximum script length varies by plan)","Selection of pre-built avatar or custom avatar ID","Valid language code for target language (e.g., 'en-US', 'zh-CN')","Avatar ID from HeyGen library or custom avatar ID","Optional styling parameters (background_id, clothing_id, lighting_preset)","For custom avatars: video training footage, actor consent, and separate custom avatar API endpoint","Webhook endpoint URL (HTTPS, publicly accessible)","Webhook signature verification to ensure authenticity (HMAC-SHA256)","Event type filtering configuration (optional)"],"failure_modes":["Avatar performance quality depends on pre-recorded motion capture data; custom avatars require additional training","Lip-sync accuracy varies by language; tonal languages may have reduced synchronization precision","Processing latency scales with video length; typical 1-minute video takes 30-120 seconds to generate","Limited to talking-head framing; cannot generate full-body movement or complex scene composition","Pre-built avatars are limited to HeyGen's library; custom avatars require separate training process with 5-10 business day turnaround","Avatar styling parameters are constrained to predefined options; arbitrary appearance modifications not supported","Avatar expressions and gestures are limited to motion capture training data; complex emotional expressions may appear generic","Custom avatars require high-quality video training footage (minimum 2-3 hours of recording)","Webhook delivery is not guaranteed; developers must implement polling fallbacks for critical workflows","Webhook payload size is limited; large metadata may be truncated","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.7,"quality":0.9,"ecosystem":0.15000000000000002,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.066Z","last_scraped_at":null,"last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=heygen-api","compare_url":"https://unfragile.ai/compare?artifact=heygen-api"}},"signature":"WioankFkIOiUPtg2oN3ne2fVexSu5lvxdYMdSNtLm5S029mu2uneG1jcn6l7p42TYnH9H04V1iXz/wFFm05eBg==","signedAt":"2026-06-20T23:26:17.977Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/heygen-api","artifact":"https://unfragile.ai/heygen-api","verify":"https://unfragile.ai/api/v1/verify?slug=heygen-api","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}