upload_asset
Upload Asset
Upload an asset (image, video, or audio) to HeyGen from a public URL. The uploaded asset can be used as a background, audio input, or visual element in video generation.
Ask your agent in plain language. Each of these maps to a real tool on the server.
upload_asset
Upload an asset (image, video, or audio) to HeyGen from a public URL. The uploaded asset can be used as a background, audio input, or visual element in video generation.
list_videos
List generated videos in your HeyGen account with pagination support. Returns video IDs, statuses, titles, and URLs.
list_avatars
Retrieve a page of available AI avatars in your HeyGen account, including both public and custom avatars. Returns avatar IDs needed for video generation, along with preview images and videos.
generate_speech
Generate natural-sounding speech audio from text using HeyGen's text-to-speech engine. Returns an audio URL suitable for narration, podcasts, IVR prompts, or use as audio input in video generation.
list_assets
List uploaded assets (images, videos, audio files) in your HeyGen account. Assets can be used as backgrounds, custom audio inputs, or visual elements in video generation.
create_video_from_prompt
Generate a video using the Video Agent from a simple natural language prompt. Instead of manually configuring scenes, avatars, and scripts, describe what you want and HeyGen's AI handles the rest — from scriptwriting to visual assembly.
translate_video
Translate a video into one or more target languages with natural voice cloning and lip-sync. Submit a video by URL or HeyGen video ID. Translation is asynchronous — use "Get Translation Status" to check progress.
list_voices
Retrieve a page of available voices for text-to-speech in HeyGen. Returns voice IDs needed for video generation and TTS, along with language, gender, and preview audio. Includes both HeyGen and ElevenLabs voices.
list_talking_photos
Retrieve a page of talking photos (photo avatars) in your HeyGen account. Talking photos are still images that can be animated to speak text. Their IDs can be used with character type "talking_photo" when creating avatar videos.
get_remaining_quota
Check remaining API credits and account quota. For wallet billing, credit quota is null; details include the currency and balance.
list_templates
List a page of available video templates in your HeyGen account. Returns template IDs and names. Use "Get Template" to see the dynamic variables for a specific template.
create_streaming_token
Create a legacy Interactive Avatar streaming token for an account that still has streaming access. New streaming applications use the separate LiveAvatar API. The token is used to establish a real-time streaming session where an avatar can respond to user input. Required before starting a streaming session in your application.
get_template
Retrieve details of a specific template including its dynamic variable definitions. Use this to understand what variables need to be provided when generating a video from a template.
get_video_status
Check the status of a video generation job and retrieve the completed video URL. Use this after creating a video to poll for completion. Returns the video URL, thumbnail, GIF preview, and duration once complete.
delete_video
Permanently delete a generated video from your HeyGen account.
create_avatar_video
Generate an AI avatar video with one or more scenes. Each scene has an avatar character, voice/script, and optional background. Supports multi-scene videos with different avatars, voices, and backgrounds per scene. Video generation is asynchronous — use **Get Video Status** to check when it's ready.
delete_asset
Permanently delete an uploaded asset from your HeyGen account.
generate_from_template
Generate a customized video from a HeyGen template by filling in dynamic variables. Templates are pre-designed in HeyGen's web interface and contain placeholders (e.g. `{{name}}`, `{{company}}`) that you populate via the API. Ideal for personalized videos at scale.
get_translation_status
Check the status of a video translation job and retrieve translated video URLs. Each v3 translation ID represents one language. Poll every ID returned by translate_video; completed media and subtitles are downloadable.
get_current_user
Retrieve the authenticated HeyGen account identity and billing details.
delete_translation
Permanently delete a video translation and its generated files. Call list_translations to discover IDs.
list_translations
List video translation jobs with their IDs, languages, and status. Pass an ID to get_translation_status or delete_translation.
list_translation_languages
Discover the exact target language names accepted by translate_video.
get_video_agent_status
Check a Video Agent session returned by create_video_from_prompt. When videoId is available, call get_video_status to retrieve the completed video.
Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.
{"mcpServers": {"metorial": {"url": "<your-magic-mcp-url>"}}}
claude mcp add --transport http metorial <your-magic-mcp-url>
codex mcp add metorial --url <your-magic-mcp-url>codex mcp login metorial
One governed layer for every app your agents reach, not a separate connector per tool.
Create AI avatar videos from text or audio, generate videos from prompts and Studio templates, translate videos with lip-sync, and synthesize speech. Discover avatars, voices, templates, supported translation languages, and account billing. Browse, upload, and delete assets and generated media. Poll asynchronous jobs and download completed media and subtitles.
Common questions about connecting Heygen to AI agents with Metorial.