AutomationFlowsAI & RAG › Generate AI News Avatar Videos with Dumpling AI & HeyGen

Generate AI News Avatar Videos with Dumpling AI & HeyGen

Original n8n title: Create AI News Avatar Videos with Dumpling Ai, Gpt-4o and Heygen

ByYang @yang on n8n.io

This workflow automatically generates avatar-style videos from the latest AI-related news using Dumpling AI and HeyGen. It runs every hour, scrapes trending articles, turns them into 30–60 second spoken scripts with GPT-4o, and produces short avatar videos with HeyGen. Finally,…

Cron / scheduled trigger★★★★☆ complexityAI-powered15 nodesHTTP RequestAgentOpenAI ChatGoogle Sheets
AI & RAG Trigger: Cron / scheduled Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Google Sheets 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
{
  "id": "I0Tzx8whIWYdQJVn",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Generate Avatar Videos from Latest AI News using Dumpling AI and HeyGen",
  "tags": [],
  "nodes": [
    {
      "id": "8a457904-7d80-4bf8-a433-d25dbce33c45",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -840,
        -95
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "90cf1daa-9652-4717-84af-f96a1a3d7dc6",
      "name": "Dumpling AI: Search AI News",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -620,
        -95
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/search-news",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"query\": \"AI Agent\",\n  \"language\": \"en\",\n  \"dateRange\": \"pastHour\",\n  \"page\": \"1\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "321da41d-6a13-4a00-95c1-915fa6d8f5e6",
      "name": "Split: Individual News Items",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -400,
        -95
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "news"
      },
      "typeVersion": 1
    },
    {
      "id": "d7e5fcf2-7a24-4277-9459-9e828d3a98ef",
      "name": "Limit: Top 4 News Results",
      "type": "n8n-nodes-base.limit",
      "position": [
        -180,
        -95
      ],
      "parameters": {
        "maxItems": 4
      },
      "typeVersion": 1
    },
    {
      "id": "c1847dce-9564-44ae-b9a9-1ac48e42d2c8",
      "name": "Dumpling AI: Scrape Article Content",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        40,
        -95
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/scrape",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"url\": \"{{ $json.link }}\",\n  \"cleaned\": \"true\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f6e8c80e-72b7-47ba-a3b6-0d43a0ee1615",
      "name": " Combine: Merge Scraped News Content",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        260,
        -95
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "content"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7c203f11-51ca-4aaa-a3c5-a571af36accd",
      "name": "GPT-4o Agent: Write Video Script",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        480,
        -95
      ],
      "parameters": {
        "text": "=Here is the topic:{{ $json.content }}\n\n\nHere is the news article:{{ $('Dumpling AI: Search AI News').item.json.searchParameters.q }}\n",
        "options": {
          "systemMessage": "=You are a creative content writer. I will give you a news article and the intended topic or angle I want to focus on. Your job is to turn that into a short, engaging script suitable for a 30 to 60-second video. Write in a natural, conversational tone that sounds like someone talking to a general audience. Keep it simple, clear, and focused on the most interesting or important angle based on the topic I provide. Avoid technical jargon. The goal is to grab attention and make the message easy to understand and relatable. Very important: Output the final script as a single line only \u2014 no new lines, no paragraph breaks, no titles or formatting. Just plain text in one continuous sentence."
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "b5bc7652-ba15-4d8d-a3ab-08e65f7ea54f",
      "name": " GPT-4o Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        568,
        125
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c60ba871-f5a9-4ec2-b3d9-5aa4583c8f43",
      "name": " HeyGen: Generate Avatar Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        856,
        -95
      ],
      "parameters": {
        "url": "https://api.heygen.com/v2/video/generate",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"video_inputs\": [\n    {\n      \"character\": {\n        \"type\": \"avatar\",\n        \"avatar_id\": \"\",\n        \"avatar_style\": \"normal\"\n      },\n      \"voice\": {\n        \"type\": \"text\",\n        \"input_text\": \"{{ $json.output }}\",\n        \"voice_id\": \"\",\n        \"speed\": 1.1\n      }\n    }\n  ],\n  \"dimension\": {\n    \"width\": 1280,\n    \"height\": 720\n  }\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "accept",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "97b7db8d-2233-4bb5-b615-a93885ddfcfa",
      "name": "Wait: For HeyGen to Process",
      "type": "n8n-nodes-base.wait",
      "position": [
        1076,
        -95
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "33b34d1e-4674-44fe-937e-ad907a6ff6ca",
      "name": "HeyGen: Check Video Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1296,
        -95
      ],
      "parameters": {
        "url": "https://api.heygen.com/v1/video_status.get",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "video_id",
              "value": "={{ $json.data.video_id }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "27a6d57c-f518-43fd-93f0-2a237ccf0a99",
      "name": "IF: Video Completed?",
      "type": "n8n-nodes-base.if",
      "position": [
        1516,
        -170
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "fbed8c0e-f2ad-4519-9eb9-1423731654ea",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "99219ffb-7d15-4393-877a-a9cb592c025b",
      "name": " Wait: Retry if Not Complete",
      "type": "n8n-nodes-base.wait",
      "position": [
        1736,
        5
      ],
      "parameters": {
        "amount": 20
      },
      "typeVersion": 1.1
    },
    {
      "id": "6761efd6-79c8-4a79-970e-a30d26a18336",
      "name": "Google Sheets: Log Video URL",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1736,
        -220
      ],
      "parameters": {
        "columns": {
          "value": {
            "Video link": "={{ $json.data.video_url }}"
          },
          "schema": [
            {
              "id": "Video link",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Video link",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Video link"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1AUADRf5MafbEazIZKuEBuDb7ETBEpCI0WSEnxFDJqn4/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1AUADRf5MafbEazIZKuEBuDb7ETBEpCI0WSEnxFDJqn4/edit?usp=drivesdk",
          "cachedResultName": "Videos"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "294f5c10-e0fa-42c2-8a7a-f823ae4ed477",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -700
      ],
      "parameters": {
        "width": 800,
        "height": 660,
        "content": "### \ud83c\udfa5 Workflow Overview: Auto-Generate AI News Avatar Videos\n\nThis workflow runs every hour and creates an avatar-style video summarizing \nthe latest AI-related news.\n\n**Here\u2019s what it does:**\n- Searches for recent AI Agent news using Dumpling AI\n- Scrapes the content from the top 4 articles\n- Merges article content into one body of text\n- Uses GPT-4o to generate a short, casual video script\n- Sends the script to HeyGen to create an avatar video\n- Waits for the video to finish rendering\n- Logs the video link in a Google Sheet\n\n\ud83d\udee0 Tools Used:\n- Dumpling AI (News search + scraping)\n- OpenAI GPT-4o (Script writing)\n- HeyGen (Video generation)\n- Google Sheets (Tracking links)\n\n\ud83d\udccc Credentials Required:\n- Dumpling AI API (via HTTP Header credentials)\n- HeyGen API key (via Bearer YOUR_TOKEN_HERE credential)\n- Google Sheets + OpenAI account\n\nCustomize the topic (e.g., change \"AI Agent\" to something else), avatar, voice, \nor video style to suit your brand.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3339c6da-749b-481d-85d4-e90f923c83c9",
  "connections": {
    " GPT-4o Model": {
      "ai_languageModel": [
        [
          {
            "node": "GPT-4o Agent: Write Video Script",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Dumpling AI: Search AI News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF: Video Completed?": {
      "main": [
        [
          {
            "node": "Google Sheets: Log Video URL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": " Wait: Retry if Not Complete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit: Top 4 News Results": {
      "main": [
        [
          {
            "node": "Dumpling AI: Scrape Article Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HeyGen: Check Video Status": {
      "main": [
        [
          {
            "node": "IF: Video Completed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dumpling AI: Search AI News": {
      "main": [
        [
          {
            "node": "Split: Individual News Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait: For HeyGen to Process": {
      "main": [
        [
          {
            "node": "HeyGen: Check Video Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    " Wait: Retry if Not Complete": {
      "main": [
        [
          {
            "node": "HeyGen: Check Video Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split: Individual News Items": {
      "main": [
        [
          {
            "node": "Limit: Top 4 News Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    " HeyGen: Generate Avatar Video": {
      "main": [
        [
          {
            "node": "Wait: For HeyGen to Process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT-4o Agent: Write Video Script": {
      "main": [
        [
          {
            "node": " HeyGen: Generate Avatar Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Dumpling AI: Scrape Article Content": {
      "main": [
        [
          {
            "node": " Combine: Merge Scraped News Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    " Combine: Merge Scraped News Content": {
      "main": [
        [
          {
            "node": "GPT-4o Agent: Write Video Script",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

This workflow automatically generates avatar-style videos from the latest AI-related news using Dumpling AI and HeyGen. It runs every hour, scrapes trending articles, turns them into 30–60 second spoken scripts with GPT-4o, and produces short avatar videos with HeyGen. Finally,…

Source: https://n8n.io/workflows/5796/ — 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

This workflow is designed for: Content creators and marketers E-commerce and product-based businesses Agencies producing social media visuals and videos Automation builders looking for AI-powered crea

HTTP Request, Edit Image, Google Drive +7
AI & RAG

Generate product images with NanoBanana Pro to Veo videos and Blotato - vide 2 ok. Uses httpRequest, editImage, googleDrive, googleSheets. Scheduled trigger; 76 nodes.

HTTP Request, Edit Image, Google Drive +7
AI & RAG

Created by: Peyton Leveillee Last updated: October 2025

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

The Multi-Model Agency Content Engine is a high-performance editorial system designed for agencies. It solves the "blank page" problem by alternating between real-world social proof and strategic expe

Google Sheets, Gmail, Google Drive +6