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 →
{
"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
}
]
]
}
}
}
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
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
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
Free Support: Setting up and getting the workflow tailord to your needs. One small free adjustment included.
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