Skip to main content

Generate AI avatar videos from scripts using ElevenLabs and HeyGen

Workflow preview

Workflow preview
100%
Generate AI avatar videos from scripts using ElevenLabs and HeyGen preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Description Automate end to end AI video creation by transforming text scripts into professional avatar videos with natural voiceovers. This workflow receives a script via webhook, generate...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.wait, n8n-nodes-base.if, n8n-nodes-base.httprequest, n8n-nodes-base.googledrive, n8n-nodes-base.respondtowebhook, n8n-nodes-base.set, n8n-nodes-base.webhook

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Rahul Joshi.

Original n8n.io source

1.1 Workflow description

Title
Generate AI avatar videos from scripts using ElevenLabs and HeyGen
Workflow name
Generate AI avatar videos from scripts using ElevenLabs and HeyGen

πŸ“Š Description

Automate end-to-end AI video creation by transforming text scripts into professional avatar videos with natural voiceovers. πŸŽ¬πŸ€– This workflow receives a script via webhook, generates realistic audio using ElevenLabs, creates an AI avatar video through HeyGen, continuously polls for completion, and uploads the final MP4 file to Google Drive. The completed video is also returned directly via webhook for frontend or app usage. Perfect for product demos, onboarding videos, explainers, and content platforms that need scalable video generation without manual editing. πŸš€πŸ“Ή

πŸ” What This Template Does

1️⃣ Receives a POST request containing script, avatar ID, voice ID, and style via webhook. 🌐 2️⃣ Extracts and validates request parameters for processing. 🧾 3️⃣ Generates natural-sounding voiceover audio using ElevenLabs. πŸŽ™οΈ 4️⃣ Uploads the generated audio file to HeyGen as a video asset. ⬆️ 5️⃣ Creates an AI avatar video using the selected HeyGen avatar and audio track. πŸ€–πŸŽ₯ 6️⃣ Polls HeyGen every few seconds until video generation is complete. ⏳ 7️⃣ Retrieves video URLs, captions, thumbnails, and metadata. πŸ“Š 8️⃣ Downloads the finished MP4 video file. ⬇️ 9️⃣ Uploads the final video to Google Drive with structured naming. ☁️ πŸ”Ÿ Returns the video file via webhook response for frontend display or download. πŸ” 1️⃣1️⃣ Sends Slack alerts automatically if any workflow error occurs. 🚨

⭐ Key Benefits

βœ… Converts plain text into studio-quality avatar videos automatically βœ… Uses human-like AI voiceovers from ElevenLabs βœ… Eliminates manual video recording, editing, and rendering βœ… End-to-end automation from script β†’ video β†’ Drive βœ… Frontend-ready with webhook video response βœ… Ideal for scalable video content production

🧩 Features

  • Webhook-based video generation trigger
  • ElevenLabs multilingual text-to-speech integration
  • HeyGen AI avatar video creation
  • Dynamic avatar, voice, and style selection
  • Polling loop to handle async video rendering
  • Google Drive video upload
  • Binary video return via webhook
  • Slack-based error handling and alerts

πŸ” Requirements

  • ElevenLabs API key (voice generation)
  • HeyGen API key (avatar video creation)
  • Google Drive OAuth2 credentials
  • Slack API credentials (optional, for error alerts)
  • Webhook client sending script, avatar_id, voice_id, and video_style

🎯 Target Audience

  • SaaS teams creating onboarding or explainer videos
  • Content creators producing AI talking-head videos
  • EdTech platforms generating video lessons
  • Marketing teams scaling video production
  • Automation teams building AI video pipelines

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Wait 5 Seconds

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 8 - Check If Completed

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 9 - Download Video

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 10 - Upload to Google Drive

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 11 - Respond to Webhook

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.4

Block 12 - Download from Drive

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 13 - Generate Audio with ElevenLabs

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 14 - Upload Audio to HeyGen

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 15 - Create Avatar Video with Audio

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 16 - Extract Video ID

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 17 - Poll Video Status

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 18 - Extract Video Details

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 19 - Parse Request Parameters

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 20 - Webhook - Receive Request

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 21 - Error Handler Trigger

Type / Role
n8n-nodes-base.errorTrigger - errorTrigger
Config choices
Version 1

Block 22 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Send a message

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

3. Summary Table

Workflow Generate AI avatar videos from scripts using ElevenLabs and HeyGen
Complexity advanced
Nodes 23
Categories Content Creation, Multimodal AI
Author Rahul Joshi
Published 17 Dec 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/11895/11895.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate AI avatar videos from scripts using ElevenLabs and HeyGen do?

Description Automate end to end AI video creation by transforming text scripts into professional avatar videos with natural voiceovers. This workflow receives a script via webhook, generate...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.