This workflow corresponds to n8n.io template #4630 — we link there as the canonical source.
This workflow follows the Agent → Airtable 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": "36a44f23-80ce-49d2-a7c6-112c76db393c",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
3060,
-480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e20f7123-a3e9-4dbc-9668-707c017811da",
"name": "Parse Ideas",
"type": "n8n-nodes-base.code",
"position": [
3620,
-480
],
"parameters": {},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "694638ee-7fbd-42d4-b1c5-317c7880215a",
"name": "Generate Script",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
4180,
-480
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "b4b694c0-8267-4b39-92d1-2d83cdc27ee7",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
4180,
-260
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "eb1f7370-004d-4e7e-ba68-9108f4307426",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3260,
-280
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "34eda2c1-42e9-458d-af0c-d00d2d8fe15a",
"name": "searchAirtable",
"type": "n8n-nodes-base.airtableTool",
"position": [
3440,
-280
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "80747c80-0854-45c5-9eef-0c61f5bfc424",
"name": "Add Ideas",
"type": "n8n-nodes-base.googleSheets",
"position": [
3820,
-480
],
"parameters": {},
"executeOnce": true,
"typeVersion": 4.5,
"alwaysOutputData": true
},
{
"id": "24615a9e-6195-4ba4-b76a-c148424b9fb3",
"name": "Generate Idea",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3260,
-480
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "13f0ec76-27f5-4248-89d6-f0f0755b1335",
"name": "Store in Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
4000,
-480
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "79a425fd-8663-4952-a848-6d0254441afe",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
4360,
-260
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "883c9c55-ed99-4442-b848-9c579114fd3c",
"name": "Store Script",
"type": "n8n-nodes-base.googleSheets",
"position": [
3220,
160
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "89fffcc9-451e-4875-b673-9b82dfd81105",
"name": "Store Script in Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
3380,
80
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "fbbb5dc9-9d4b-40d3-b616-ef8908be8939",
"name": "Parse Script Output",
"type": "n8n-nodes-base.code",
"position": [
3060,
160
],
"parameters": {},
"typeVersion": 2
},
{
"id": "cc0c5220-1f86-4814-9e95-064059f5d496",
"name": "Update Status Ideas Table",
"type": "n8n-nodes-base.airtable",
"position": [
3700,
160
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "21953a80-2661-43f0-abfd-412c7077c8a8",
"name": "Updated Idea to Scripted",
"type": "n8n-nodes-base.googleSheets",
"position": [
3520,
160
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "e25d7a2b-b0db-4f91-8cb8-09231b903e73",
"name": "Extract Scenes",
"type": "n8n-nodes-base.code",
"position": [
3860,
160
],
"parameters": {},
"typeVersion": 2
},
{
"id": "0d814668-3de2-4f7b-9dba-1ca1b4d68a18",
"name": "Text-to-Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
4540,
-20
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "0b37c05b-3726-4ceb-8f26-1106ce415106",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
3000,
-640
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fa946cdf-51b1-4db1-8113-cfae49305a88",
"name": "Wait for 4 Min",
"type": "n8n-nodes-base.wait",
"position": [
4700,
-20
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "ce6fd36d-d2f1-4714-a269-c33536f5f603",
"name": "Store Image Urls in Airtable",
"type": "n8n-nodes-base.airtable",
"position": [
5540,
-80
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "0f12f103-e31d-49bd-b320-107261c3c87a",
"name": "Get Images",
"type": "n8n-nodes-base.httpRequest",
"position": [
4860,
-20
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "5df31e39-af23-48c5-b060-856741466e11",
"name": "Get ImageUrls",
"type": "n8n-nodes-base.code",
"position": [
4580,
260
],
"parameters": {},
"typeVersion": 2
},
{
"id": "46c95791-9d90-4c47-9041-26f19617b6f7",
"name": "Scene Image Urls",
"type": "n8n-nodes-base.code",
"position": [
4740,
260
],
"parameters": {},
"typeVersion": 2
},
{
"id": "7d15f8a4-38cc-4201-a761-5b6a2a8c448d",
"name": "Extract Narration",
"type": "n8n-nodes-base.code",
"position": [
5720,
-20
],
"parameters": {},
"typeVersion": 2
},
{
"id": "b1d59040-d4ca-49c9-b318-88a724d96922",
"name": "Voice Generation",
"type": "n8n-nodes-base.httpRequest",
"position": [
5860,
-20
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "486f0401-afc3-4aa8-91bb-d21c7516fade",
"name": "Store Sound",
"type": "n8n-nodes-base.googleDrive",
"position": [
6220,
-20
],
"parameters": {},
"typeVersion": 3
},
{
"id": "2ca32e3e-527c-4fdf-9fcf-fe231a9198ea",
"name": "Wait 2 Min",
"type": "n8n-nodes-base.wait",
"position": [
6040,
-20
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "c533403f-3bec-4ddd-a8b7-5d2b803348ae",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
3000,
-20
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e5786afb-3ead-4594-8dc5-9753c72327c7",
"name": "Store Voice Urls",
"type": "n8n-nodes-base.airtable",
"position": [
5680,
-200
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "28c841dc-efae-4923-97e0-4a871b39fd49",
"name": "Aggregating Voice Urls",
"type": "n8n-nodes-base.code",
"position": [
5340,
-200
],
"parameters": {},
"typeVersion": 2
},
{
"id": "29447c31-b2a8-4717-baee-4b6f97009136",
"name": "Update VoiceUrls",
"type": "n8n-nodes-base.googleSheets",
"position": [
5520,
-200
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "b7149459-bcc5-4ecc-87cc-302a3f2a1720",
"name": "Update ImageUrls",
"type": "n8n-nodes-base.googleSheets",
"position": [
5340,
-20
],
"parameters": {},
"typeVersion": 4.5,
"alwaysOutputData": true
},
{
"id": "19e68b62-90cf-408f-939d-ddb8f3d4a842",
"name": "Prepare Video Assets",
"type": "n8n-nodes-base.code",
"position": [
5360,
260
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "21363e02-dd5f-4516-af4c-135c27f9413b",
"name": "Wait 5 Min",
"type": "n8n-nodes-base.wait",
"position": [
5920,
260
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "36cee79d-3b8b-44de-ba42-1b47691d2b0e",
"name": "Allow Access",
"type": "n8n-nodes-base.googleDrive",
"position": [
6420,
-20
],
"parameters": {},
"typeVersion": 3
},
{
"id": "d959cc31-f4ec-4592-b59e-23c7b9768e7f",
"name": "ShotStack Render Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
5760,
260
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "321debb6-6bb1-42cb-ba39-e72868c04426",
"name": "Build Shotstack Timeline",
"type": "n8n-nodes-base.code",
"position": [
5560,
260
],
"parameters": {},
"typeVersion": 2
},
{
"id": "862b6946-b890-44a6-97df-71e60ccf159d",
"name": "Download video",
"type": "n8n-nodes-base.httpRequest",
"position": [
6580,
260
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "44d57140-f19c-45fc-a249-1f6f84a8864a",
"name": "Store video",
"type": "n8n-nodes-base.googleDrive",
"position": [
6740,
260
],
"parameters": {},
"typeVersion": 3
},
{
"id": "cc2566b3-c9d2-4d34-8717-e6cdfaede637",
"name": "Limit",
"type": "n8n-nodes-base.limit",
"position": [
3060,
500
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c5086e3a-7df0-423a-bc51-560b22852fc3",
"name": "2 Min Wait",
"type": "n8n-nodes-base.wait",
"position": [
3540,
500
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "77cb8c16-3b67-4a5f-b2d3-f16c68c2481a",
"name": "Generate Music Prompt",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
4040,
160
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "58c14cf6-f78f-418b-be91-2c238a81b85b",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
4000,
340
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "b8c66a9f-162b-42ba-8c40-edcdb3087ac6",
"name": "MusicPrompt",
"type": "n8n-nodes-base.set",
"position": [
4360,
160
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "abb57b0a-9edf-4bf5-a213-cf2e1c9a6fc7",
"name": "Text toMusic",
"type": "n8n-nodes-base.httpRequest",
"position": [
3380,
500
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "fc9a5fbf-572c-49f9-a7e4-f67cfa18640e",
"name": "Music Store",
"type": "n8n-nodes-base.googleDrive",
"position": [
3720,
500
],
"parameters": {},
"typeVersion": 3
},
{
"id": "6b5b4ea7-24d5-448d-9a38-c013ae7d62b6",
"name": "Access to Anyone with Link",
"type": "n8n-nodes-base.googleDrive",
"position": [
3920,
500
],
"parameters": {},
"typeVersion": 3
},
{
"id": "45aa327a-e4b8-4156-8360-e86115cb3192",
"name": "Store Music Urls",
"type": "n8n-nodes-base.airtable",
"position": [
4360,
580
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "00d07c43-5802-4047-b96d-62b358d1c55d",
"name": "Add Aggregate Music URLs",
"type": "n8n-nodes-base.code",
"position": [
4100,
500
],
"parameters": {},
"typeVersion": 2
},
{
"id": "21408eb7-b148-45ce-a8c7-786df3291cfa",
"name": "Parse Music Prompts",
"type": "n8n-nodes-base.code",
"position": [
3220,
500
],
"parameters": {},
"typeVersion": 2
},
{
"id": "d5c04b27-dfd4-4bc7-bc69-5669a49820b4",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
5100,
260
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "21e70479-888b-4c23-9882-f00c7900d6b7",
"name": "Poll Rendered Videos",
"type": "n8n-nodes-base.httpRequest",
"position": [
6060,
260
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "ed1b5fec-bc8c-4029-9dfc-bf39d75d9e68",
"name": "Final Video",
"type": "n8n-nodes-base.airtable",
"position": [
6240,
260
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "888353b0-f6fe-46b3-8df8-4cc65cdd8f37",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
4540,
-260
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e8f3db94-c36a-4a3c-aff6-6e4348a8cd2d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
5280,
-280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b34f34f3-3375-416e-a2f6-c86c66db6739",
"name": "Wait for Render",
"type": "n8n-nodes-base.wait",
"position": [
5700,
1240
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "3bce253b-047a-4160-b48f-55c185c2609f",
"name": "Get Final Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
5860,
1240
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "43ca990d-f654-4233-95a7-e504b3c22a3b",
"name": "Check Video Status",
"type": "n8n-nodes-base.switch",
"position": [
6020,
1240
],
"parameters": {},
"typeVersion": 3.2,
"alwaysOutputData": true
},
{
"id": "8e65d53d-46b3-4d5e-994a-60edc0f31950",
"name": "Video Creatomate",
"type": "n8n-nodes-base.httpRequest",
"position": [
5500,
1240
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "a25b1aa1-9131-49bc-b83e-fadaead37b1f",
"name": "Prepare Assets For Creatomate",
"type": "n8n-nodes-base.code",
"disabled": true,
"position": [
5480,
1060
],
"parameters": {},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "ca23b9b7-7f23-474b-817d-112a5d1ae031",
"name": "List Elements",
"type": "n8n-nodes-base.code",
"position": [
5640,
1080
],
"parameters": {},
"typeVersion": 2
},
{
"id": "60af65ac-36ef-4ae0-95cf-c66668853136",
"name": "Download Binary",
"type": "n8n-nodes-base.httpRequest",
"position": [
6220,
1220
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "ee786362-5ca9-411e-9fa7-ff9dc1cffef1",
"name": "Final Creatomate Video",
"type": "n8n-nodes-base.googleDrive",
"position": [
6400,
1220
],
"parameters": {},
"typeVersion": 3
},
{
"id": "07a72990-e402-4cdf-b52a-64268232234d",
"name": "Youtube Video Created",
"type": "n8n-nodes-base.gmail",
"position": [
6580,
1220
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "5dec2e5f-4adc-4cee-97f4-b0b002ac52b4",
"name": "Failed Creation",
"type": "n8n-nodes-base.gmail",
"position": [
6360,
1360
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "ce6a796b-cdf4-4793-9b5c-ce2640c5b80b",
"name": "Final Video Update",
"type": "n8n-nodes-base.googleSheets",
"position": [
6420,
260
],
"parameters": {},
"typeVersion": 4.5,
"alwaysOutputData": true
},
{
"id": "e3a0bbd1-13a5-45fe-bcb9-c2ffb392beb6",
"name": "Final Video Creatomate",
"type": "n8n-nodes-base.airtable",
"position": [
6720,
1220
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "f52ff588-0829-4b90-8f9d-9b50dbdf5ad4",
"name": "Creatomate Final Video",
"type": "n8n-nodes-base.googleSheets",
"position": [
6720,
1400
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "b40b9dde-88c6-440e-99a5-af4f2c6ad309",
"name": "Music Urls",
"type": "n8n-nodes-base.googleSheets",
"position": [
4360,
380
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "3f1c339f-d66e-4e98-9330-b855896cbfc4",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
6920,
-660
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3c15accd-d96b-4e2e-a7bf-8c28190ed117",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
6920,
1120
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c3d05e27-93b5-46d4-8a0d-009bda573614",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
5280,
960
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "73cc5a0c-0828-43db-b740-4bf49165601f",
"name": "Download Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
5400,
-420
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "63073d8f-e210-4f69-b52e-ceba622fcb97",
"name": "Post YouTube",
"type": "n8n-nodes-base.youTube",
"position": [
5580,
-480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "403e2d54-83c5-4e2c-a0c4-e81857afa65f",
"name": "Search for Latest Ready Video",
"type": "n8n-nodes-base.airtable",
"position": [
4920,
-480
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "c6e252df-4f94-4a3f-84e3-933df8968624",
"name": "Update Pepduction Table",
"type": "n8n-nodes-base.googleSheets",
"position": [
5400,
-620
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "c60e3b97-7c27-4597-a36d-aded332fd23a",
"name": "If Ready?",
"type": "n8n-nodes-base.if",
"position": [
5120,
-480
],
"parameters": {},
"typeVersion": 1
},
{
"id": "92513f0e-4b15-42a3-95e1-430cc3cbeefa",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
4520,
-660
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7c730e10-35d9-41f1-959a-f95c87007ce4",
"name": "Schedule Trigger1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
4720,
-480
],
"parameters": {},
"typeVersion": 1
}
],
"connections": {
"Limit": {
"main": [
[
{
"node": "Parse Music Prompts",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Prepare Video Assets",
"type": "main",
"index": 0
}
]
]
},
"Add Ideas": {
"main": [
[
{
"node": "Store in Airtable",
"type": "main",
"index": 0
}
]
]
},
"If Ready?": {
"main": [
[
{
"node": "Download Video",
"type": "main",
"index": 0
},
{
"node": "Update Pepduction Table",
"type": "main",
"index": 0
}
]
]
},
"2 Min Wait": {
"main": [
[
{
"node": "Music Store",
"type": "main",
"index": 0
}
]
]
},
"Get Images": {
"main": [
[
{
"node": "Get ImageUrls",
"type": "main",
"index": 0
}
]
]
},
"Music Urls": {
"main": [
[
{
"node": "Text-to-Image",
"type": "main",
"index": 0
}
]
]
},
"Wait 2 Min": {
"main": [
[
{
"node": "Store Sound",
"type": "main",
"index": 0
}
]
]
},
"Wait 5 Min": {
"main": [
[
{
"node": "Poll Rendered Videos",
"type": "main",
"index": 0
}
]
]
},
"Final Video": {
"main": [
[
{
"node": "Final Video Update",
"type": "main",
"index": 0
}
]
]
},
"Music Store": {
"main": [
[
{
"node": "Access to Anyone with Link",
"type": "main",
"index": 0
},
{
"node": "Add Aggregate Music URLs",
"type": "main",
"index": 0
}
]
]
},
"MusicPrompt": {
"main": [
[
{
"node": "Limit",
"type": "main",
"index": 0
}
]
]
},
"Parse Ideas": {
"main": [
[
{
"node": "Add Ideas",
"type": "main",
"index": 0
}
]
]
},
"Store Sound": {
"main": [
[
{
"node": "Allow Access",
"type": "main",
"index": 0
},
{
"node": "Aggregating Voice Urls",
"type": "main",
"index": 0
}
]
]
},
"Allow Access": {
"main": [
[]
]
},
"Store Script": {
"main": [
[
{
"node": "Store Script in Airtable",
"type": "main",
"index": 0
}
]
]
},
"Text toMusic": {
"main": [
[
{
"node": "2 Min Wait",
"type": "main",
"index": 0
}
]
]
},
"Generate Idea": {
"main": [
[
{
"node": "Parse Ideas",
"type": "main",
"index": 0
}
]
]
},
"Get ImageUrls": {
"main": [
[
{
"node": "Scene Image Urls",
"type": "main",
"index": 0
}
]
]
},
"List Elements": {
"main": [
[
{
"node": "Video Creatomate",
"type": "main",
"index": 0
}
]
]
},
"Text-to-Image": {
"main": [
[
{
"node": "Wait for 4 Min",
"type": "main",
"index": 0
}
]
]
},
"Download Video": {
"main": [
[
{
"node": "Post YouTube",
"type": "main",
"index": 0
}
]
]
},
"Download video": {
"main": [
[
{
"node": "Store video",
"type": "main",
"index": 0
}
]
]
},
"Extract Scenes": {
"main": [
[
{
"node": "Generate Music Prompt",
"type": "main",
"index": 0
},
{
"node": "Text-to-Image",
"type": "main",
"index": 0
}
]
]
},
"Wait for 4 Min": {
"main": [
[
{
"node": "Get Images",
"type": "main",
"index": 0
}
]
]
},
"searchAirtable": {
"ai_tool": [
[
{
"node": "Generate Idea",
"type": "ai_tool",
"index": 0
}
]
]
},
"Download Binary": {
"main": [
[
{
"node": "Final Creatomate Video",
"type": "main",
"index": 0
}
]
]
},
"Generate Script": {
"main": [
[
{
"node": "Parse Script Output",
"type": "main",
"index": 0
}
]
]
},
"Get Final Video": {
"main": [
[
{
"node": "Check Video Status",
"type": "main",
"index": 0
}
]
]
},
"Wait for Render": {
"main": [
[
{
"node": "Get Final Video",
"type": "main",
"index": 0
}
]
]
},
"Scene Image Urls": {
"main": [
[
{
"node": "Update ImageUrls",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Generate Idea",
"type": "main",
"index": 0
}
]
]
},
"Store Music Urls": {
"main": [
[
{
"node": "Music Urls",
"type": "main",
"index": 0
}
]
]
},
"Store Voice Urls": {
"main": [
[]
]
},
"Update ImageUrls": {
"main": [
[
{
"node": "Store Image Urls in Airtable",
"type": "main",
"index": 0
},
{
"node": "Extract Narration",
"type": "main",
"index": 0
}
]
]
},
"Update VoiceUrls": {
"main": [
[
{
"node": "Store Voice Urls",
"type": "main",
"index": 0
}
]
]
},
"Video Creatomate": {
"main": [
[
{
"node": "Wait for Render",
"type": "main",
"index": 0
}
]
]
},
"Voice Generation": {
"main": [
[
{
"node": "Wait 2 Min",
"type": "main",
"index": 0
}
]
]
},
"Extract Narration": {
"main": [
[
{
"node": "Voice Generation",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Generate Idea",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Schedule Trigger1": {
"main": [
[
{
"node": "Search for Latest Ready Video",
"type": "main",
"index": 0
}
]
]
},
"Store in Airtable": {
"main": [
[
{
"node": "Generate Script",
"type": "main",
"index": 0
}
]
]
},
"Check Video Status": {
"main": [
[
{
"node": "Download Binary",
"type": "main",
"index": 0
}
],
[
{
"node": "Failed Creation",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Render",
"type": "main",
"index": 0
}
]
]
},
"Final Video Update": {
"main": [
[
{
"node": "Download video",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Generate Script",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Generate Music Prompt",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Parse Music Prompts": {
"main": [
[
{
"node": "Text toMusic",
"type": "main",
"index": 0
}
]
]
},
"Parse Script Output": {
"main": [
[
{
"node": "Store Script",
"type": "main",
"index": 0
}
]
]
},
"Poll Rendered Videos": {
"main": [
[
{
"node": "Final Video",
"type": "main",
"index": 0
}
]
]
},
"Prepare Video Assets": {
"main": [
[
{
"node": "Build Shotstack Timeline",
"type": "main",
"index": 0
}
]
]
},
"Generate Music Prompt": {
"main": [
[
{
"node": "MusicPrompt",
"type": "main",
"index": 0
}
]
]
},
"Youtube Video Created": {
"main": [
[
{
"node": "Final Video Creatomate",
"type": "main",
"index": 0
}
]
]
},
"Aggregating Voice Urls": {
"main": [
[
{
"node": "Update VoiceUrls",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Final Creatomate Video": {
"main": [
[
{
"node": "Youtube Video Created",
"type": "main",
"index": 0
}
]
]
},
"Final Video Creatomate": {
"main": [
[
{
"node": "Creatomate Final Video",
"type": "main",
"index": 0
}
]
]
},
"ShotStack Render Video": {
"main": [
[
{
"node": "Wait 5 Min",
"type": "main",
"index": 0
}
]
]
},
"Add Aggregate Music URLs": {
"main": [
[
{
"node": "Store Music Urls",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"Build Shotstack Timeline": {
"main": [
[
{
"node": "ShotStack Render Video",
"type": "main",
"index": 0
}
]
]
},
"Store Script in Airtable": {
"main": [
[
{
"node": "Updated Idea to Scripted",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Generate Script",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Updated Idea to Scripted": {
"main": [
[
{
"node": "Update Status Ideas Table",
"type": "main",
"index": 0
}
]
]
},
"Update Status Ideas Table": {
"main": [
[
{
"node": "Extract Scenes",
"type": "main",
"index": 0
}
]
]
},
"Access to Anyone with Link": {
"main": [
[]
]
},
"Store Image Urls in Airtable": {
"main": [
[]
]
},
"Search for Latest Ready Video": {
"main": [
[
{
"node": "If Ready?",
"type": "main",
"index": 0
}
]
]
},
"Prepare Assets For Creatomate": {
"main": [
[
{
"node": "List Elements",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow automates the full cycle of YouTube video creation, from idea generation through scripting and production to final upload. It suits creators and teams who want to publish regularly without handling every manual step themselves. The process begins with a scheduled trigger that pulls fresh ideas, then uses OpenAI agents to craft scripts and direct image generation via PIAPI before rendering the finished video with Shotstack or Creatomate.
Use it when you need consistent output on a fixed schedule and already have content ideas stored in Airtable or Google Sheets. Avoid it if you require highly custom edits or real-time approvals, as the flow runs without intervention. Common variations include swapping the video renderer for a different provider or adjusting the script length to suit short-form content.
About this workflow
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 integrations (Airtable, Google Sheets, YouTube) to streamline the process.…
Source: https://n8n.io/workflows/4630/ — 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.
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
Created by: Peyton Leveillee Last updated: October 2025
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
This workflow automates the creation, rendering, approval, and posting of TikTok-style POV (Point of View) videos to Instagram, with cross-posting to Facebook and YouTube. It eliminates manual video p
SEO Blog Article Generation Workflow. Uses outputParserStructured, httpRequest, agent, lmChatOpenAi. Scheduled trigger; 56 nodes.