---
name: HeyGen Automation
description: "Automate AI video generation, avatar browsing, template-based video creation, and video status tracking through HeyGen's platform via Composio"
requires:
  mcp:
    - rube
---

# HeyGen Automation

Automate AI-powered video creation workflows -- browse avatars and templates, generate personalized videos from templates, track processing status, and retrieve shareable URLs -- all orchestrated through the Composio MCP integration.

**Toolkit docs:** [composio.dev/toolkits/heygen](https://composio.dev/toolkits/heygen)

---

## Setup

1. Connect your HeyGen account through the Composio MCP server at `https://rube.app/mcp`
2. The agent will prompt you with an authentication link if no active connection exists
3. Once connected, all `HEYGEN_*` tools become available for execution

---

## Core Workflows

### 1. Browse Available Templates
Retrieve pre-designed avatar templates from the HeyGen library for video creation.

**Tool:** `HEYGEN_V2_TEMPLATES`

```
No parameters required -- returns template IDs, names, preview images, and customization options.
```

Use this to discover templates before generating videos. Each template has a unique ID needed for generation.

---

### 2. Inspect Template Details & Variables
Retrieve the full structure of a template including all variables, scene mappings, and customization options.

**Tool:** `HEYGEN_RETRIEVE_TEMPLATE_DETAILS_V3`

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_id` | string | Yes | Template ID from `HEYGEN_V2_TEMPLATES` or the HeyGen dashboard |

This is a **required prerequisite** before generating videos -- it tells you exactly which variables must be populated.

---

### 3. Browse Available Avatars
List all realistic avatars available for video creation, useful for mapping characters to scenes.

**Tool:** `HEYGEN_V2_AVATARS`

```
No parameters required -- returns avatar identifiers, names, and preview images.
The list may be paginated; additional calls might be needed for the full set.
```

---

### 4. Generate Video from Template
Create a customized video by populating a template with your variables and content.

**Tool:** `HEYGEN_V2_TEMPLATE_GENERATE`

Provide a video title and all template variables discovered via `HEYGEN_RETRIEVE_TEMPLATE_DETAILS_V3`. Every required variable must be supplied with exact names and types.

---

### 5. Check Video Processing Status
Poll the processing status and retrieve metadata for a video being generated.

**Tool:** `HEYGEN_RETRIEVE_VIDEO_STATUS_DETAILS`

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video_id` | string | Yes | Video ID returned from the generation API |

Returned URLs expire after 7 days but can be regenerated by calling this endpoint again.

---

### 6. Get Shareable Video URL
Generate a public, shareable link that allows anyone to view the video without authentication.

**Tool:** `HEYGEN_RETRIEVE_SHARABLE_VIDEO_URL`

Provide the `video_id` to receive a public URL for distribution.

---

## Known Pitfalls

| Pitfall | Details |
|---------|---------|
| **All template variables required** | `HEYGEN_V2_TEMPLATE_GENERATE` demands every variable from `HEYGEN_RETRIEVE_TEMPLATE_DETAILS_V3` with exact names and types -- missing or misnamed fields break scenes or fail generation |
| **Always inspect templates first** | Never skip `HEYGEN_RETRIEVE_TEMPLATE_DETAILS_V3` before generation -- multi-scene templates have complex variable structures |
| **Video URLs expire** | URLs from `HEYGEN_RETRIEVE_VIDEO_STATUS_DETAILS` expire after 7 days; regenerate by calling the endpoint again |
| **Paginated avatar lists** | `HEYGEN_V2_AVATARS` may return paginated results -- additional calls may be needed for the full library |
| **Processing time varies** | Video generation is asynchronous; poll `HEYGEN_RETRIEVE_VIDEO_STATUS_DETAILS` until status is complete before using output URLs |

---

## Quick Reference

| Tool Slug | Purpose |
|-----------|---------|
| `HEYGEN_V2_TEMPLATES` | List available video templates |
| `HEYGEN_RETRIEVE_TEMPLATE_DETAILS_V3` | Get template variables and scene structure |
| `HEYGEN_V2_AVATARS` | Browse available AI avatars |
| `HEYGEN_V2_TEMPLATE_GENERATE` | Generate video from a template |
| `HEYGEN_RETRIEVE_VIDEO_STATUS_DETAILS` | Check video processing status and get URLs |
| `HEYGEN_RETRIEVE_SHARABLE_VIDEO_URL` | Get a public shareable video link |

---

*Powered by [Composio](https://composio.dev)*