# Synthesia MCP

> Synthesia connects your AI video account to any agent, letting you programmatically generate high-quality avatar videos. You can create content by giving a script or filling pre-defined templates. It also lets you manage production status, list avatars, and set up webhooks for real-time updates. No cameras, no studios needed.

## Overview
- **Category:** ai-frontier
- **Price:** Free
- **Tags:** ai-video-generation, avatar-creation, video-templates, content-production, text-to-video, automated-video

## Description

This server connects your AI video account to your agent, letting you generate professional avatar videos without ever touching a user interface. You tell your agent exactly what you want, and it handles the heavy lifting.

### Generating Video Content

When you need a brand-new video, use `create_video`. Just give the script and choose an avatar, and your agent generates the full AI-driven video for you. If you've got pre-designed materials, you can build videos using `create_video_from_template`, feeding custom data into existing Synthesia templates to spit out content fast. You'll never start from a blank page again.

### Managing Assets and Resources

Your agent needs to know what it’s working with. To see every available face, call `list_avatars`; this returns a comprehensive list of stock avatars along with all their descriptive metadata. Need to build something new? Run `list_templates` to pull up the names and details of your pre-made video templates, so your agent knows what structures it can fill. You can check out your entire production history by running `list_videos`, which gives you a clean rundown of every single video asset you've ever made.

### Tracking and Maintenance

Monitoring is key. To see the current processing status or specific metadata for any job, use `get_video_details` with a video ID. You can also keep track of your library by calling `list_videos`. If you need to wipe an old asset from your account history, just run `delete_video` and provide the specific video ID; that permanently removes it.

For notification management, start by seeing what's running with `list_webhooks`, which displays all currently configured notification endpoints. When you set up a new alert system, use `create_webhook`; this sets up an endpoint to notify your system immediately when videos finish rendering or if something goes wrong. If that webhook is stale, run `delete_webhook` and specify the existing endpoint for removal.

### Workflow Example Flow

You can structure complex workflows like this: First, tell your agent which avatars it has access to using `list_avatars`. Next, check what templates are available via `list_templates`. Then, you instruct it to create a video by calling `create_video` with the script and avatar. While that's rendering, you set up fail-safes by calling `create_webhook`, telling your system where to look for status updates. Once the process is complete, you can call `get_video_details` to confirm the final link or use `list_videos` to log it into your main archive.

## Tools

### create_video_from_template
Builds and generates a video by filling in variables from an existing Synthesia template.

### create_video
Generates a brand new AI avatar video based on a provided script.

### create_webhook
Sets up a new notification endpoint to alert you when videos are completed or fail.

### delete_video
Permanently removes a specific video asset from your account history.

### delete_webhook
Removes an existing notification webhook endpoint.

### get_video_details
Retrieves the current status and specific metadata for a video by its ID.

### list_avatars
Returns a list of all available stock avatars, including their descriptive metadata.

### list_templates
Retrieves the names and details of your pre-designed video templates.

### list_videos
Lists all previously generated videos in your production library, providing a history overview.

### list_webhooks
Displays the list of currently configured notification webhooks.

## Prompt Examples

**Prompt:** 
```
List all videos generated in my Synthesia account.
```

**Response:** 
```
I've retrieved your video history. You have 5 videos including 'Onboarding Welcome', 'Quarterly Update', and 'Sales Pitch v2'. Which one would you like to see the status or download link for?
```

**Prompt:** 
```
Generate a video from template 'temp_88231' with script: 'Welcome to the team, Sarah!'.
```

**Response:** 
```
Video generation triggered! I've started creating a new video using template temp_88231 and your custom script. The video ID is vid_10293. I'll let you know when the production is complete.
```

**Prompt:** 
```
Show me the available stock avatars for marketing videos.
```

**Response:** 
```
Fetching avatars... You have access to dozens of personas including 'Anna' (Business Professional), 'Marcus' (Casual), and 'Helena' (Tech Guide). Would you like to see the full metadata for any of them?
```

## Capabilities

### Generate Video Content
The server takes a script and avatar choice, then creates a new AI-driven video.

### Automate Template Videos
You can generate videos quickly by feeding custom data into pre-existing template structures.

### Manage Avatars and Templates
List available avatars or existing video templates so your agent knows what resources it has access to.

