Publier automatiquement des publications carrousel Instagram avec Blotato + GPT-4.1
Ceci est uncontenant 17 nœuds.Utilise principalement des nœuds comme If, Set, Wait, Agent, ScheduleTrigger. Créer et publier automatiquement des carrousels Instagram avec GPT-4.1 et Blotato
- •Clé API OpenAI
Nœuds utilisés (17)
Catégorie
{
"id": "OGnTnfFq2fjXQchR",
"meta": {
"instanceId": "a287613f1596da776459594685fbf4e2b4a12124f80ab8c8772f5e37bff103ae",
"templateCredsSetupCompleted": true
},
"name": "Automated Instagram Carousel Post with Blotato + Gpt 4.1",
"tags": [],
"nodes": [
{
"id": "b5cad4b8-c263-4b98-8998-dd2365e2a92f",
"name": "Note adhésive10",
"type": "n8n-nodes-base.stickyNote",
"position": [
2544,
0
],
"parameters": {
"color": 3,
"width": 368,
"height": 272,
"content": "# Post Instagram"
},
"typeVersion": 1
},
{
"id": "5c7e311a-144c-4c28-a710-31f46d99c240",
"name": "Note adhésive12",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
0
],
"parameters": {
"color": 3,
"width": 976,
"height": 564,
"content": "# Create Instagram Carousel via ChatGPT & Blotato"
},
"typeVersion": 1
},
{
"id": "544eb9d9-348a-42a8-9b8a-d04849e85802",
"name": "Instagram [BLOTATO]",
"type": "@blotato/n8n-nodes-blotato.blotato",
"onError": "continueErrorOutput",
"maxTries": 2,
"position": [
2672,
80
],
"parameters": {
"options": {},
"accountId": {
"__rl": true,
"mode": "list",
"value": ""
},
"postContentText": "={{ $('AI Agent Carousel Maker').item.json.output.caption }}",
"postContentMediaUrls": "={{ $('Get carousel').item.json.item.imageUrls.map(url => url) }}\n"
},
"credentials": {
"blotatoApi": {
"id": "SWAuDTT3KV2SbR1P",
"name": "temp"
}
},
"retryOnFail": true,
"typeVersion": 2,
"waitBetweenTries": 5000
},
{
"id": "caf985d7-e625-4d7d-8849-3f03ca94ab54",
"name": "Obtenir carrousel",
"type": "@blotato/n8n-nodes-blotato.blotato",
"position": [
2160,
144
],
"parameters": {
"videoId": "={{ $json.output.id }}",
"resource": "video",
"operation": "get"
},
"credentials": {
"blotatoApi": {
"id": "SWAuDTT3KV2SbR1P",
"name": "temp"
}
},
"typeVersion": 2
},
{
"id": "033bbb48-1143-4075-ac9f-055a6bea85ef",
"name": "Attente",
"type": "n8n-nodes-base.wait",
"position": [
1968,
160
],
"webhookId": "cc59ec13-c7ae-49b5-b7ad-711079e3121e",
"parameters": {
"unit": "minutes",
"amount": 3
},
"typeVersion": 1.1,
"alwaysOutputData": false
},
{
"id": "748c99be-4b4d-42b8-a05c-1ea933d3eb7b",
"name": "Agent IA Créateur de carrousels",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1248,
160
],
"parameters": {
"text": "={{ $json.output }}",
"options": {
"systemMessage": "=# TASK\nYou are a direct-response copywriter specialized in short-form content like Alex Hormozi. \nYour task is to create an Instagram carousel that educates and grabs attention fast. \nThe first slide must always be a HOOK short, bold, and curiosity-driven.\nNext slides should deliver valuable insights related to the topic with simple, high-impact language.\nThe final slide should include a short CTA (example: “Follow for more AI automation ideas”).\n\n# STRUCTURE\nYou will output a list of carousel texts (each representing one slide). \nEach slide should have 1–2 short sentences only. DO NOT ADD THE TITLE INSIDE THE CONTENT\n\n# REQUIREMENTS\n– Use strong, emotional, or benefit-driven language. \n– Avoid generic or vague ideas. \n– It must be scroll-stopping, controversial, or create “fear of missing out”. \n– Don’t use quotation marks in your output.\n- Don't add the title inside content\n- Do not include the title or slide numbers inside the content.\n- No Emojis\n\n# STYLE\n- Humanize\n– Write like a founder who’s confident and tactical.\n– Use bold, short, no-fluff lines.\n– Avoid hashtags or emojis unless they add emphasis.\n– Each carousel should feel like “value + punchline”.\n\n# OUTPUT\nYou SHOULD always output the following format, where `id` contains the video id returned by the tool call. Leave `id` as an empty string \"\" if you did not make a carousel:\n\nAlways respond in the following structured JSON:\n{\n\t\"output\": \"Output from AI\",\n \"caption\": \"Long carousel caption, explain each tools detaily\",\n \"title\": \"Short carousel title, 8 words max\",\n\t\"id\": \"\"\n}"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "f602a797-2e83-44ce-b8ea-ec6d76b58ad3",
"name": "Cartes de tweet monochromes simples",
"type": "@blotato/n8n-nodes-blotato.blotatoTool",
"position": [
1440,
384
],
"parameters": {
"resource": "video",
"templateId": {
"__rl": true,
"mode": "list",
"value": "/base/v2/tweet-card/ba413be6-a840-4e60-8fd6-0066d3b427df/v1",
"cachedResultName": "Twitter/X style quote cards with minimal style"
},
"templateInputs": {
"value": {
"theme": "dark",
"handle": "Marth",
"quotes": "={{ $fromAI('Quotes__e_g____item_1____item_2___', ``, 'string').split(/\\n|\\|/).map(s => s.trim()).filter(Boolean) }}",
"verified": true,
"authorName": "Marthe ",
"aspectRatio": "4:5",
"profileImage": "https://media.licdn.com/dms/image/v2/D4D03AQG_IUb08UaJxQ/profile-displayphoto-shrink_800_800/B4DZZoORRbGgAg-/0/1745505294351?e=1762992000&v=beta&t=ly4ze3F2Kp2Jewg8zHA9cl-um7bV8TT_GHteCbnpxMw"
},
"schema": [
{
"id": "quotes",
"type": "string",
"display": true,
"required": false,
"displayName": "Quotes (e.g. [\"item 1\", \"item 2\"])",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "authorName",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "handle",
"type": "string",
"display": true,
"required": false,
"displayName": "Social Media Handle",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "profileImage",
"type": "string",
"display": true,
"required": false,
"displayName": "Profile Photo URL (publicly accessible URL)",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "verified",
"type": "boolean",
"display": true,
"required": false,
"displayName": "Show Verified Badge",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "theme",
"type": "options",
"display": true,
"options": [
{
"name": "Dark",
"value": "dark"
},
{
"name": "Light",
"value": "light"
}
],
"removed": false,
"required": false,
"displayName": "Theme",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "aspectRatio",
"type": "options",
"display": true,
"options": [
{
"name": "4:5",
"value": "4:5"
},
{
"name": "1:1",
"value": "1:1"
},
{
"name": "9:16",
"value": "9:16"
}
],
"required": false,
"displayName": "Aspect Ratio",
"defaultMatch": false,
"canBeUsedToMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"credentials": {
"blotatoApi": {
"id": "SWAuDTT3KV2SbR1P",
"name": "temp"
}
},
"typeVersion": 2
},
{
"id": "6790044a-6a38-488a-8a08-0d5fb3515115",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
1888,
0
],
"parameters": {
"color": 3,
"width": 624,
"height": 436,
"content": "# Get Instagram Carousel\n\n- "
},
"typeVersion": 1
},
{
"id": "d7e5ff7e-9242-4fe1-86f2-5db8ca102e1c",
"name": "Si carrousel prêt",
"type": "n8n-nodes-base.if",
"position": [
2336,
144
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "e511deb8-8e4c-45db-aa35-18f43a0552b6",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Get carousel').item.json.item.status }}",
"rightValue": "done"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "63f32450-86dd-4f49-992f-b203552b4569",
"name": "Note adhésive13",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"color": 5,
"width": 848,
"height": 404,
"content": "# Topic"
},
"typeVersion": 1
},
{
"id": "a3a667c4-ec35-4232-8ed4-24e82fd2b329",
"name": "Analyseur de sortie structurée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1616,
384
],
"parameters": {
"jsonSchemaExample": "{\n\t\"output\": \"Output from AI\",\n \"caption\": \"Long carousel caption, explain each detaily with list format\",\n \"title\": \"Short carousel title, 8 words max\",\n\t\"id\": \"\"\n}"
},
"typeVersion": 1.3
},
{
"id": "286cd2c1-f3c7-40c4-9412-1f55bbd51235",
"name": "Sujet",
"type": "n8n-nodes-base.set",
"position": [
320,
160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "410749fa-a689-477d-80fd-17891e1e9ba0",
"name": "topic",
"type": "string",
"value": "=Top ai tools for finance"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0b9baedd-475a-49b7-886f-0894181730e5",
"name": "OpenAI Modèle de chat",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1232,
384
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "WbMi3ZLLBnECFAAV",
"name": "temp"
}
},
"typeVersion": 1.2
},
{
"id": "d421fa21-b1d5-41fb-999c-af943fa5a3f1",
"name": "Déclencheur programmé",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
80,
160
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "af73bc8b-3dcb-4947-8a5c-7d8574b85d75",
"name": "Sujet1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
528,
160
],
"parameters": {
"text": "={{ $json.topic }}",
"options": {
"systemMessage": "=# ROLE\nYou are a direct-response copywriter who writes viral short hooks for social media carousels, like Alex Hormozi and Dan Koe.\n\n# TASK\nYour job is to generate 1 short, powerful topic idea for an Instagram carousel. \nIt must sound like a statement or bold claim that immediately grabs attention and curiosity. \n\n# REQUIREMENTS\n– Maximum 6 words.\n– Use strong, emotional, or benefit-driven language. \n– Avoid generic or vague ideas. \n– It must be scroll-stopping, controversial, or create “fear of missing out”. \n– Don’t use quotation marks in your output.\n\n# EXAMPLES\n\"Top 5 AI to double your sales\", \n\"Stop hiring customer service, this AI works 10x faster\", \n\"Why your business will die without automation\", \n\"How one AI replaces your full marketing team\", \n\"This workflow saved me 20 hours weekly\"\n\n# OUTPUT\nOnly output the topic line, nothing else.\n"
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "fbf7238e-94c4-44f3-aa43-2a921f613514",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1888,
624
],
"parameters": {
"width": 1232,
"height": 800,
"content": "@[youtube](5P_4QnRLYEQ)"
},
"typeVersion": 1
},
{
"id": "d480621a-1eb4-4fdf-99a9-7da2eb2bfc22",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
624
],
"parameters": {
"color": 4,
"width": 1824,
"height": 1536,
"content": "# n8n Workflow Note: Automated Instagram Carousel Post (Blotato + GPT-4.1)\n\n## 🎯 Problem\n\nCreating engaging and structured visual content, such as an **Instagram Carousel**, requires significant time and manual effort for:\n1. Finding appealing ideas or topics that act as a **viral hook**.\n2. Creating text for each slide with a consistent, punchy, and **engaging style**.\n3. Manually designing the graphics for every slide.\n4. Writing detailed captions and an effective **Call-to-Action (CTA)**.\n5. The manual process of posting the content to social media.\n\n## 💡 Solution\n\nAutomate the entire **Instagram Carousel** creation and posting process using a combination of **n8n, an AI Agent (GPT-4.1),** and **Blotato** as the visual creation tool.\n\nThis workflow automatically performs the following steps:\n1. Generates a **scroll-stopping topic idea** from the initial input topic.\n2. Uses the **AI Agent** (acting as an Alex Hormozi/Dan Koe-style copywriter) to create the multi-slide content (text, caption, and title).\n3. Sends the generated text to **Blotato** to automatically render a series of Carousel images.\n4. Waits for the images to be completed.\n5. Automatically posts the final Carousel and its accompanying caption to Instagram using the **Blotato** Instagram node.\n\n## 🔭 Scope\n\nThis workflow covers:\n* **Input/Trigger:** A recurring schedule set by the **Schedule Trigger** node.\n* **Idea Generation:** Generates a captivating title and content hook using a **LangChain Agent** with OpenAI.\n* **Text Content Creation:** Generates text for each slide, the carousel title, and a long, detailed caption.\n* **Visual Creation:** Uses the **Blotato Tool** (\"Simple tweet cards monocolor\") to render the text into a series of Carousel images (set to the **4:5** aspect ratio).\n* **Status Check:** Employs the **Wait** and **If** nodes to ensure the Carousel images in Blotato have a status of `done` before proceeding to post.\n* **Posting:** Automatic posting to the connected Instagram account via the **Blotato** Instagram node.\n\n## 👤 For Who\n\nThis workflow is perfect for:\n* **Social Media Managers** or **Content Creators** who need to consistently increase the volume of high-quality, high-impact visual content.\n* **Small and Medium Enterprises (SMEs)**, especially those in *Coaching, Consulting, Digital Marketing,* or *SaaS* that rely on fast, educational, or inspirational content.\n* **AI Agent Developers** (like yourself) looking to build and demonstrate a powerful, end-to-end marketing content automation solution with n8n.\n\n## 🛠️ How to Set Up\n\nTo successfully run this workflow, you need valid credentials and specific configurations in several nodes:\n\n## 1. Credentials\n\nEnsure you have valid credentials set up in n8n for:\n* **OpenAI API:** To connect to the **OpenAI Chat Model** node (required by both AI Agents).\n* **Blotato API:** To connect to all **Blotato** nodes (`Simple tweet cards monocolor`, `Get carousel`, `Instagram [BLOTATO]`).\n\n## 2. Key Node Configuration\n\n| Node | Parameter to Note | Note |\n| :--- | :--- | :--- |\n| **Schedule Trigger** | `Rule` | Set the desired posting frequency (e.g., daily, weekly). |\n| **Topic** | `topic` | Replace the current expression value `\"=Top ai tools for finance\"` with your default or desired initial topic. |\n| **OpenAI Chat Model** | `Model` | Currently set to `gpt-4.1-mini`. Adjust this to another model (e.g., `gpt-4o` or `gpt-3.5-turbo`) based on your performance and cost requirements. |\n| **AI Agent Carousel Maker** | `System Message` | Review and adjust the **# STRUCTURE**, **# REQUIREMENTS**, and **# STYLE** sections in the AI Agent's *System Message* if you need to refine the persona, writing style, or output format. |\n| **Simple tweet cards monocolor (Blotato Tool)**| `templateInputs` | Adjust `authorName`, `handle`, and `profileImage` to match your brand's or personal account details for personalized visuals. |\n| **Wait** | `Amount` & `Unit` | The current wait time is set to **3 minutes** to allow Blotato to finish rendering the Carousel. Adjust only if you observe rendering times are consistently faster or slower. |\n| **Instagram [BLOTATO]** | `accountId` | Select the specific Instagram account that is connected via your Blotato credentials. |"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "1c1edaf6-8732-495e-bdae-68ac6ffc5062",
"connections": {
"033bbb48-1143-4075-ac9f-055a6bea85ef": {
"main": [
[
{
"node": "caf985d7-e625-4d7d-8849-3f03ca94ab54",
"type": "main",
"index": 0
}
]
]
},
"286cd2c1-f3c7-40c4-9412-1f55bbd51235": {
"main": [
[
{
"node": "af73bc8b-3dcb-4947-8a5c-7d8574b85d75",
"type": "main",
"index": 0
}
]
]
},
"af73bc8b-3dcb-4947-8a5c-7d8574b85d75": {
"main": [
[
{
"node": "748c99be-4b4d-42b8-a05c-1ea933d3eb7b",
"type": "main",
"index": 0
}
]
]
},
"caf985d7-e625-4d7d-8849-3f03ca94ab54": {
"main": [
[
{
"node": "d7e5ff7e-9242-4fe1-86f2-5db8ca102e1c",
"type": "main",
"index": 0
}
]
]
},
"d421fa21-b1d5-41fb-999c-af943fa5a3f1": {
"main": [
[
{
"node": "286cd2c1-f3c7-40c4-9412-1f55bbd51235",
"type": "main",
"index": 0
}
]
]
},
"d7e5ff7e-9242-4fe1-86f2-5db8ca102e1c": {
"main": [
[
{
"node": "544eb9d9-348a-42a8-9b8a-d04849e85802",
"type": "main",
"index": 0
}
],
[
{
"node": "033bbb48-1143-4075-ac9f-055a6bea85ef",
"type": "main",
"index": 0
}
]
]
},
"0b9baedd-475a-49b7-886f-0894181730e5": {
"ai_languageModel": [
[
{
"node": "748c99be-4b4d-42b8-a05c-1ea933d3eb7b",
"type": "ai_languageModel",
"index": 0
},
{
"node": "af73bc8b-3dcb-4947-8a5c-7d8574b85d75",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"748c99be-4b4d-42b8-a05c-1ea933d3eb7b": {
"main": [
[
{
"node": "033bbb48-1143-4075-ac9f-055a6bea85ef",
"type": "main",
"index": 0
}
]
]
},
"a3a667c4-ec35-4232-8ed4-24e82fd2b329": {
"ai_outputParser": [
[
{
"node": "748c99be-4b4d-42b8-a05c-1ea933d3eb7b",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"f602a797-2e83-44ce-b8ea-ec6d76b58ad3": {
"ai_tool": [
[
{
"node": "748c99be-4b4d-42b8-a05c-1ea933d3eb7b",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Marth
@marthSimplifying Business with Smart Automation. I create and share user-friendly, highly efficient n8n workflow templates for SMEs, focusing on digital marketing, sales, and operational excellence. Get ready to automate, innovate, and elevate your business. Connect me on Linkedin for custom solutions.
Partager ce workflow