Générer des publications LinkedIn à partir de pages web v5 (révisé)
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 25 nœuds.Utilise principalement des nœuds comme Set, Slack, Airtop, FormTrigger, ExecuteWorkflow. Générer des publications LinkedIn et images IA à partir de pages web avec Airtop et GPT-4
- •Token Bot Slack ou URL Webhook
- •Clé API OpenAI
Nœuds utilisés (25)
Catégorie
{
"id": "9yTau3SmI0UCovxq",
"meta": {
"instanceId": "28a947b92b197fc2524eaba16e57560338657b2b0b5796300b2f1cedc1d0d355",
"templateCredsSetupCompleted": true
},
"name": "Generate Linekdin Post from Web Page v5 (revisions)",
"tags": [],
"nodes": [
{
"id": "e790b122-c9ca-421a-8001-8eaa4e315e85",
"name": "À la soumission du formulaire",
"type": "n8n-nodes-base.formTrigger",
"position": [
-4280,
1040
],
"webhookId": "d1b457e1-b266-4102-b77c-6610da4e72bb",
"parameters": {
"options": {},
"formTitle": "LinkedIn Post Generator",
"formFields": {
"values": [
{
"fieldLabel": "Page URL",
"placeholder": "https://www.airtop.ai/automations/ai-web-agent-n8n",
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Instructions"
}
]
},
"formDescription": "Fill out these fields and you'll have a full LinkedIn post ready to go in a minute. "
},
"typeVersion": 2.2
},
{
"id": "3a34d1e6-85c9-4ae2-924d-0883f8055bc9",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4020,
820
],
"parameters": {
"width": 2040,
"height": 480,
"content": "# Content Generation & Revisions"
},
"typeVersion": 1
},
{
"id": "1bbae834-8dc7-4a55-a0f5-4a85630de0f2",
"name": "Note adhésive 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1920,
820
],
"parameters": {
"color": 3,
"width": 1640,
"height": 480,
"content": "# Image Generation & Revisions\n"
},
"typeVersion": 1
},
{
"id": "eda10c0b-00e9-459c-a124-b160f246d3c8",
"name": "Note adhésive 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4500,
820
],
"parameters": {
"color": 6,
"width": 440,
"height": 480,
"content": "# To generate post and visual - start here!"
},
"typeVersion": 1
},
{
"id": "91ea946a-30a8-4d0f-958b-4a1417295363",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-2560,
1100
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1",
"cachedResultName": "gpt-4.1"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "S7GD73j3sNZEA58V",
"name": "OpenAi account 3"
}
},
"typeVersion": 1.2
},
{
"id": "e4e324b5-8e0d-41c8-980b-3490501aead5",
"name": "Définir le post",
"type": "n8n-nodes-base.set",
"position": [
-3160,
920
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "346bd2cf-743b-4b13-a34e-528a95e1a617",
"name": "URL",
"type": "string",
"value": "={{ $('Set Params').item.json.URL }}"
},
{
"id": "8430fd16-f865-4b37-b7bc-7e910badbb19",
"name": "Instructions",
"type": "string",
"value": "= - "
},
{
"id": "35a9e113-ea92-438d-ac25-41ed9a74071f",
"name": "Post",
"type": "string",
"value": "={{ $json.output }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b6435124-f7d0-466c-9f11-908fddabd9b8",
"name": "Définir les paramètres",
"type": "n8n-nodes-base.set",
"position": [
-3760,
1040
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "346bd2cf-743b-4b13-a34e-528a95e1a617",
"name": "URL",
"type": "string",
"value": "={{ $('On form submission').item.json['Page URL'] }}"
},
{
"id": "8430fd16-f865-4b37-b7bc-7e910badbb19",
"name": "Instructions",
"type": "string",
"value": "={{ $('On form submission').item.json.Instructions }}"
},
{
"id": "35a9e113-ea92-438d-ac25-41ed9a74071f",
"name": "Post",
"type": "string",
"value": "= - "
},
{
"id": "cd1fac8d-6b57-4072-966f-67e3cf1b9cc4",
"name": "=Webpage_content",
"type": "string",
"value": "={{ $json.data.modelResponse.scrapedContent.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b36ddef0-15fe-47b3-ae0b-cf75a7e88695",
"name": "Définir le post 1",
"type": "n8n-nodes-base.set",
"position": [
-2280,
580
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "346bd2cf-743b-4b13-a34e-528a95e1a617",
"name": "URL",
"type": "string",
"value": "={{ $('Set Params').item.json.URL }}"
},
{
"id": "8430fd16-f865-4b37-b7bc-7e910badbb19",
"name": "Instructions",
"type": "string",
"value": "={{ $json.data.text }}"
},
{
"id": "35a9e113-ea92-438d-ac25-41ed9a74071f",
"name": "Post",
"type": "string",
"value": "={{ $('Set Post').item.json.Post }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "77eb23ab-77e5-4ccb-bb51-73afc935f856",
"name": "Générateur de prompt d'image",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-1660,
920
],
"parameters": {
"text": "=# Overview\nYou are an AI agent that transforms LinkedIn posts into visual prompt descriptions for generating graphic marketing materials. These visuals are designed to be paired with the post on LinkedIn, helping communicate the message in a visually engaging, brand-aligned way.\n\n## Objective:\n- Read and analyze the given LinkedIn post.\n- If Image Prompt and User Instructions are provided. Follow the user instructions closely and modify the image prompt based on those instructions\n- Identify the main message, insight, or takeaway from the post.\n- Create a clear and compelling graphic prompt that can be used with a text-to-image generator.\n- The result should be a marketing-style graphic — not a literal scene or hyperrealistic photo — that:\n1) Visually supports or illustrates the key idea of the post\n2) Looks appropriate for use in a professional LinkedIn feed\n3) Feels polished, modern, and engaging\n4) Don't be salesy, Don't say things like \"Save hours weekly — Grab Your Free Template!”. be more technical, focus on how it works\n\n## Output Instructions:\n- Output only the final image prompt. Do not output quotation marks.\n- Do not repeat or rephrase the LinkedIn post.\n- Do not add any explanations or extra content — just the image prompt.\n- Never leave things blank like \"Header area reserved for customizable callout text\"\n- Output numeric stats when available in the original post\n\n## Style Guidelines:\n- Think like a brand designer or marketing creative.\n- Visuals may include: text, charts, icons, abstract shapes, overlays, modern illustrations, motion-like effects, bold typography elements (described, not rendered), or metaphorical concepts.\n- You can mention layout suggestions (e.g., \"split screen design,\" \"header with bold title and subtle background illustration\").\n- Assume the output will be generated using AI image tools — your prompt should guide those tools effectively.\n- When the post is a template giveaway, add small, gentle \"free template\"\nstamp\n\n## Example Prompt Format:\nA modern flat-style graphic showing a human brain connected to mechanical gears, representing the fusion of AI and automation. Minimalist background, soft gradients, clean sans-serif text placement space at the top.\n\n# LINKEDIN POST:\n{{ $json.Post }}\n\n# LATEST IMAGE PROMPT\n{{ $json.Image_prompt }}\n\n# USER IMAGE INSTRUCTIONS\n{{ $json.Image_user_instructions }}\n",
"prompt": "define",
"options": {},
"resource": "assistant",
"assistantId": {
"__rl": true,
"mode": "list",
"value": "asst_aYEHuzWeFxMBN2qu4FnXRsJ4",
"cachedResultName": "Social Media Writer"
}
},
"credentials": {
"openAiApi": {
"id": "G7GIqTr0ghwb5P24",
"name": "OpenAi Airtop Email Writer"
}
},
"typeVersion": 1.8
},
{
"id": "63b748f9-6884-4c37-97cf-00372a8b9653",
"name": "Définir le prompt d'image",
"type": "n8n-nodes-base.set",
"position": [
-1860,
920
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a4111b78-af26-41ca-8a0e-184ebabffe66",
"name": "Image_prompt",
"type": "string",
"value": " "
},
{
"id": "62a444c9-1400-4789-b2d0-a1daeb417e52",
"name": "Post",
"type": "string",
"value": "={{ $json.Post || $('Set Post').item.json.Post}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "51025a08-3034-435c-a3c5-0950cf540d17",
"name": "Vérifier les retours sur le texte du post",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"position": [
-2560,
920
],
"parameters": {
"options": {
"multiClass": false
},
"inputText": "={{ $json.data.text }}",
"categories": {
"categories": [
{
"category": "Edit",
"description": "The email has been reviewed, but the human requests modifications to the post text before it is sent like tweaks, removing parts, rewording, etc. This could include suggested edits, rewording, or major revisions to the post text. |Example phrases include:\"Can we tweak this part of the post?\"\"Needs some changes to this sentence.\"\"I’d like to reword the post.\"\"Not quite right—let’s revise the text.\"\"Can you adjust the text before sending?\"\"Don't mention Make in the text\"\"change the style of the writing\"\"tone of voice is not consistent with our branding\""
},
{
"category": "Approved",
"description": "The email has been reviewed and accepted as-is. The human explicitly or implicitly expresses approval, indicating that no changes are needed. |Example phrases include:\"Looks good.\"\"Go ahead and send it.\"\"This works for me.\"\"Approved.\"\"No changes needed.\"\"ok\""
},
{
"category": "Declined",
"description": "The email has been reviewed, but the human requests not to proceed with the post. |Example phrases include:\"Let's cancel this post.\"\"Don't post\""
}
]
}
},
"typeVersion": 1
},
{
"id": "b59b8989-1e22-4496-a2b9-1803897ba50e",
"name": "Vérifier les retours sur l'image",
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"position": [
-680,
920
],
"parameters": {
"options": {
"multiClass": false
},
"inputText": "={{ $json.data.text }}",
"categories": {
"categories": [
{
"category": "Edit",
"description": "The email has been reviewed, but the human requests modifications to the image prompt before it is sent like tweaks, removing parts, rewording, etc. This could include suggested edits, rewording, or major revisions to the image prompt. |Example phrases include:\"Can we tweak this part of the image?\"\"Needs some changes to the image.\"\"I’d like to reword the image prompt.\"\"Not quite right—let’s revise the visual.\"\"Can you adjust the picture before sending?\"\"Don't display logos in the image\"\"change the image style\"\"image is not consistent with our branding\""
},
{
"category": "Approved",
"description": "The email has been reviewed and accepted as-is. The human explicitly or implicitly expresses approval, indicating that no changes are needed. |Example phrases include:\"Looks good.\"\"Go ahead and send it.\"\"This works for me.\"\"Approved.\"\"No changes needed.\""
},
{
"category": "Declined",
"description": "The email has been reviewed, but the human requests not to proceed with the post. |Example phrases include:\"Let's cancel this post.\"\"Don't post\""
}
]
}
},
"typeVersion": 1
},
{
"id": "76323ea2-9c7a-41f7-a9a1-dd375dc3c373",
"name": "Définir le prompt d'image 1",
"type": "n8n-nodes-base.set",
"position": [
-1300,
920
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a4111b78-af26-41ca-8a0e-184ebabffe66",
"name": "Image_prompt",
"type": "string",
"value": "={{ $json.output }}"
},
{
"id": "5ed10820-68c9-41fd-9cc6-3f11df89ce7e",
"name": "Image_id",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ac381668-70d7-4cd1-9a71-8e0ac55a9f31",
"name": "Définir le prompt d'image 2",
"type": "n8n-nodes-base.set",
"position": [
-320,
600
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a4111b78-af26-41ca-8a0e-184ebabffe66",
"name": "Image_prompt",
"type": "string",
"value": "=ORIGINAL IMAGE PROMPT\n{{ $('Set Image Prompt1').item.json.Image_prompt }}\n\nUSER REQUESTED REVISION: \n{{ $json.data.text }}\n \n"
},
{
"id": "ef6ef374-4efd-4270-a856-2f4b64355909",
"name": "=Image_id",
"type": "string",
"value": "={{ $('Generate on-brand image').item.json.Unbranded_image_id[0] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "e1d23987-51d7-464b-ab1e-974a5ca5285c",
"name": "OpenAI Chat Model 1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-680,
1120
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1",
"cachedResultName": "gpt-4.1"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "S7GD73j3sNZEA58V",
"name": "OpenAi account 3"
}
},
"typeVersion": 1.2
},
{
"id": "2997f0cb-9554-4c8e-b68c-32add0a9624a",
"name": "Note adhésive 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
820
],
"parameters": {
"color": 4,
"width": 440,
"height": 480,
"content": "# Send Final Post and Visual"
},
"typeVersion": 1
},
{
"id": "6c0705d9-73a0-4e9c-b1b5-6dd1cdadf24b",
"name": "Note adhésive 7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1900,
280
],
"parameters": {
"color": 6,
"width": 440,
"height": 480,
"content": "# To generate just a branded visual - start here!"
},
"typeVersion": 1
},
{
"id": "54ccdc45-6790-4faa-bbc6-d1cc5299d521",
"name": "Note adhésive 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4500,
-480
],
"parameters": {
"color": 5,
"width": 1060,
"height": 1140,
"content": "README\n# Generate LinkedIn Posts from Any Webpage (With Visuals)\n## Use Case\nTurn any web page into a compelling LinkedIn post — complete with an AI-generated image. This automation is ideal for sharing content like blog posts, case studies, or product updates in a polished and engaging format.\n\n## What This Automation Does\nGiven a page URL and optional user instructions, this automation:\n- Scrapes the content of the webpage\n- Uses AI to write a clear, educational, and LinkedIn-optimized post\n- Generates a brand-aligned visual that matches the content\n- Sends both to Slack for review and approval\n- Handles feedback and revisions via Slack interactions\n\nInput:\n- **Page URL** — The link to the webpage (required)\n- **Instructions** — Optional notes on tone, emphasis, or format\n\nOutput:\n- LinkedIn post text\n- AI-generated visual prompt and image\n- Slack message with review/approval options\n\n## How It Works\n1. **Form Submission**: User inputs a web page and optional instructions.\n2. **Web Scraping**: Uses Airtop to extract page content.\n3. **Post Generation**: AI agent writes a post based on the page and instructions.\n4. **Visual Generation**: Another AI model creates an image prompt; this is sent to a sub-workflow for image rendering.\n5. **Slack Review Flow**:\n - Post and image sent to Slack for feedback\n - User can approve, request revisions, or decline\n - Revisions trigger reprocessing steps automatically\n6. **Final Post Delivery**: Approved post and image are sent back to Slack, ready to publish.\n\n## Setup Requirements\n1. Airtop API key\n2. OpenAI credentials for post and image prompt generation\n3. Slack OAuth integration with a review channel\n4. A sub-workflow for branded image generation\n\n## Next Steps\n- **Post Directly**: Add LinkedIn publishing to automate the full content workflow.\n- **Template Variations**: Offer post style presets (e.g., technical, story-driven, short-form).\n- **CRM Sync**: Save approved posts and stats in Airtable or Notion for team use.\n"
},
"typeVersion": 1
},
{
"id": "85fcea76-f016-49d2-97fa-d1d5a2652559",
"name": "Générer une image conforme à la marque",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
-1100,
920
],
"parameters": {
"mode": "each",
"options": {
"waitForSubWorkflow": true
},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "hYnqsBhAjnEFvKSk",
"cachedResultName": "AIRTOP — Generate and Edit On-Brand Images - V3"
},
"workflowInputs": {
"value": {
"Prompt": "={{ $json.Image_prompt }}",
"Image_drive_id": "={{ $json.Image_id }}"
},
"schema": [
{
"id": "Prompt",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Prompt",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Image_drive_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Image_drive_id",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Prompt"
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "79c5ba3a-573c-46cc-a592-4dc3c87abb37",
"name": "Version finale",
"type": "n8n-nodes-base.slack",
"position": [
-40,
1000
],
"webhookId": "845afb67-751d-47c3-9113-4d8897cf6c5e",
"parameters": {
"text": "=---------------- \nFINAL POST AND VISUAL\n\n{{ $('Set Image Prompt').item.json.Post }}\n\n{{ $('Generate on-brand image').item.json.Branded_view_url[0] }}\n\n",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08QUB9N5FX",
"cachedResultName": "gen-social-posts"
},
"otherOptions": {
"unfurl_links": false,
"unfurl_media": false
},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "SDxCef2uzWkOV8Q2",
"name": "Slack account 3"
}
},
"typeVersion": 2.3
},
{
"id": "ac358c88-f9a6-42c0-ba2b-8574a6551047",
"name": "Générer l'image",
"type": "n8n-nodes-base.formTrigger",
"position": [
-1780,
500
],
"webhookId": "5f900ce4-d362-4f5c-a7a4-db7812e66c27",
"parameters": {
"options": {},
"formTitle": "Generate Image",
"formFields": {
"values": [
{
"fieldType": "textarea",
"fieldLabel": "Post",
"requiredField": true
}
]
},
"formDescription": "Start here if you have the post and just want to generate and revise the visual for it"
},
"typeVersion": 2.2
},
{
"id": "2e528d15-8d3c-4c1f-884c-570b4133df11",
"name": "Révision humaine du texte",
"type": "n8n-nodes-base.slack",
"position": [
-2860,
920
],
"webhookId": "f14b7adf-f493-411f-a8ba-15a20856dac7",
"parameters": {
"select": "channel",
"message": "=----------------\n\n{{ $json.Post }}\n\n-----------------\nBased on: {{ $json.URL }}",
"options": {
"limitWaitTime": {
"values": {
"resumeUnit": "days",
"resumeAmount": 3
}
},
"appendAttribution": false,
"responseFormTitle": "Image Feedback"
},
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08QUB9N5FX",
"cachedResultName": "gen-social-posts"
},
"operation": "sendAndWait",
"responseType": "freeText",
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "SDxCef2uzWkOV8Q2",
"name": "Slack account 3"
}
},
"typeVersion": 2.3
},
{
"id": "1c1cffaf-0ba4-4ef9-9c4b-46cc509360ed",
"name": "Révision humaine du visuel",
"type": "n8n-nodes-base.slack",
"position": [
-880,
920
],
"webhookId": "d7954847-96c1-4fe9-87e3-76b0d7483882",
"parameters": {
"select": "channel",
"message": "=----------------\nPOST \n\n{{ $('Set Image Prompt').item.json.Post }}\n\nIMAGE PROMPT\n\n{{ $('Set Image Prompt1').item.json.Image_prompt }}\n\nIMAGE\n\n{{ $('Generate on-brand image').item.json.Branded_view_url[0] }}\n\n-----------------\n",
"options": {
"limitWaitTime": {
"values": {
"resumeUnit": "days",
"resumeAmount": 3
}
},
"appendAttribution": false,
"responseFormTitle": "Image Feedback"
},
"channelId": {
"__rl": true,
"mode": "list",
"value": "C08QUB9N5FX",
"cachedResultName": "gen-social-posts"
},
"operation": "sendAndWait",
"responseType": "freeText",
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "SDxCef2uzWkOV8Q2",
"name": "Slack account 3"
}
},
"typeVersion": 2.3
},
{
"id": "f2ac9ab6-d48e-494a-80c1-d79660fedf85",
"name": "Générer le texte du post",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-3540,
1040
],
"parameters": {
"text": "=Write a helpful educational, and engaging LinkedIn posts based on a webpage scraped content below or the Post text below and according to the instructions provided by the user.\n\nInstructions: {{ $json.Instructions }}\n\n{{ $json.Post }}\n\n{{ $json.Webpage_content }}",
"prompt": "define",
"options": {},
"resource": "assistant",
"assistantId": {
"__rl": true,
"mode": "list",
"value": "asst_aYEHuzWeFxMBN2qu4FnXRsJ4",
"cachedResultName": "Social Media Writer"
}
},
"credentials": {
"openAiApi": {
"id": "G7GIqTr0ghwb5P24",
"name": "OpenAi Airtop Email Writer"
}
},
"typeVersion": 1.8
},
{
"id": "32074dfb-45bd-4031-b00d-d8da9a95157c",
"name": "Obtenir la page",
"type": "n8n-nodes-base.airtop",
"position": [
-3980,
1040
],
"parameters": {
"url": "={{ $json['Page URL'] }}",
"resource": "extraction",
"operation": "scrape",
"sessionMode": "new"
},
"credentials": {
"airtopApi": {
"id": "Yi4YPNnovLVUjFn5",
"name": "Airtop Official Org"
}
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "aaba088d-91e4-4f56-bc20-7de6db109448",
"connections": {
"32074dfb-45bd-4031-b00d-d8da9a95157c": {
"main": [
[
{
"node": "b6435124-f7d0-466c-9f11-908fddabd9b8",
"type": "main",
"index": 0
}
]
]
},
"e4e324b5-8e0d-41c8-980b-3490501aead5": {
"main": [
[
{
"node": "2e528d15-8d3c-4c1f-884c-570b4133df11",
"type": "main",
"index": 0
}
]
]
},
"b36ddef0-15fe-47b3-ae0b-cf75a7e88695": {
"main": [
[
{
"node": "f2ac9ab6-d48e-494a-80c1-d79660fedf85",
"type": "main",
"index": 0
}
]
]
},
"b6435124-f7d0-466c-9f11-908fddabd9b8": {
"main": [
[
{
"node": "f2ac9ab6-d48e-494a-80c1-d79660fedf85",
"type": "main",
"index": 0
}
]
]
},
"ac358c88-f9a6-42c0-ba2b-8574a6551047": {
"main": [
[
{
"node": "63b748f9-6884-4c37-97cf-00372a8b9653",
"type": "main",
"index": 0
}
]
]
},
"63b748f9-6884-4c37-97cf-00372a8b9653": {
"main": [
[
{
"node": "77eb23ab-77e5-4ccb-bb51-73afc935f856",
"type": "main",
"index": 0
}
]
]
},
"91ea946a-30a8-4d0f-958b-4a1417295363": {
"ai_languageModel": [
[
{
"node": "51025a08-3034-435c-a3c5-0950cf540d17",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"76323ea2-9c7a-41f7-a9a1-dd375dc3c373": {
"main": [
[
{
"node": "85fcea76-f016-49d2-97fa-d1d5a2652559",
"type": "main",
"index": 0
}
]
]
},
"ac381668-70d7-4cd1-9a71-8e0ac55a9f31": {
"main": [
[
{
"node": "85fcea76-f016-49d2-97fa-d1d5a2652559",
"type": "main",
"index": 0
}
]
]
},
"f2ac9ab6-d48e-494a-80c1-d79660fedf85": {
"main": [
[
{
"node": "e4e324b5-8e0d-41c8-980b-3490501aead5",
"type": "main",
"index": 0
}
]
]
},
"e790b122-c9ca-421a-8001-8eaa4e315e85": {
"main": [
[
{
"node": "32074dfb-45bd-4031-b00d-d8da9a95157c",
"type": "main",
"index": 0
}
]
]
},
"e1d23987-51d7-464b-ab1e-974a5ca5285c": {
"ai_languageModel": [
[
{
"node": "b59b8989-1e22-4496-a2b9-1803897ba50e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"b59b8989-1e22-4496-a2b9-1803897ba50e": {
"main": [
[
{
"node": "ac381668-70d7-4cd1-9a71-8e0ac55a9f31",
"type": "main",
"index": 0
}
],
[
{
"node": "79c5ba3a-573c-46cc-a592-4dc3c87abb37",
"type": "main",
"index": 0
}
]
]
},
"1c1cffaf-0ba4-4ef9-9c4b-46cc509360ed": {
"main": [
[
{
"node": "b59b8989-1e22-4496-a2b9-1803897ba50e",
"type": "main",
"index": 0
}
]
]
},
"2e528d15-8d3c-4c1f-884c-570b4133df11": {
"main": [
[
{
"node": "51025a08-3034-435c-a3c5-0950cf540d17",
"type": "main",
"index": 0
}
]
]
},
"77eb23ab-77e5-4ccb-bb51-73afc935f856": {
"main": [
[
{
"node": "76323ea2-9c7a-41f7-a9a1-dd375dc3c373",
"type": "main",
"index": 0
}
]
]
},
"85fcea76-f016-49d2-97fa-d1d5a2652559": {
"main": [
[
{
"node": "1c1cffaf-0ba4-4ef9-9c4b-46cc509360ed",
"type": "main",
"index": 0
}
]
]
},
"51025a08-3034-435c-a3c5-0950cf540d17": {
"main": [
[
{
"node": "b36ddef0-15fe-47b3-ae0b-cf75a7e88695",
"type": "main",
"index": 0
}
],
[
{
"node": "63b748f9-6884-4c37-97cf-00372a8b9653",
"type": "main",
"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é - Création de contenu, IA Multimodale
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
Airtop
@cesar-at-airtopAirtop provides an intelligent browser automation API for AI agents, enabling seamless web interaction, including login, navigation, and data extraction from any site, even those with complex authentication - all with natural language instructions.In simple terms, we allow you to automate anything humans can do online, on any site with just words
Partager ce workflow