### Track Production Status
Check the processing status of a video job, or list all videos you've previously generated.

### Set Up Notifications
Create webhooks that notify your system when a video finishes rendering or fails.

## Use Cases

### Client Onboarding Video Audit
A marketer needs 50 versions of a welcome video for new clients. Instead of manually setting up each one, they use `list_templates` to confirm the base template ID, then loop through client data and call `create_video_from_template` repeatedly. Finally, they query all resulting IDs using `list_videos` to ensure everything rendered correctly.

### Real-Time Production Monitoring
An ops engineer triggers a large batch of 100 videos via the agent. Instead of waiting hours, they continuously call `get_video_details` on specific IDs to monitor progress and confirm when all assets are ready for download.

### Automating L&D Updates
The L&D team updates a compliance module. They use the agent to check available avatars via `list_avatars` to ensure they have the right corporate persona, then trigger an update using `create_video` with the new script.

### System Integration Cleanup
After a campaign runs, the engineer needs to clear old assets. They use `list_videos` to get IDs of outdated content and then call `delete_video` for each one, keeping their library clean.

## Benefits

- Stop manually checking status. Use `get_video_details` or `list_videos` to query the real-time status of any job, getting links and metadata right back in your chat window.
- Generate personalized content at scale. Instead of rebuilding a video, feed dynamic data into an existing structure using `create_video_from_template`, saving massive amounts of setup time.
- Build automated workflows with webhooks. Use `create_webhook` to ensure that the moment a video finishes rendering, your system gets notified and can trigger the next step.
- Select avatars without leaving chat. `list_avatars` gives you access to dozens of personas and their full metadata so your agent picks the perfect fit every time.
- Manage templates programmatically. Use `list_templates` to see exactly what kind of videos you're capable of making, allowing your agent to guide you on best practices.

## How It Works

The bottom line is, your AI client becomes an operational layer between you and Synthesia's backend, letting you manage complex video jobs with natural language.

1. First, subscribe to this server and pass your Synthesia API Key. This links the agent to your account.
2. Next, tell your agent exactly what you want—like 'Generate a video using template XYZ with script ABC' or 'List all available avatars.'
3. The agent calls the appropriate tool (e.g., `create_video_from_template`), and then it gives you the status or the resulting video link.

## Frequently Asked Questions

**How do I list my past videos using the list_videos tool?**
Call `list_videos` and your agent returns a full history of your generated content, including names and IDs. You can then ask for status updates on specific assets.

**Can I create a video with the create_video tool if I don't have an avatar selected?**
No. The `create_video` tool requires both a script and a valid, selected avatar ID to function correctly. You should run `list_avatars` first to get options.

**What is the purpose of create_webhook?**
The `create_webhook` tool sets up automated notifications. This means when a video finishes, your external system gets an alert—you don't have to constantly check the status manually.

**Should I use create_video or create_video_from_template?**
Use `create_video_from_template` if you are reusing a known structure (e.g., 'annual report'). Use `create_video` when starting totally fresh with just a script and avatar.

**What should I do if `get_video_details` returns an error about my API key?**
First, check your Synthesia account settings to confirm the API Key. If the credentials are correct, try refreshing the server connection on Vinkius. The agent can't fetch details without a valid access token.

**How does `get_video_details` help me troubleshoot a failed video job?**
The response from `get_video_details` includes more than just the status. It provides specific failure reason codes and detailed error messages, letting you know if the script or template was the problem.

**Is using `delete_video` permanent? Should I be careful?**
Yes, it is. The `delete_video` tool permanently removes the video asset from your account. This action cannot be undone by the agent or through any subsequent command.

**After running `list_templates`, how do I know what variables are available?**
`list_templates` gives you the template ID and a description of its required inputs. This output shows exactly which dynamic variables (like names or dates) you need to include in your script.

**Can I see all available AI avatars via AI?**
Yes! Use the `list_avatars` tool. Your agent will retrieve the complete directory of stock avatars available in Synthesia for your videos.

**How do I check the status of a video being processed?**
Run the `get_video_details` query with your Video ID. The agent will retrieve the real-time status (e.g., in_progress, completed) and the final download link if ready.

**Is it possible to generate a video using a custom template?**
Absolutely. Use the `create_video_from_template` tool. Provide the Template ID and a JSON object with the data for your dynamic variables to trigger the generation.