AutomationFlowsAI & RAG › Automatically Create Youtube Short Videos Using Elevenlabs, Hailuo AI

Automatically Create Youtube Short Videos Using Elevenlabs, Hailuo AI

ByNguyen Quoc Hai @haismartlife on n8n.io

This workflow is designed for individuals and businesses looking to streamline the creation of engaging promotional videos. Whether you're marketing a product or developing a personal brand, this AI-driven system automates the entire video production process, from script…

Event trigger★★★★★ complexity38 nodesHTTP RequestGoogle Cloud StorageGoogle Sheets
AI & RAG Trigger: Event Nodes: 38 Complexity: ★★★★★ Added:

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

This workflow follows the Google Sheets → HTTP Request 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": "1589d4f8-7e7e-4f09-aa95-fc6580372bc4",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "disabled": true,
      "position": [
        -1960,
        -300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7535b9fe-e6f8-4c80-ae6c-936d1a76a75b",
      "name": "Hailuo AI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1460,
        340
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "ba795fb3-9051-4f57-9656-44a7ed12103c",
      "name": "Video Catagory",
      "type": "n8n-nodes-base.set",
      "position": [
        -1680,
        -300
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "eb1664c7-8754-4f87-8de8-b15e2a059045",
      "name": "Generate Transcript",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1460,
        -300
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "5b942821-3e3d-4a48-884a-6d86890b1b1e",
      "name": "Save Audio",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        -1020,
        -300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "dbebaa30-18fa-4155-b0cb-82ecf2a5748f",
      "name": "Fetch Elevenlabs",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1240,
        -300
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "40ed476a-1207-4dfb-a116-0999be820a6c",
      "name": "Map Public Link",
      "type": "n8n-nodes-base.set",
      "position": [
        -780,
        -300
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "24a1ba6a-87c5-4db8-86f1-92ac2aefb05c",
      "name": "Download Audio",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1680,
        0
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "562c7466-953e-4115-9ce5-aeda59d8e07b",
      "name": "Create a list of Image Text",
      "type": "n8n-nodes-base.code",
      "position": [
        -1280,
        0
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "193b5bb2-ea2c-45d4-a51c-7036c3f94882",
      "name": "Generate Image Prompt",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -920,
        0
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "d5978efc-f293-4a9a-96c7-59e331e6a31c",
      "name": "Get Image Base 64",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -560,
        0
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "1743f1a7-2dfb-4926-a02b-77ac21df15bc",
      "name": "Save Image",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        -160,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6a3009c9-106e-4793-82a6-3a802a9eeec4",
      "name": "Get Hailuo Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1000,
        340
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "ad8396dc-4052-4eee-9fed-3e45971d32fd",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        -820,
        340
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "688d7471-77ba-4d55-9f40-90754e93ff13",
      "name": "Get Hailuo Download Link",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -580,
        380
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "72973df2-d1eb-43f5-a851-3150a4a9c710",
      "name": "Download Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -380,
        380
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a8297c91-2efb-4a7b-b09f-90b31ea59a42",
      "name": "Save Video",
      "type": "n8n-nodes-base.googleCloudStorage",
      "position": [
        -160,
        380
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "bb9c556f-ce2d-41cf-920d-8dcf5dfcb667",
      "name": "Combine Transcript",
      "type": "n8n-nodes-base.code",
      "position": [
        -1680,
        700
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "3eee3f5c-1263-4d84-910c-87e765190762",
      "name": "Open AI Whisper",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1480,
        0
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "221d7ae4-6472-4a5f-b8a4-38b58df6bf21",
      "name": "Map Music and Video",
      "type": "n8n-nodes-base.set",
      "position": [
        -1340,
        680
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "90e4e948-b482-4366-aa0a-17730c186a8d",
      "name": "Create Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1180,
        680
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "576d3ba2-83cf-4a1e-9d22-8d4659926248",
      "name": "Get Video Progress",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -840,
        680
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "1dc70413-2979-4559-9dcf-1c4da754f91f",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -680,
        680
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "0badef4a-46b4-439b-8947-6b84af9e1aca",
      "name": "Set Final Video URL",
      "type": "n8n-nodes-base.set",
      "position": [
        -500,
        660
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "d557a8ba-dc5c-4c9d-89ed-31d7ac1a11af",
      "name": "Get Captions",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -360,
        800
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "b6a26d73-4146-4be6-8d8c-3dc2433b0660",
      "name": "JSON to Object",
      "type": "n8n-nodes-base.code",
      "position": [
        -220,
        800
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "b94d3aa3-f910-4023-bba2-a3f69db81c89",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -100,
        640
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "311779c9-c38a-43fd-9fa3-09b0e872a7d3",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        -1500,
        680
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "05e2ba88-6a71-4d59-9345-e39267cf77a2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1700,
        -400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "151e319c-f9bb-459b-b6e2-31998e426a31",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1700,
        -100
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5101c62b-74ef-49a3-8b24-4aea948c8856",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1700,
        200
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0b69fb56-f23e-492b-9823-8a65ea17815e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1700,
        600
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "e45cbfa5-1112-4d9f-aa20-c79f309686b5",
      "name": "Split Image",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -1100,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e70b21be-bd03-4a6f-9bf5-abe6517a3117",
      "name": "Split Prompt",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -720,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "85a27a46-8917-426b-964f-712a32b90a3f",
      "name": "Convert Base64 to Data",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        -360,
        0
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "b653de3a-f2c5-41da-bb4e-76a2304c64f3",
      "name": "Limit only first Image to video",
      "type": "n8n-nodes-base.limit",
      "position": [
        -1680,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "233532ed-dce9-42d8-bbd5-dac1b7d013e3",
      "name": "Wait Hailou done process",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1220,
        340
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "e788fc14-e15d-4a06-928d-0ad3d8dd3151",
      "name": "Wait1 andynocode combine video",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1000,
        680
      ],
      "parameters": {},
      "typeVersion": 1.1
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Set Final Video URL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait1 andynocode combine video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Get Hailuo Download Link",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait Hailou done process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Map Music and Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Hailuo AI": {
      "main": [
        [
          {
            "node": "Wait Hailou done process",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Audio": {
      "main": [
        [
          {
            "node": "Map Public Link",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Image": {
      "main": [
        [
          {
            "node": "Limit only first Image to video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Video": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Image": {
      "main": [
        [
          {
            "node": "Generate Image Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Video": {
      "main": [
        [
          {
            "node": "Wait1 andynocode combine video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Captions": {
      "main": [
        [
          {
            "node": "JSON to Object",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Prompt": {
      "main": [
        [
          {
            "node": "Get Image Base 64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Audio": {
      "main": [
        [
          {
            "node": "Open AI Whisper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video": {
      "main": [
        [
          {
            "node": "Save Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JSON to Object": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Video Catagory": {
      "main": [
        [
          {
            "node": "Generate Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map Public Link": {
      "main": [
        [
          {
            "node": "Download Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Open AI Whisper": {
      "main": [
        [
          {
            "node": "Combine Transcript",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create a list of Image Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Elevenlabs": {
      "main": [
        [
          {
            "node": "Save Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Hailuo Status": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Image Base 64": {
      "main": [
        [
          {
            "node": "Convert Base64 to Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine Transcript": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Get Video Progress": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Transcript": {
      "main": [
        [
          {
            "node": "Fetch Elevenlabs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map Music and Video": {
      "main": [
        [
          {
            "node": "Create Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Final Video URL": {
      "main": [
        [
          {
            "node": "Get Captions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Image Prompt": {
      "main": [
        [
          {
            "node": "Split Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Base64 to Data": {
      "main": [
        [
          {
            "node": "Save Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Hailuo Download Link": {
      "main": [
        [
          {
            "node": "Download Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait Hailou done process": {
      "main": [
        [
          {
            "node": "Get Hailuo Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a list of Image Text": {
      "main": [
        [
          {
            "node": "Split Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1 andynocode combine video": {
      "main": [
        [
          {
            "node": "Get Video Progress",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit only first Image to video": {
      "main": [
        [
          {
            "node": "Hailuo AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Video Catagory",
            "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

This workflow is designed for individuals and businesses looking to streamline the creation of engaging promotional videos. Whether you're marketing a product or developing a personal brand, this AI-driven system automates the entire video production process, from script…

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

Transform trending Google News articles into engaging YouTube Shorts with this fully automated workflow. Save time and effort while creating dynamic, eye-catching videos that are perfect for content c

HTTP Request, Google Cloud Storage, Google Sheets +1
AI & RAG

Scrape ads – Pulls Facebook Ad Library data for "ai automation" keywords using Apify Filter & sort – Filters ads by page likes (>1,000) and separates into videos, images, and text ads Analyze creat

HTTP Request, Google Drive, OpenAI +3
AI & RAG

This n8n workflow automatically generates presentation-style "screen recording" videos with AI-generated slides and a talking head avatar overlay. You provide a topic and intention, and the workflow h

HTTP Request, N8N Nodes Veed, Google Drive +1
AI & RAG

Free Support: Setting up and getting the workflow tailord to your needs. One small free adjustment included.

HTTP Request, Google Cloud Storage, YouTube +2
AI & RAG

Monitor Google Drive folder, parsing PDF, DOCX and image file into a destination folder, ready for further processing (e.g. RAG ingestion, translation, etc.) Keep processing log in Google Sheet and se

Google Drive Trigger, Google Drive, HTTP Request +2