0-template-blog-article-to-video
Shared 11/30/2025
7 views
Visual Workflow
JSON Code
{
"id": "Tdw6WqOrjK9zGBRe",
"meta": {
"instanceId": "9d644af8fe730dfb972042f018ed45ff1dc2e7905a9737d59584dbe5b8c7f571",
"templateCredsSetupCompleted": true
},
"name": "0-template-blog-article-to-video-community-node",
"tags": [
{
"id": "4f5HsQRwHRxYIUuf",
"name": "jsoncut",
"createdAt": "2025-10-12T07:39:06.742Z",
"updatedAt": "2025-10-12T07:39:06.742Z"
}
],
"nodes": [
{
"id": "7fb7a876-3395-4783-af47-02345ab9d812",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-592
],
"parameters": {
"color": 3,
"width": 960,
"height": 432,
"content": "### Generate Script, Voice and Videos"
},
"typeVersion": 1
},
{
"id": "ff62c19f-9448-41d5-9f70-a9c535c1a0e9",
"name": "Get List of background Audio",
"type": "n8n-nodes-base.httpRequest",
"position": [
288,
-96
],
"parameters": {
"url": "https://api.openverse.engineering/v1/audio/",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "q",
"value": "ambiente"
},
{
"name": "license",
"value": "cc0,by,by-sa"
},
{
"name": "format",
"value": "json"
},
{
"name": "extension",
"value": "mp3"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "e1ece538-a3ca-41df-9b67-e7ba1476296d",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-144
],
"parameters": {
"color": 3,
"width": 640,
"height": 224,
"content": "### download Random Background music"
},
"typeVersion": 1
},
{
"id": "8c9a51b0-61b8-450c-b049-8b308e5971ab",
"name": "Generate audio",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
704,
-320
],
"parameters": {
"input": "={{ $json.output.full_text }}",
"voice": "onyx",
"options": {
"response_format": "mp3"
},
"resource": "audio"
},
"credentials": {
"openAiApi": {
"id": "nthYYcpDIou7MYYb",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "06603cec-6773-4041-be9f-19adb540dd38",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
-1072
],
"parameters": {
"color": 6,
"width": 640,
"height": 432,
"content": "## Crawl Page content and summarize\n"
},
"typeVersion": 1
},
{
"id": "d93817f2-30bc-46f4-ba96-c8ecb4ccc71c",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1264,
-192
],
"parameters": {
"color": 6,
"width": 480,
"height": 272,
"content": "## Publish on Instagram"
},
"typeVersion": 1
},
{
"id": "c1653e72-e448-4657-a473-5fadecadb922",
"name": "Generate a video",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
720,
-512
],
"parameters": {
"prompt": "={{ $json['output.video_prompts'] }}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/veo-3.0-generate-001",
"cachedResultName": "models/veo-3.0-generate-001"
},
"options": {
"aspectRatio": "9:16",
"durationSeconds": 8
},
"resource": "video"
},
"credentials": {
"googlePalmApi": {
"id": "UKLaAhgWyM0Oi3hv",
"name": "Google Gemini Api account - Free Credits"
}
},
"typeVersion": 1
},
{
"id": "b71fa273-e0f0-4e58-a912-44d3f8b5f205",
"name": "Split Video Prompts",
"type": "n8n-nodes-base.splitOut",
"position": [
592,
-512
],
"parameters": {
"options": {},
"fieldToSplitOut": "output.video_prompts"
},
"typeVersion": 1
},
{
"id": "ed4c59d8-df44-425e-8043-60e877cea36b",
"name": "Merge All Files",
"type": "n8n-nodes-base.merge",
"position": [
1328,
-464
],
"parameters": {
"numberInputs": 3
},
"typeVersion": 3.2
},
{
"id": "87d0903e-1cd9-4dd4-b568-873f937dc58e",
"name": "Aggregate Files",
"type": "n8n-nodes-base.aggregate",
"position": [
1504,
-448
],
"parameters": {
"options": {
"includeBinaries": false
},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "cf615c86-5935-4527-92e3-312125611a67",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1264,
-592
],
"parameters": {
"width": 576,
"height": 368,
"content": "## Merge Videos, Images and Audio"
},
"typeVersion": 1
},
{
"id": "590e67f3-43ed-490e-a65e-14b031454f16",
"name": "Scrape a url and get its content",
"type": "@mendable/n8n-nodes-firecrawl.firecrawl",
"position": [
240,
-976
],
"parameters": {
"url": "={{ $json.chatInput }}",
"operation": "scrape",
"requestOptions": {}
},
"credentials": {
"firecrawlApi": {
"id": "wtXyLXM8PClj1Jh3",
"name": "Firecrawl account"
}
},
"typeVersion": 1
},
{
"id": "8455cbd6-2292-4a03-afdc-1a7b5060428e",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
16,
-976
],
"webhookId": "bff9b283-e62a-4c57-b9b6-0fb3d521e2df",
"parameters": {
"options": {}
},
"typeVersion": 1.4
},
{
"id": "9597920c-4ab8-43c8-8885-752e9b2bb217",
"name": "Content Summarizer",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
416,
-976
],
"parameters": {
"text": "=Summarize the following crawled webpage content into a coherent text of no more than 1,000 characters. Use complete sentences and ensure the context remains clear. Preserve all core statements and factual meaning without adding, removing, or altering key information.\nContent:\n```\n{{ $json.data.markdown }}\n```",
"options": {},
"promptType": "define"
},
"typeVersion": 3
},
{
"id": "60f07ced-4fd8-4c40-bf67-ccb415f9ee50",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
416,
-784
],
"parameters": {
"model": "openai/gpt-5-mini",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "xyUU2VsFqfh6K7OQ",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "e4d632fc-1cb3-4693-b709-e91cdee1f603",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
240,
-512
],
"parameters": {
"text": "=You are a creative director and scriptwriter specializing in short informational video content for platforms like Instagram, TikTok, and YouTube Shorts.\n\nYour task is to produce 3–4 short informational videos (each approximately 8 seconds long) based on the following theme:\n\n```\n{{ $json.output }}\n```\n\n---\n\n### GOAL\nCreate a cohesive set of informational micro-videos that share the same visual style, tone, and lighting.\nFor each task, generate:\n\n1. 5 detailed prompts for AI-generated background videos (each ~8 seconds, no need to add duration to video prompt)\n\n2. 1 complete narration text that explains the topic clearly and concisely, matching the visuals\n\n3. 1 short caption for a social media post promoting the informational video set\n\n---\n\n### VIDEO PROMPT GUIDELINES\n- Each video prompt must clearly describe the **scene**, **movement**, **style**, **setting**, **mood**, **lighting**, and **color palette**. \n- All videos must be visually and emotionally consistent. \n- Include specific **camera movements** (e.g., slow pan, dolly forward, static shot with motion elements). \n- Choose a coherent lighting mood (e.g., clean and educational, modern and bright, calm and soft). \n- Example structure: \n *\"A clean informational cinematic video of [subject/scene], [camera movement], [motion in scene], [lighting], [environment details], [educational tone], [color palette], 8 seconds.\"*\n\n---\n\n### NARRATION GUIDELINES\n- The narration should be smooth, educational, and clearly structured. \n- It must match the sequence and style of the visual prompts. \n- Keep the tone informative, concise, and easy to follow when spoken aloud. \n- No text segments are required—only one continuous narration.\n- MAX WORD COUNT: 75\n---\n\n### OUTPUT FORMAT (JSON)\n\nReturn the output **only** as valid JSON:\n\n```json\n{\n \"video_prompts\": [\n \"Prompt 1\",\n \"Prompt 2\",\n \"Prompt 3\"\n ],\n \"full_text\": \"Narration text explaining the topic.\",\n \"caption\": \"Short social media caption.\"\n}\n```",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3
},
{
"id": "dedd4041-1ed3-46ee-b4a2-bf7122d823d4",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
368,
-336
],
"parameters": {
"autoFix": true,
"jsonSchemaExample": "{\n \"video_prompts\": [\n \"Prompt 1\",\n \"Prompt 2\",\n \"Prompt 3\"\n ],\n \"full_text\": \"Narration text explaining the topic.\",\n \"caption\": \"Short social media caption.\"\n}"
},
"typeVersion": 1.3
},
{
"id": "61abd578-4b95-4b1d-afcb-2d39d0a389cb",
"name": "OpenRouter Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
288,
-272
],
"parameters": {
"model": "openai/gpt-5-mini",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "xyUU2VsFqfh6K7OQ",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "7fb93325-4690-444d-9847-d50826ece393",
"name": "OpenRouter Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
224,
-368
],
"parameters": {
"model": "openai/gpt-5-mini",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "xyUU2VsFqfh6K7OQ",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "2a4184b5-f45a-4261-a2f8-348ad38f7f3c",
"name": "Upload voice",
"type": "n8n-nodes-jsoncut.jsonCut",
"position": [
912,
-320
],
"parameters": {
"category": "audio",
"resource": "file",
"ttlHours": 24
},
"credentials": {
"jsonCutApi": {
"id": "2YFt1ukPX3rnVwfy",
"name": "JsonCut account"
}
},
"typeVersion": 1
},
{
"id": "4f23d7c6-642a-460b-b374-2a5555019589",
"name": "Upload video",
"type": "n8n-nodes-jsoncut.jsonCut",
"position": [
848,
-512
],
"parameters": {
"category": "video",
"resource": "file",
"ttlHours": 24
},
"credentials": {
"jsonCutApi": {
"id": "2YFt1ukPX3rnVwfy",
"name": "JsonCut account"
}
},
"typeVersion": 1
},
{
"id": "2194e8eb-2cde-4533-80b9-dc46b3fef003",
"name": "Generate media",
"type": "n8n-nodes-jsoncut.jsonCut",
"position": [
1680,
-448
],
"parameters": {
"config": "={\n \"width\": 720,\n \"height\": 1280,\n \"fps\": 25,\n \"format\": \"mp4\",\n \"fast\": false,\n \"autoSubtitles\": true,\n \"autoSubtitlesStyle\": {\n \"animation\": \"letter-by-letter\",\n \"textColor\": \"#ffffff\",\n \"fontSize\": 40,\n \"googleFont\": \"Lora:500\",\n \"position\": {\n \"x\": 0.1,\n \"y\": 0.5,\n \"originX\": \"left\",\n \"originY\": \"top\"\n },\n \"outlineColor\": \"#000000\",\n \"outlineWidth\": 5,\n \"outlineStyle\": \"outline\"\n },\n \"audioTracks\": [\n {\n \"path\": \"{{ $json.data[1].storageUrl }}\",\n \"mixVolume\": 0.8,\n \"start\": 0.5,\n \"cutFrom\": 0\n },\n {\n \"path\": \"{{ $json.data[2].storageUrl }}\",\n \"mixVolume\": 0.2,\n \"start\": 0,\n \"cutFrom\": 0\n }\n ],\n \"defaults\": {\n \"transition\": {\n \"name\": \"randomsquares\",\n \"duration\": 0.5\n }\n },\n \"clips\": [\n {\n \"duration\": 5,\n \"layers\": [\n {\n \"type\": \"video\",\n \"path\": \"{{ $json.data[0].videos[0].storageUrl }}\",\n \"resizeMode\": \"contain-blur\",\n \"cutFrom\": 0\n },\n {\n \"type\": \"image-overlay\",\n \"path\": \"https://img.icons8.com/3d-fluency/94/project.png\",\n \"position\": \"top\",\n \"width\": 0.1,\n \"height\": 0.1,\n \"zoomDirection\": null\n },\n {\n \"type\": \"title\",\n \"text\": \"source: {{ $('When chat message received').item.json.chatInput.replace(/^(https?:\\/\\/[^\\/]+).*/, '$1') }}\",\n \"fontSize\": 18,\n \"textColor\": \"#595959\",\n \"position\": \"bottom-right\",\n \"zoomDirection\": null\n }\n ]\n },\n {\n \"duration\": 5,\n \"layers\": [\n {\n \"type\": \"video\",\n \"path\": \"{{ $json.data[0].videos[1].storageUrl }}\",\n \"resizeMode\": \"contain-blur\",\n \"cutFrom\": 0\n },\n {\n \"type\": \"image-overlay\",\n \"path\": \"https://img.icons8.com/3d-fluency/94/project.png\",\n \"position\": \"top\",\n \"width\": 0.1,\n \"height\": 0.1,\n \"zoomDirection\": null\n }\n ]\n },\n {\n \"duration\": 5,\n \"layers\": [\n {\n \"type\": \"video\",\n \"path\": \"{{ $json.data[0].videos[2].storageUrl }}\",\n \"resizeMode\": \"contain-blur\",\n \"cutFrom\": 0\n },\n {\n \"type\": \"image-overlay\",\n \"path\": \"https://img.icons8.com/3d-fluency/94/project.png\",\n \"position\": \"top\",\n \"width\": 0.1,\n \"height\": 0.1,\n \"zoomDirection\": null\n }\n ]\n },\n {\n \"duration\": 5,\n \"layers\": [\n {\n \"type\": \"video\",\n \"path\": \"{{ $json.data[0].videos[3].storageUrl }}\",\n \"resizeMode\": \"contain-blur\",\n \"cutFrom\": 0\n },\n {\n \"type\": \"image-overlay\",\n \"path\": \"https://img.icons8.com/3d-fluency/94/project.png\",\n \"position\": \"top\",\n \"width\": 0.1,\n \"height\": 0.1,\n \"zoomDirection\": null\n }\n ]\n }\n ]\n}",
"jobType": "video",
"resource": "combined",
"pollingOptions": {}
},
"credentials": {
"jsonCutApi": {
"id": "2YFt1ukPX3rnVwfy",
"name": "JsonCut account"
}
},
"typeVersion": 1
},
{
"id": "6310384d-481a-463d-b9aa-113199494047",
"name": "download background audio",
"type": "n8n-nodes-base.httpRequest",
"position": [
496,
-96
],
"parameters": {
"url": "={{ $json.results[Math.floor(Math.random() * $json.results.length)].url }}",
"options": {}
},
"typeVersion": 4.3
},
{
"id": "619b9e6e-f595-4967-bc8a-a79c5aa864c4",
"name": "Upload background audio",
"type": "n8n-nodes-jsoncut.jsonCut",
"position": [
704,
-96
],
"parameters": {
"category": "audio",
"resource": "file",
"ttlHours": 24
},
"credentials": {
"jsonCutApi": {
"id": "2YFt1ukPX3rnVwfy",
"name": "JsonCut account"
}
},
"typeVersion": 1
},
{
"id": "15890519-5c09-4e03-8896-3c892386fc5d",
"name": "Aggregate video paths",
"type": "n8n-nodes-base.aggregate",
"position": [
992,
-512
],
"parameters": {
"include": "specifiedFields",
"options": {
"includeBinaries": false
},
"aggregate": "aggregateAllItemData",
"fieldsToInclude": "storageUrl",
"destinationFieldName": "videos"
},
"typeVersion": 1
},
{
"id": "7fbe4740-f207-40d3-923e-3be2ea53a9e2",
"name": "Upload media",
"type": "@blotato/n8n-nodes-blotato.blotato",
"position": [
1312,
-80
],
"parameters": {
"resource": "media",
"useBinaryData": true
},
"credentials": {
"blotatoApi": {
"id": "cLHZMOihniwVaQOz",
"name": "Blotato account"
}
},
"typeVersion": 2
},
{
"id": "88182ebe-f8b6-44c8-833d-154ae96a2795",
"name": "Create Instagram post",
"type": "@blotato/n8n-nodes-blotato.blotato",
"position": [
1520,
-80
],
"parameters": {
"options": {},
"accountId": {
"__rl": true,
"mode": "id",
"value": "1234"
},
"postContentText": "={{ $('AI Agent').item.json.output.caption }}",
"postContentMediaUrls": "={{ $('Upload media').item.json.data[0].url }}"
},
"credentials": {
"blotatoApi": {
"id": "cLHZMOihniwVaQOz",
"name": "Blotato account"
}
},
"typeVersion": 2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "64e26f10-3c53-4d0b-a14a-f2a4d157a90c",
"connections": {
"AI Agent": {
"main": [
[
{
"node": "Split Video Prompts",
"type": "main",
"index": 0
},
{
"node": "Generate audio",
"type": "main",
"index": 0
}
]
]
},
"Upload media": {
"main": [
[
{
"node": "Create Instagram post",
"type": "main",
"index": 0
}
]
]
},
"Upload video": {
"main": [
[
{
"node": "Aggregate video paths",
"type": "main",
"index": 0
}
]
]
},
"Upload voice": {
"main": [
[
{
"node": "Merge All Files",
"type": "main",
"index": 1
}
]
]
},
"Generate audio": {
"main": [
[
{
"node": "Upload voice",
"type": "main",
"index": 0
}
]
]
},
"Generate media": {
"main": [
[
{
"node": "Upload media",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Files": {
"main": [
[
{
"node": "Generate media",
"type": "main",
"index": 0
}
]
]
},
"Merge All Files": {
"main": [
[
{
"node": "Aggregate Files",
"type": "main",
"index": 0
}
]
]
},
"Generate a video": {
"main": [
[
{
"node": "Upload video",
"type": "main",
"index": 0
}
]
]
},
"Content Summarizer": {
"main": [
[
{
"node": "Get List of background Audio",
"type": "main",
"index": 0
},
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Split Video Prompts": {
"main": [
[
{
"node": "Generate a video",
"type": "main",
"index": 0
}
]
]
},
"Aggregate video paths": {
"main": [
[
{
"node": "Merge All Files",
"type": "main",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "Content Summarizer",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenRouter Chat Model1": {
"ai_languageModel": [
[
{
"node": "Structured Output Parser",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenRouter Chat Model2": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Upload background audio": {
"main": [
[
{
"node": "Merge All Files",
"type": "main",
"index": 2
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"download background audio": {
"main": [
[
{
"node": "Upload background audio",
"type": "main",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "Scrape a url and get its content",
"type": "main",
"index": 0
}
]
]
},
"Get List of background Audio": {
"main": [
[
{
"node": "download background audio",
"type": "main",
"index": 0
}
]
]
},
"Scrape a url and get its content": {
"main": [
[
{
"node": "Content Summarizer",
"type": "main",
"index": 0
}
]
]
}
}
}