AutomationFlowsAI & RAG › End-to-end Youtube Video Automation with Heygen, Gpt-4 & Avatar Videos

End-to-end Youtube Video Automation with Heygen, Gpt-4 & Avatar Videos

ByAmjid Ali @amjid on n8n.io

Automate the entire YouTube content creation pipeline — from video idea to AI-generated avatar video, upload, metadata generation, and publishing — with zero manual intervention!

Cron / scheduled trigger★★★★★ complexityAI-powered33 nodesOutput Parser StructuredHTTP RequestOpenAI ChatAgentGoogle SheetsYouTubeEmail Send
AI & RAG Trigger: Cron / scheduled Nodes: 33 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #6268 — we link there as the canonical source.

This workflow follows the Agent → Emailsend recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "40807895-a56e-4cb9-aaf2-e41467087ffb",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        384,
        1936
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "74db801c-b9a8-424e-b6dd-a16f3a776c2b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        -16
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "79c7bbbb-b4db-4d89-934c-742d7967067e",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -128
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ee3b7905-1442-487a-827a-aceb9c681add",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "disabled": true,
      "position": [
        848,
        752
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "71f38f99-275f-4c6d-a69b-c4b45316078a",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        1184,
        752
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "7d7c8dc5-320a-4019-9817-1a49d4399a4f",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1824,
        752
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "84830425-1d45-4182-9858-194442d7ba0e",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        2048,
        752
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3903b7bf-d28c-49b5-b313-1f0d5c16a2f8",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -16
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "60d908ce-14c6-45a2-8160-7fcde4c3fe0f",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2240,
        768
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "b8f99e0c-cc2e-4e75-b4be-45faf7173200",
      "name": "Extract HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        2448,
        768
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "bcb62fa3-85e2-48d5-9ba5-a2e7a606a39b",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -128,
        1952
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "0142026f-fe2a-4ae0-9158-ec77016dfe9e",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        1648,
        752
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "3d6dfd9e-e16f-4c6d-b000-deb13238df87",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        928
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "050d0e2b-e774-412f-ad8e-bb17c6f48637",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        944
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a4892548-d5c6-4033-89d7-0258c2189bf7",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1632,
        928
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c5d71655-04c7-43e7-9dab-744bfb9a822d",
      "name": "AI Video Script (Transcript Generator)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        48,
        1776
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "6f8d91bc-1122-4b23-b091-5c5e981c9f10",
      "name": "Download Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1616,
        1840
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "6b890d0f-07e5-410b-947a-1cb0fe950f05",
      "name": "Generate the Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        1840
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "08fe8df7-8006-485f-9fc5-bebdf222c580",
      "name": "Get Video URL",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1456,
        1840
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "461c74c2-db88-48fa-8d94-2d41934b82fa",
      "name": "Wait for the Video to be Generated",
      "type": "n8n-nodes-base.wait",
      "position": [
        1072,
        1840
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "a3475565-523d-411b-823d-853f3a98e48f",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1024,
        752
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "52d68e39-6b35-479c-8085-ea793dad2392",
      "name": "Upload a video",
      "type": "n8n-nodes-base.youTube",
      "position": [
        2096,
        1952
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9f8d34c3-b41b-4cb8-978c-0f4b69e5bca9",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        352,
        3168
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "79076ca1-58a3-44c5-9c0e-390e840d7179",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -32,
        3136
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "357bdfd4-bc79-4bba-9064-6f0ea289885f",
      "name": "Update Youtube Meta Data",
      "type": "n8n-nodes-base.youTube",
      "position": [
        1744,
        2992
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9dd219e8-6366-4d1c-aed2-39095a723802",
      "name": "Update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2400,
        3008
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "570eebce-82c2-44a3-a440-f14b84124ce9",
      "name": "SendAndWait email",
      "type": "n8n-nodes-base.emailSend",
      "disabled": true,
      "position": [
        1104,
        2992
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "e3604d34-2600-46bc-953b-2af171611bfa",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1616,
        -16
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7a2df117-e983-4c6e-b0ed-09ea9b1942b5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        2192
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9f551c8a-d71a-4929-89a4-0be8775da831",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        2192
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c31857a5-1fd9-4a63-aec4-5784d6b97d81",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1632,
        2192
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8ff6ceb5-89db-42d9-8e3a-5886395323c3",
      "name": "AI Agent for Meta Data of Youtube",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        96,
        2992
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "fb5f117b-9bb2-427d-96d3-69c1b4f328be",
      "name": "Sort",
      "type": "n8n-nodes-base.sort",
      "position": [
        1360,
        752
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sort": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Sort",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract HTML": {
      "main": [
        [
          {
            "node": "AI Video Script (Transcript Generator)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Extract HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Video URL": {
      "main": [
        [
          {
            "node": "Download Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video": {
      "main": [
        [
          {
            "node": "Upload a video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload a video": {
      "main": [
        [
          {
            "node": "AI Agent for Meta Data of Youtube",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Video Script (Transcript Generator)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "SendAndWait email": {
      "main": [
        [
          {
            "node": "Update Youtube Meta Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate the Video": {
      "main": [
        [
          {
            "node": "Wait for the Video to be Generated",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent for Meta Data of Youtube",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update row in sheet": {
      "main": [
        []
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Video Script (Transcript Generator)",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Update Youtube Meta Data": {
      "main": [
        [
          {
            "node": "Update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent for Meta Data of Youtube",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent for Meta Data of Youtube": {
      "main": [
        [
          {
            "node": "SendAndWait email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for the Video to be Generated": {
      "main": [
        [
          {
            "node": "Get Video URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Video Script (Transcript Generator)": {
      "main": [
        [
          {
            "node": "Generate the Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Automate the entire YouTube content creation pipeline — from video idea to AI-generated avatar video, upload, metadata generation, and publishing — with zero manual intervention!

Source: https://n8n.io/workflows/6268/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This n8n automation workflow automates the creation, scripting, production, and posting of YouTube videos. It leverages AI (OpenAI), image generation (PIAPI), video rendering (Shotstack), and platform

Agent, OpenAI Chat, Airtable Tool +7
AI & RAG

Turn your affiliate links or product catalog into a 24/7 AI video marketing machine. This n8n workflow auto-creates human-presenter promo videos using AI and publishes them directly to YouTube with SE

Google Sheets, OpenAI Chat, HTTP Request +4
AI & RAG

//ASMR AI Workflow

HTTP Request, Tool Think, OpenAI Chat +6
AI & RAG

This workflow automates comprehensive risk signal detection and regulatory compliance management across financial and claims data sources. Designed for risk management teams, compliance officers, and

HTTP Request, Agent, OpenAI Chat +5
AI & RAG

#Analyse YouTube Comments via AI Agent and Create Video Topics

YouTube, HTTP Request, Google Sheets +4