This workflow corresponds to n8n.io template #17060 — we link there as the canonical source.
This workflow follows the Agent → Blotaton8N Nodes Blotato 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 →
{
"id": "bZnjAiMcg96zxQzM",
"meta": {
"builderVariant": "mcp",
"aiBuilderAssisted": true
},
"name": "Generate AI videos for an auto service business and post them to social media",
"tags": [],
"nodes": [
{
"id": "80e78679-1456-4816-82b7-5e06dfe06286",
"name": "Run manually",
"type": "n8n-nodes-base.manualTrigger",
"position": [
704,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3d30ad63-8fe7-4b5b-afc1-ead8d37c864e",
"name": "Configuration",
"type": "n8n-nodes-base.set",
"position": [
976,
544
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a1",
"name": "business_name",
"type": "string",
"value": "Ace Auto Service"
},
{
"id": "a2",
"name": "content_topic",
"type": "string",
"value": "daily car maintenance tips and honest auto repair advice for everyday drivers"
},
{
"id": "a3",
"name": "business_cta",
"type": "string",
"value": "Book your next service with us"
},
{
"id": "a4",
"name": "content_language",
"type": "string",
"value": "English"
},
{
"id": "a5",
"name": "text_model",
"type": "string",
"value": "gpt-5.4"
},
{
"id": "a6",
"name": "atlas_model",
"type": "string",
"value": "bytedance/seedance-2.0/text-to-video"
},
{
"id": "a7",
"name": "video_duration",
"type": "number",
"value": 8
},
{
"id": "a8",
"name": "aspect_ratio",
"type": "string",
"value": "9:16"
},
{
"id": "a9",
"name": "generate_audio",
"type": "boolean",
"value": true
},
{
"id": "a10",
"name": "render_wait_seconds",
"type": "number",
"value": 15
},
{
"id": "a11",
"name": "telegram_chat_id",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "721cc1ec-8da1-472f-a004-87b585911bd8",
"name": "Every morning",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
704,
464
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.3
},
{
"id": "0148b1ae-a096-45e5-9429-058106cb8abe",
"name": "Write caption and video prompt",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1328,
352
],
"parameters": {
"text": "=Create today's social video content for {{ $('Configuration').item.json.business_name }}, an auto service business.\nTopic focus: {{ $('Configuration').item.json.content_topic }}.\nWrite in {{ $('Configuration').item.json.content_language }}.\nUse the Web research tool to ground the post in a current, accurate and useful angle. Then return a short scroll-stopping caption with a soft call to action ({{ $('Configuration').item.json.business_cta }}), a line of 3-6 relevant hashtags, and a vivid cinematic text-to-video prompt for an 8-second vertical clip that visually illustrates the topic.",
"options": {
"systemMessage": "You are the social media creative for an auto service / car repair brand. You write concise, engaging, on-brand short-video captions and matching cinematic video prompts. Tool available: 'Web research' (Perplexity) to fetch current, accurate facts and trends. Keep captions under 700 characters, friendly and professional, with no false claims. The video prompt must be safe-for-work, describe a realistic automotive scene (workshop, mechanic, car detail, road), include camera movement and lighting, and must NOT include on-screen text or logos. Always respond using the required structured format."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 3.1
},
{
"id": "175ddf20-3024-40bd-85b6-3b8cae3ad20f",
"name": "OpenAI model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1184,
608
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "={{ $('Configuration').item.json.text_model }}"
},
"options": {},
"builtInTools": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "b019e1de-9f14-4066-8e02-7b8f4aad0a88",
"name": "Web research",
"type": "n8n-nodes-base.perplexityTool",
"position": [
1360,
608
],
"parameters": {
"options": {
"searchRecency": "month"
},
"messages": {
"message": [
{
"content": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('query', 'A specific research question about current auto-service tips, seasonal car care or trends relevant to the topic') }}"
}
]
},
"simplify": true,
"requestOptions": {}
},
"credentials": {
"perplexityApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "ac8f0630-5e39-4ebd-99c7-bff6ced24afe",
"name": "Structured output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1520,
608
],
"parameters": {
"jsonSchemaExample": "{ \"caption\": \"Your engine deserves this 5-minute check before winter hits.\", \"hashtags\": \"#autorepair #carcare #mechanic #cartips\", \"video_prompt\": \"Cinematic vertical close-up of a professional mechanic inspecting a car engine in a clean modern workshop, warm light, slow dolly-in, shallow depth of field\" }"
},
"typeVersion": 1.3
},
{
"id": "bca28300-0333-49c0-8cc9-c63c78e4a513",
"name": "Generate video",
"type": "n8n-nodes-base.httpRequest",
"position": [
1760,
352
],
"parameters": {
"url": "https://api.atlascloud.ai/api/v1/model/generateVideo",
"method": "POST",
"options": {},
"jsonBody": "={{ { \"model\": $('Configuration').item.json.atlas_model, \"prompt\": $('Write caption and video prompt').item.json.output.video_prompt, \"duration\": $('Configuration').item.json.video_duration, \"aspect_ratio\": $('Configuration').item.json.aspect_ratio, \"generate_audio\": $('Configuration').item.json.generate_audio } }}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.4
},
{
"id": "c9c130ea-e601-471b-8b11-1ec31ab08f43",
"name": "Wait for render",
"type": "n8n-nodes-base.wait",
"position": [
2032,
352
],
"parameters": {
"amount": "={{ $('Configuration').item.json.render_wait_seconds }}"
},
"typeVersion": 1.1
},
{
"id": "de5c33dd-18cf-4610-9ee9-125b91e1421f",
"name": "Get render status",
"type": "n8n-nodes-base.httpRequest",
"position": [
2288,
352
],
"parameters": {
"url": "=https://api.atlascloud.ai/api/v1/model/prediction/{{ $('Generate video').item.json.data.id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 4.4
},
{
"id": "96450b5e-c540-43c7-a5de-7ece0640ca5d",
"name": "Video ready?",
"type": "n8n-nodes-base.if",
"position": [
2544,
352
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": false,
"typeValidation": "loose"
},
"combinator": "or",
"conditions": [
{
"id": "c1",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.status }}",
"rightValue": "completed"
},
{
"id": "c2",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.status }}",
"rightValue": "succeeded"
}
]
}
},
"typeVersion": 2.3
},
{
"id": "6f5af50d-d0a2-4c99-b02b-b5c6f2079442",
"name": "Prepare post",
"type": "n8n-nodes-base.set",
"position": [
2832,
352
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "p1",
"name": "video_url",
"type": "string",
"value": "={{ $('Get render status').item.json.data.outputs[0] }}"
},
{
"id": "p2",
"name": "full_caption",
"type": "string",
"value": "={{ $('Write caption and video prompt').item.json.output.caption }}\n\n{{ $('Write caption and video prompt').item.json.output.hashtags }}"
},
{
"id": "p3",
"name": "video_title",
"type": "string",
"value": "={{ $('Configuration').item.json.business_name }} | Auto service tip"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8a239ce4-6340-4522-92ca-6fd1981eaeef",
"name": "Post to TikTok",
"type": "@blotato/n8n-nodes-blotato.blotato",
"onError": "continueRegularOutput",
"position": [
3168,
192
],
"parameters": {
"options": {},
"platform": "tiktok",
"accountId": {
"__rl": true,
"mode": "list",
"value": "9332",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/9332",
"cachedResultName": "docteur.firas"
},
"postContentText": "={{ $('Prepare post').item.json.full_caption }}",
"postContentMediaUrls": "={{ $('Prepare post').item.json.video_url }}",
"postCreateTiktokOptionIsAiGenerated": true
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "398d98cf-180c-4b85-a6bd-7ee4d91ae715",
"name": "Post to YouTube",
"type": "@blotato/n8n-nodes-blotato.blotato",
"onError": "continueRegularOutput",
"position": [
3168,
400
],
"parameters": {
"options": {},
"platform": "youtube",
"accountId": {
"__rl": true,
"mode": "list",
"value": "8047",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/8047",
"cachedResultName": "DR FIRASS (Dr. Firas)"
},
"postContentText": "={{ $('Prepare post').item.json.full_caption }}",
"postContentMediaUrls": "={{ $('Prepare post').item.json.video_url }}",
"postCreateYoutubeOptionTitle": "={{ $('Prepare post').item.json.video_title }}",
"postCreateYoutubeOptionContainsSyntheticMedia": true
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "717d7bde-fd4b-49da-bd52-7ad0e7a753c3",
"name": "Post to Instagram",
"type": "@blotato/n8n-nodes-blotato.blotato",
"onError": "continueRegularOutput",
"position": [
3216,
576
],
"parameters": {
"options": {
"instagramMediaType": "reel"
},
"accountId": {
"__rl": true,
"mode": "list",
"value": "11892",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/11892",
"cachedResultName": "doc.firass"
},
"postContentText": "={{ $('Prepare post').item.json.full_caption }}",
"postContentMediaUrls": "={{ $('Prepare post').item.json.video_url }}"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "d4217e7b-d79c-450a-8d39-0f955cf8cce7",
"name": "Post to Facebook",
"type": "@blotato/n8n-nodes-blotato.blotato",
"onError": "continueRegularOutput",
"position": [
3168,
736
],
"parameters": {
"options": {
"facebookMediaType": "reel"
},
"platform": "facebook",
"accountId": {
"__rl": true,
"mode": "list",
"value": "1759",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/1759",
"cachedResultName": "Firass Ben"
},
"facebookPageId": {
"__rl": true,
"mode": "list",
"value": "101603614680195",
"cachedResultUrl": "https://backend.blotato.com/v2/accounts/1759/subaccounts/101603614680195",
"cachedResultName": "Dr. Firas"
},
"postContentText": "={{ $('Prepare post').item.json.full_caption }}",
"postContentMediaUrls": "={{ $('Prepare post').item.json.video_url }}"
},
"credentials": {
"blotatoApi": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "56cdef5a-9187-479a-a0e0-27630472582a",
"name": "Send Telegram preview",
"type": "n8n-nodes-base.telegram",
"onError": "continueRegularOutput",
"position": [
2928,
784
],
"parameters": {
"text": "=New auto-service video published.\n\n{{ $('Prepare post').item.json.full_caption }}\n\nVideo: {{ $('Prepare post').item.json.video_url }}",
"chatId": "={{ $('Configuration').item.json.telegram_chat_id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "106b2657-1c28-4a44-9c0c-da3ff7f5ea2a",
"name": "Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-448
],
"parameters": {
"width": 620,
"height": 1952,
"content": "# Generate AI videos for an auto service business and post them to social media\n\n# \ud83d\udce5 [Open full documentation on Notion](https://automatisation.notion.site/Course-Generate-AI-videos-for-an-auto-service-business-and-post-them-to-social-media-39b3d6550fd9811696fefa2ff1923c62)\n\n\u26a0\ufe0f Uses the community node [Blotato](https://blotato.com/?ref=firas) \u2192 **n8n self-hosted only** (or n8n Cloud with Verified Community Nodes enabled).\n\n## Who is this for\nAuto service shops, garages and car-repair businesses (and the creators/marketers running their socials) who want a steady stream of short videos without hiring an editor.\n\n## How it works\n1. A daily schedule (or a manual click) starts the run.\n2. The **Configuration** node holds every setting in one place.\n3. An AI agent researches a fresh, relevant angle, then writes a short caption + a cinematic video prompt.\n4. AtlasCloud Seedance 2.0 turns that prompt into a short vertical video (the workflow polls until it is ready).\n5. Blotato publishes the video to TikTok, YouTube, Instagram and Facebook, and a Telegram preview is sent to you.\n\nThe AI proposes, you stay in control: check the Telegram preview and keep quality high before scaling the schedule.\n\n## Setup\n1. Open **Configuration** and set your business name, topic, language, video length and aspect ratio.\n2. Connect your credentials: OpenAI, Perplexity, [AtlasCloud](https://www.atlascloud.ai/?ref=8QKPJE) and Blotato.\n3. On the two AtlasCloud HTTP nodes, select the **AtlasCloud API** credential manually (one click each).\n4. On each Blotato node, choose the social account to publish to.\n5. Add your Telegram chat ID in Configuration for the preview.\n\n## Requirements\n- n8n **self-hosted** (Blotato is a community node).\n- Accounts/keys: OpenAI, Perplexity, [AtlasCloud](https://www.atlascloud.ai/?ref=8QKPJE), [Blotato](https://blotato.com/?ref=firas), Telegram bot.\n- AI video pricing depends on the model and length you choose in Configuration.\n\n## Customization\n- Change the topic, language, tone or CTA in Configuration.\n- Swap the AI model, video duration or aspect ratio.\n- Add or remove a platform by duplicating a Blotato node.\n\n---\nNeed help customizing?\nContact me for consulting and support : [Linkedin](https://www.linkedin.com/in/doctor-firass/)\n\n# MY NEW YOUTUBE CHANNEL\n\ud83d\udc49 [Subscribe to my new YouTube channel](https://www.youtube.com/@DrFiras_AI). Here I'll share videos and Shorts with practical tutorials and FREE templates for n8n.\n\n[](https://www.youtube.com/@DrFiras_AI)"
},
"typeVersion": 1
},
{
"id": "b552f250-6308-44b1-ad19-453b93a6c78d",
"name": "Section 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
928,
224
],
"parameters": {
"color": 7,
"width": 200,
"height": 580,
"content": "## 1. Configure once\nSet every variable here \u2014 business, topic, language, video length, aspect ratio and your Telegram chat ID. No need to open the other nodes."
},
"typeVersion": 1
},
{
"id": "e631f9cc-4e01-42d3-8b0e-074b18f62f98",
"name": "Section 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1152,
208
],
"parameters": {
"color": 7,
"width": 560,
"height": 600,
"content": "## 2. Research + write\nPerplexity finds a current, relevant angle and GPT writes the caption, hashtags and a cinematic video prompt (structured output)."
},
"typeVersion": 1
},
{
"id": "e7ec0a08-b140-4b21-8fe7-13d6f838fd40",
"name": "Section 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1728,
224
],
"parameters": {
"color": 7,
"width": 1060,
"height": 360,
"content": "## 3. Generate the video\nAtlasCloud Seedance 2.0 renders a short vertical clip. The Wait \u2192 status \u2192 IF loop polls until it is ready. Select the AtlasCloud API credential on both HTTP nodes."
},
"typeVersion": 1
},
{
"id": "7589159e-f65e-45d0-8378-45a019dadc48",
"name": "Section 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2784,
48
],
"parameters": {
"color": 7,
"width": 560,
"height": 900,
"content": "## 4. Publish everywhere\nBlotato posts the finished video to TikTok, YouTube, Instagram and Facebook. Pick your account on each node. A Telegram preview is sent to you."
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"availableInMCP": true,
"executionOrder": "v1"
},
"versionId": "7153b72a-0f50-4fb0-9d60-ab1fe3798f2f",
"nodeGroups": [],
"connections": {
"OpenAI model": {
"ai_languageModel": [
[
{
"node": "Write caption and video prompt",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Prepare post": {
"main": [
[
{
"node": "Post to TikTok",
"type": "main",
"index": 0
},
{
"node": "Post to YouTube",
"type": "main",
"index": 0
},
{
"node": "Post to Instagram",
"type": "main",
"index": 0
},
{
"node": "Post to Facebook",
"type": "main",
"index": 0
},
{
"node": "Send Telegram preview",
"type": "main",
"index": 0
}
]
]
},
"Run manually": {
"main": [
[
{
"node": "Configuration",
"type": "main",
"index": 0
}
]
]
},
"Video ready?": {
"main": [
[
{
"node": "Prepare post",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for render",
"type": "main",
"index": 0
}
]
]
},
"Web research": {
"ai_tool": [
[
{
"node": "Write caption and video prompt",
"type": "ai_tool",
"index": 0
}
]
]
},
"Configuration": {
"main": [
[
{
"node": "Write caption and video prompt",
"type": "main",
"index": 0
}
]
]
},
"Every morning": {
"main": [
[
{
"node": "Configuration",
"type": "main",
"index": 0
}
]
]
},
"Generate video": {
"main": [
[
{
"node": "Wait for render",
"type": "main",
"index": 0
}
]
]
},
"Wait for render": {
"main": [
[
{
"node": "Get render status",
"type": "main",
"index": 0
}
]
]
},
"Get render status": {
"main": [
[
{
"node": "Video ready?",
"type": "main",
"index": 0
}
]
]
},
"Structured output": {
"ai_outputParser": [
[
{
"node": "Write caption and video prompt",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Write caption and video prompt": {
"main": [
[
{
"node": "Generate video",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
blotatoApihttpHeaderAuthopenAiApiperplexityApitelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow runs daily (or manually) to research an auto-service topic with Perplexity, generate a caption and text-to-video prompt with OpenAI, render an AI video via AtlasCloud, then publish it to TikTok, YouTube, Instagram, and Facebook through Blotato while sending a…
Source: https://n8n.io/workflows/17060/ — 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.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste
💥 Automate video ads with NanoBanana, Seedream 4, ChatGPT Image and Veo 3 - VIDE. Uses telegram, telegramTrigger, googleDrive, agent. Event-driven trigger; 63 nodes.
💥 Automate video ads with NanoBanana, Seedream 4, ChatGPT Image and Veo 3 - VIDE. Uses telegram, telegramTrigger, googleDrive, agent. Event-driven trigger; 63 nodes.
📄 Documentation: Notion Guide