This workflow corresponds to n8n.io template #15150 — we link there as the canonical source.
This workflow follows the Chainllm → Google Drive 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": "4a2aa57f-6169-4b03-be00-3390a3474aa2",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
2688,
3280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5d950949-3eb8-4385-b0a5-fdb48e568047",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
3248,
3408
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b792b214-faf6-48bf-81e9-ad50b6366cd6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
3520,
3408
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a4474460-b708-4d3b-9a5d-a38dbf531812",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
4224,
3360
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "06310bf4-f800-4f34-b3e6-3dce11bd86c6",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
5296,
3280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e20809aa-76c5-4bc0-b3ef-35db12d940f9",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
6640,
3408
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "df1b5f22-c36a-4d20-8d24-07bc02509112",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
7088,
3424
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4323b6d6-aa01-4f30-a6fb-6c4a5fb2ce00",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
7984,
3424
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b4fb4d6f-a5b0-4292-bca5-e2fcf7bc059f",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
8736,
3280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "32682218-52d9-4722-8e8f-2ec3b8284b04",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
10256,
3408
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5e92af91-bdb0-4c8d-a556-8062fe9ba9d8",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
10704,
3280
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "bebe4cae-d938-4428-81dd-2b8439500b00",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
11600,
3408
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "1c5b5141-89e6-4e29-af97-442f8c0d6ec2",
"name": "When Execute Workflow Clicked",
"type": "n8n-nodes-base.manualTrigger",
"position": [
3296,
3536
],
"parameters": {},
"typeVersion": 1
},
{
"id": "ac60180f-a617-47a1-9eb0-cc7d63580323",
"name": "Set Business Details",
"type": "n8n-nodes-base.set",
"position": [
3568,
3536
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "b2c4428d-2d1f-4f09-9fef-162e04f951c5",
"name": "Gemini Chat Model 1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
3792,
3760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7e70d4a4-c5f3-49f4-91a2-dbe17fcfacd5",
"name": "Convert Data to File",
"type": "n8n-nodes-base.convertToFile",
"notes": "At this step, the video should be generated and ready to convert to 9:16 aspect ratio",
"position": [
6240,
3536
],
"parameters": {},
"notesInFlow": false,
"typeVersion": 1.1
},
{
"id": "9fe2068a-27ff-40e6-aab5-a966a3d65f08",
"name": "Route by No Rules 1",
"type": "n8n-nodes-base.switch",
"position": [
6016,
3520
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "da5f5e12-8d92-4e89-9e62-727173e235f0",
"name": "Post Fetch Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
5792,
3392
],
"parameters": {},
"executeOnce": true,
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "ac0c85af-98d8-45de-b70e-4adbb18ae07a",
"name": "Wait 20 Seconds 1",
"type": "n8n-nodes-base.wait",
"position": [
5568,
3472
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "53c93309-799e-4ae9-a955-6093e71111fb",
"name": "Set API Configurations",
"type": "n8n-nodes-base.set",
"position": [
4672,
3472
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "0eff05b8-d856-4762-9a3d-4b9baf4af439",
"name": "Generate JWT Token",
"type": "n8n-nodes-base.jwt",
"position": [
4896,
3472
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b3b2b154-2f9b-437f-9c3e-ac9b58801589",
"name": "Post to OAuth2 Token",
"type": "n8n-nodes-base.httpRequest",
"position": [
5120,
3472
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "03fe944b-0145-4108-a804-c35eebd42d89",
"name": "Post Generate Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
5344,
3472
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "fed1c58e-a29b-495d-8d89-292fc5afd5ce",
"name": "Ad Planning Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
3808,
3536
],
"parameters": {},
"typeVersion": 1.7
},
{
"id": "b97f2684-2dc6-413d-b973-ac105229cd69",
"name": "Ad Strategy Chain Part 1",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
4272,
3536
],
"parameters": {},
"typeVersion": 1.7
},
{
"id": "1fe6c5d7-1c80-4df7-b57b-085c19876f0d",
"name": "Ad Strategy Chain Part 2",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
8784,
3536
],
"parameters": {},
"typeVersion": 1.7
},
{
"id": "9e60653a-c3a9-48ef-88b3-5d33162f1a56",
"name": "Convert Data to File 1",
"type": "n8n-nodes-base.convertToFile",
"notes": "At this step, the video should be generated and ready to convert to 9:16 aspect ratio",
"position": [
10080,
3536
],
"parameters": {},
"notesInFlow": false,
"typeVersion": 1.1
},
{
"id": "9017563a-eb34-4f55-b0ee-86e8ee979456",
"name": "Route by No Rules 2",
"type": "n8n-nodes-base.switch",
"position": [
9856,
3504
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "22260eed-0d5d-4d1a-9849-99a2d778b063",
"name": "Post Fetch Status 1",
"type": "n8n-nodes-base.httpRequest",
"position": [
9632,
3392
],
"parameters": {},
"executeOnce": true,
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "33441b35-1b0b-4709-8133-08a9b1ea3653",
"name": "Wait 20 Seconds 2",
"type": "n8n-nodes-base.wait",
"position": [
9408,
3472
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "7e6fedd8-dd0a-45fd-bb86-53905c04a10c",
"name": "Post Generate Video 1",
"type": "n8n-nodes-base.httpRequest",
"position": [
9184,
3472
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "faea6beb-fdc7-4004-8b3e-8156e9091198",
"name": "Parse Structured Output 1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3920,
3760
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "3951a48b-a62e-4050-bc14-bd8274b99d40",
"name": "DeepSeek Chat Model 1",
"type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"position": [
3968,
3968
],
"parameters": {},
"typeVersion": 1
},
{
"id": "865fe72f-2421-477c-9d2a-07f317f7c27e",
"name": "Gemini Chat Model 2",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
4368,
3760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1616fe48-e6fe-41aa-a7f1-cb4325269c4d",
"name": "Upload Vid to Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
6912,
3536
],
"parameters": {},
"typeVersion": 3
},
{
"id": "925057e7-20cf-4cbd-866f-d68ec034014b",
"name": "Post Start Gemini Upload",
"type": "n8n-nodes-base.httpRequest",
"position": [
7136,
3536
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "83e6a357-c735-4f8b-a6c6-1dd24c65f34d",
"name": "Redownload Video from Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
7360,
3536
],
"parameters": {},
"typeVersion": 3
},
{
"id": "44e514bb-9f31-4ce3-b30f-77ba076ee9b1",
"name": "Post Video to Gemini",
"type": "n8n-nodes-base.httpRequest",
"position": [
7584,
3536
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "3a4b4bb7-1338-44fc-800c-db5209e8dea4",
"name": "Post Analyze Vid with Gemini",
"type": "n8n-nodes-base.httpRequest",
"position": [
8032,
3536
],
"parameters": {},
"retryOnFail": true,
"typeVersion": 4.2,
"waitBetweenTries": 15
},
{
"id": "27fb4414-4c0c-4394-93df-75bab4a4ef4a",
"name": "Basic LLM Processing Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
8272,
3536
],
"parameters": {},
"typeVersion": 1.7
},
{
"id": "ff95ad23-17b0-4a8b-ad0a-f3bed4f9b4c5",
"name": "DeepSeek Chat Model 2",
"type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"position": [
8256,
3760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9a741a29-6d78-46a4-820c-493d34c3e616",
"name": "Parse Structured Output 2",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
8384,
3760
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "a9632f12-afda-418d-b6e3-e39bbdb47389",
"name": "DeepSeek Chat Model 3",
"type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"position": [
8480,
3968
],
"parameters": {},
"typeVersion": 1
},
{
"id": "eb9dca22-86f1-41ab-b143-e049c7717353",
"name": "Gemini Chat Model 3",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
8880,
3760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "84212026-f7b9-4f77-9d9f-d9625de203ee",
"name": "Build Shotstack HTTP Body",
"type": "n8n-nodes-base.code",
"position": [
10528,
3536
],
"parameters": {},
"executeOnce": true,
"typeVersion": 2
},
{
"id": "c5caca17-a6e9-4aa6-b2ef-24d86e37ed24",
"name": "GCS Video Part 1",
"type": "n8n-nodes-base.googleCloudStorage",
"position": [
6464,
3536
],
"parameters": {},
"typeVersion": 1
},
{
"id": "de30d3a2-6707-468f-b518-6f3561ccd7a3",
"name": "GCS Video Part 2",
"type": "n8n-nodes-base.googleCloudStorage",
"position": [
10304,
3536
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1b8844d2-129c-41d7-9b83-fac7747e9789",
"name": "Post Merge to Creatomate",
"type": "n8n-nodes-base.httpRequest",
"position": [
10752,
3472
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "1bc80a52-c61f-405f-8f5a-21c58f7f60e6",
"name": "Fetch Final Video",
"type": "n8n-nodes-base.httpRequest",
"position": [
11648,
3536
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "5c7dbe14-a0c0-4771-bd11-051742fb012a",
"name": "Wait for Rendering Complete",
"type": "n8n-nodes-base.wait",
"position": [
10976,
3472
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "fa988770-36a7-4d24-91a8-80da605f13cd",
"name": "Check Render Completion",
"type": "n8n-nodes-base.httpRequest",
"position": [
11200,
3392
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "a1313d5a-d23d-4883-b783-a8a53b8b0eb6",
"name": "Telegram Send Video",
"type": "n8n-nodes-base.telegram",
"position": [
11872,
3536
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "831d1f6d-bf6d-40be-9b8f-f062726858cd",
"name": "Route by No Rules 3",
"type": "n8n-nodes-base.switch",
"position": [
11424,
3520
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "255a8f64-436d-462d-a4ae-89cf61ffda7a",
"name": "Fetch Binary Part 1",
"type": "n8n-nodes-base.httpRequest",
"position": [
6688,
3536
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "0e8851d4-007d-4216-bf6a-20ef823fb613",
"name": "Wait 30 Seconds with Reason",
"type": "n8n-nodes-base.wait",
"position": [
7808,
3536
],
"parameters": {},
"typeVersion": 1.1
}
],
"connections": {
"GCS Video Part 1": {
"main": [
[
{
"node": "Fetch Binary Part 1",
"type": "main",
"index": 0
}
]
]
},
"GCS Video Part 2": {
"main": [
[
{
"node": "Build Shotstack HTTP Body",
"type": "main",
"index": 0
}
]
]
},
"Ad Planning Chain": {
"main": [
[
{
"node": "Ad Strategy Chain Part 1",
"type": "main",
"index": 0
}
]
]
},
"Fetch Final Video": {
"main": [
[
{
"node": "Telegram Send Video",
"type": "main",
"index": 0
}
]
]
},
"Post Fetch Status": {
"main": [
[
{
"node": "Route by No Rules 1",
"type": "main",
"index": 0
}
]
]
},
"Wait 20 Seconds 1": {
"main": [
[
{
"node": "Post Fetch Status",
"type": "main",
"index": 0
}
]
]
},
"Wait 20 Seconds 2": {
"main": [
[
{
"node": "Post Fetch Status 1",
"type": "main",
"index": 0
}
]
]
},
"Generate JWT Token": {
"main": [
[
{
"node": "Post to OAuth2 Token",
"type": "main",
"index": 0
}
]
]
},
"Fetch Binary Part 1": {
"main": [
[
{
"node": "Upload Vid to Google Drive",
"type": "main",
"index": 0
}
]
]
},
"Gemini Chat Model 1": {
"ai_languageModel": [
[
{
"node": "Ad Planning Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Gemini Chat Model 2": {
"ai_languageModel": [
[
{
"node": "Ad Strategy Chain Part 1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Gemini Chat Model 3": {
"ai_languageModel": [
[
{
"node": "Ad Strategy Chain Part 2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Post Fetch Status 1": {
"main": [
[
{
"node": "Route by No Rules 2",
"type": "main",
"index": 0
}
]
]
},
"Post Generate Video": {
"main": [
[
{
"node": "Wait 20 Seconds 1",
"type": "main",
"index": 0
}
]
]
},
"Route by No Rules 1": {
"main": [
[
{
"node": "Convert Data to File",
"type": "main",
"index": 0
}
],
[
{
"node": "Ad Strategy Chain Part 1",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 20 Seconds 1",
"type": "main",
"index": 0
}
]
]
},
"Route by No Rules 2": {
"main": [
[
{
"node": "Convert Data to File 1",
"type": "main",
"index": 0
}
],
[
{
"node": "Ad Strategy Chain Part 2",
"type": "main",
"index": 0
}
],
[
{
"node": "Ad Strategy Chain Part 2",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 20 Seconds 2",
"type": "main",
"index": 0
}
]
]
},
"Route by No Rules 3": {
"main": [
[
{
"node": "Fetch Final Video",
"type": "main",
"index": 0
}
],
[
{
"node": "Build Shotstack HTTP Body",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Rendering Complete",
"type": "main",
"index": 0
}
]
]
},
"Convert Data to File": {
"main": [
[
{
"node": "GCS Video Part 1",
"type": "main",
"index": 0
}
]
]
},
"Post Video to Gemini": {
"main": [
[
{
"node": "Wait 30 Seconds with Reason",
"type": "main",
"index": 0
}
]
]
},
"Post to OAuth2 Token": {
"main": [
[
{
"node": "Post Generate Video",
"type": "main",
"index": 0
}
]
]
},
"Set Business Details": {
"main": [
[
{
"node": "Ad Planning Chain",
"type": "main",
"index": 0
}
]
]
},
"DeepSeek Chat Model 1": {
"ai_languageModel": [
[
{
"node": "Parse Structured Output 1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"DeepSeek Chat Model 2": {
"ai_languageModel": [
[
{
"node": "Basic LLM Processing Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"DeepSeek Chat Model 3": {
"ai_languageModel": [
[
{
"node": "Parse Structured Output 2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Post Generate Video 1": {
"main": [
[
{
"node": "Wait 20 Seconds 2",
"type": "main",
"index": 0
}
]
]
},
"Convert Data to File 1": {
"main": [
[
{
"node": "GCS Video Part 2",
"type": "main",
"index": 0
}
]
]
},
"Set API Configurations": {
"main": [
[
{
"node": "Generate JWT Token",
"type": "main",
"index": 0
}
]
]
},
"Check Render Completion": {
"main": [
[
{
"node": "Route by No Rules 3",
"type": "main",
"index": 0
}
]
]
},
"Ad Strategy Chain Part 1": {
"main": [
[
{
"node": "Set API Configurations",
"type": "main",
"index": 0
}
]
]
},
"Ad Strategy Chain Part 2": {
"main": [
[
{
"node": "Post Generate Video 1",
"type": "main",
"index": 0
}
]
]
},
"Post Merge to Creatomate": {
"main": [
[
{
"node": "Wait for Rendering Complete",
"type": "main",
"index": 0
}
]
]
},
"Post Start Gemini Upload": {
"main": [
[
{
"node": "Redownload Video from Drive",
"type": "main",
"index": 0
}
]
]
},
"Build Shotstack HTTP Body": {
"main": [
[
{
"node": "Post Merge to Creatomate",
"type": "main",
"index": 0
}
]
]
},
"Parse Structured Output 1": {
"ai_outputParser": [
[
{
"node": "Ad Planning Chain",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Parse Structured Output 2": {
"ai_outputParser": [
[
{
"node": "Basic LLM Processing Chain",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Basic LLM Processing Chain": {
"main": [
[
{
"node": "Ad Strategy Chain Part 2",
"type": "main",
"index": 0
}
]
]
},
"Upload Vid to Google Drive": {
"main": [
[
{
"node": "Post Start Gemini Upload",
"type": "main",
"index": 0
}
]
]
},
"Redownload Video from Drive": {
"main": [
[
{
"node": "Post Video to Gemini",
"type": "main",
"index": 0
}
]
]
},
"Wait 30 Seconds with Reason": {
"main": [
[
{
"node": "Post Analyze Vid with Gemini",
"type": "main",
"index": 0
}
]
]
},
"Wait for Rendering Complete": {
"main": [
[
{
"node": "Check Render Completion",
"type": "main",
"index": 0
}
]
]
},
"Post Analyze Vid with Gemini": {
"main": [
[
{
"node": "Basic LLM Processing Chain",
"type": "main",
"index": 0
}
]
]
},
"When Execute Workflow Clicked": {
"main": [
[
{
"node": "Set Business Details",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Input business details – Takes business name, description, services, offer, CTA, location, and target audience from a form Write the script – Uses Gemini 2.5 Pro to create a 16-second, two-part micro-commercial script with character dialogue (Part 1: problem + solution, Part 2:…
Source: https://n8n.io/workflows/15150/ — 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.
Find trending theories – Uses Grok-4 to scan X (Twitter) for the top emerging conspiracy theory from the last 3 days Write the script – Takes the theory and creates a 24-second documentary-style scrip
Generate the script – Takes a "what if" question and creates a 24-second video script with 4 scenes (Hook, Wonder, Reality, CTA) using Gemini 2.5 Pro Create Veo prompts – Translates each scene's visua
Transform a single quote into a fully-rendered cinematic short video — with voice-over, visuals, and music — then publish it directly to TikTok, Instagram Reels, and YouTube Shorts. This isn’t just au
Brainstorm metaphors – Takes product details (name, description, audience, value props) and generates 5 visual metaphors using Gemini 2.5 Pro Select best metaphor – Scores each metaphor on relevance,
A Telegram bot that converts natural-language work descriptions into detailed cost estimates using AI parsing, vector search, and the open-source DDC CWICR database with 55,000+ construction work item