Augmentez le trafic de votre site
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 26 nœuds.Utilise principalement des nœuds comme Set, Code, Filter, SplitOut, Supabase. Claude AI、Scrapeless与竞品analysedeautomatisationSEOcontenu引擎
- •URL et Clé API Supabase
- •Informations d'identification Google Sheets API
- •Clé API Anthropic
Nœuds utilisés (26)
Catégorie
{
"id": "GplbQFeRZyqX2NA4",
"meta": {
"instanceId": "4adf7adc778b6fa0956bc5ac200936397d0bc0e9e60b5812a6244d74430458fb",
"templateCredsSetupCompleted": true
},
"name": "Supercharge Your Website Traffic",
"tags": [],
"nodes": [
{
"id": "fa5ca22d-770f-4c80-98eb-0405893dbd80",
"name": "When clicking ‘Execute workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
1740,
380
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c7054514-9c58-43da-bcab-c7995572c92e",
"name": "Google Trends",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
2200,
380
],
"parameters": {
"q": "={{ $json.seedKeyword }}",
"cat": "0",
"geo": "US",
"data_type": "related_queries",
"operation": "googleTrends"
},
"credentials": {
"scrapelessApi": {
"id": "p5QkIKUqqFeC0QkF",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "7c23aa97-3b95-48e1-8c69-347f13edec67",
"name": "Diviser",
"type": "n8n-nodes-base.splitOut",
"position": [
2400,
380
],
"parameters": {
"options": {},
"fieldToSplitOut": "related_queries.top"
},
"typeVersion": 1
},
{
"id": "390265e4-7a00-429b-8840-bc1c673f535c",
"name": "Analyseur de Sortie Structurée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3080,
580
],
"parameters": {
"jsonSchemaExample": "{\n \"data_interpretation\": \"Your English data interpretation text\",\n \"trends_status\": \"Steady rise\",\n \"recommended_priority\": \"P1 - Priority layout\",\n \"keyword\": \"current input search query word\"\n}"
},
"typeVersion": 1.3
},
{
"id": "71c12312-ddb4-4f28-9691-89ba6a0b400b",
"name": "Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1660,
280
],
"parameters": {
"width": 2000,
"height": 480,
"content": "# Phase 1: Hot Topics\n"
},
"typeVersion": 1
},
{
"id": "7a3428a3-40f5-4187-b87b-12660aea38bb",
"name": "Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1660,
800
],
"parameters": {
"color": 4,
"width": 2000,
"height": 520,
"content": "# Phase 2: Competitive content research"
},
"typeVersion": 1
},
{
"id": "7be65bd3-b577-457c-ac63-7673fb73981a",
"name": "Exploration",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
3060,
1000
],
"parameters": {
"url": "={{ $json.link }}",
"resource": "crawler",
"operation": "crawl"
},
"credentials": {
"scrapelessApi": {
"id": "p5QkIKUqqFeC0QkF",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "dfc7c9f9-2875-4fe8-9f08-0a10c49a1a52",
"name": "Diviser2",
"type": "n8n-nodes-base.splitOut",
"position": [
2880,
1000
],
"parameters": {
"options": {},
"fieldToSplitOut": "organic_results"
},
"typeVersion": 1
},
{
"id": "146cc5c4-95df-4afa-89ab-9d96f384e6a9",
"name": "Agréger",
"type": "n8n-nodes-base.aggregate",
"position": [
1740,
1520
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "markdown"
}
]
}
},
"typeVersion": 1
},
{
"id": "139aa86a-ea2d-462b-b35c-b1e09d7e87f2",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
2420,
1520
],
"parameters": {
"jsCode": "// Get the output item of the previous node (AI Agent)\n// We assume that the AI Agent only outputs one result\nconst item = $input.first();\nconst rawOutput = item.json.output;\n\ntry {\n// Step 1: Clean the string and extract the pure JSON part\n// AI output is usually wrapped with ```json ... ```\nconst startIndex = rawOutput.indexOf('{');\nconst endIndex = rawOutput.lastIndexOf('}');\n\n// Throw an error if no valid JSON brackets are found\nif (startIndex === -1 || endIndex === -1) {\nthrow new Error(\"No valid JSON object found in AI output.\");\n}\n\nconst jsonString = rawOutput.slice(startIndex, endIndex + 1);\n\n// Step 2: Parse the cleaned string into a real JavaScript object\nconst parsedData = JSON.parse(jsonString);\n\n// Steps 3: Build a new, flattened output object ready for storage\nconst result = {\ntitle: parsedData.title,\nslug: parsedData.slug,\nmeta_description: parsedData.meta_description,\n\n// Key step: Processing JSONB fields\n// Convert JS objects/arrays back to JSON strings for proper processing by the Supabase node\nstrategy_summary: JSON.stringify(parsedData.strategy_summary),\nbody: JSON.stringify(parsedData.article_body),\n};\n\n// Step 4: Return the processed result as the output of this node\n// n8n expects an array of objects to be returned\nreturn [{\njson: result\n}];\n\n} catch (error) {\n// If parsing fails, print an error to n8n's execution log and terminate the workflow\nconsole.error(\"JSON parsing failed:\", error);\nconsole.error(\"Raw AI output:\", rawOutput);\nthrow new Error(\"Unable to parse the JSON data returned by AI, please check the output of the AI Agent node.\");\n}"
},
"typeVersion": 2
},
{
"id": "696d1194-9763-4d90-bac8-f32c3733f786",
"name": "Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1660,
1360
],
"parameters": {
"color": 3,
"width": 2000,
"height": 520,
"content": "# Phase 3: Complete SEO article writing and store it in the database"
},
"typeVersion": 1
},
{
"id": "6046cbef-cda1-4e79-88bf-0e17a9d564d0",
"name": "Google Search",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
2500,
1000
],
"parameters": {
"q": "={{ $json['Related Keywords'] }}"
},
"credentials": {
"scrapelessApi": {
"id": "p5QkIKUqqFeC0QkF",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "de5767de-10d7-44f4-85f1-f3b61df78111",
"name": "Définir les mots-clés de départ",
"type": "n8n-nodes-base.set",
"position": [
1960,
380
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8eb6d611-0979-4ce4-aae6-22ae2098c1fe",
"name": "seedKeyword",
"type": "string",
"value": "Project Management"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2915ce0d-8006-45fb-9233-a77ee4202f35",
"name": "Google Trends-Obtenir les données de tendance",
"type": "n8n-nodes-scrapeless.scrapeless",
"position": [
2620,
380
],
"parameters": {
"q": "={{ $json.query }}",
"cat": "0",
"geo": "US",
"operation": "googleTrends"
},
"credentials": {
"scrapelessApi": {
"id": "p5QkIKUqqFeC0QkF",
"name": "Scrapeless account"
}
},
"typeVersion": 1
},
{
"id": "217812b3-ce4e-4fa6-9b31-86e789eb9bdd",
"name": "Agent IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2860,
380
],
"parameters": {
"text": "=The following are the keywords for the topic:` {{ $json.parameters.q }}`\ntrends data:\n```\n{{ $json.interest_over_time.toJsonString() }}\n```",
"options": {
"systemMessage": "=Context & Role\nYou are a professional SEO content strategist. Your primary task is to interpret time series data from Google Trends to evaluate the market trend of a given keyword and provide a clear recommendation on content creation priority.\n\nYou only need to make 5 requests!\n\n### Task\n\nBased on the user-provided input data (a JSON object containing Google Trends timeline_data), analyze the popularity trend and return a JSON object with three fields—data_interpretation, trend_status, recommended_priority—strictly and keyword following the specified output format. \n\nPay attention to the data source of this keyword and directly take this value {{ $json.parameters.q }}\n\n### Rules\n\nYou must follow the rules below to determine trend_status and recommended_priority:\n1. Analyze the timeline_data array:\n• Split the time-series data roughly into two halves.\n•Compare the average popularity value of the second half with that of the first half.\n2. Determine trend_status — You must choose one of the following:\n• Breakout: If the data shows a dramatic spike at the latest time point that is significantly higher than the average level.\n• Rising: If the average popularity in the second half is significantly higher than in the first half (e.g., more than 20% higher).\n• Stable: If the averages of both halves are close, or if the data exhibits a regular cyclical pattern without a clear long-term upward or downward trend.\n• Falling: If the average popularity in the second half is significantly lower than in the first half.\n3. Determine recommended_priority — You must map this directly from the trend_status:\n• If trend_status is Breakout, then recommended_priority is P0 - Immediate Action.\n• If trend_status is Rising, then recommended_priority is P1 - High Priority.\n• If trend_status is Stable, then recommended_priority is P2 - Moderate Priority.\n• If trend_status is Falling, then recommended_priority is P3 - Low Priority.\n4. Write data_interpretation:\n• Use 1–2 short sentences in English to summarize your observation of the trend. For example: “This keyword shows a clear weekly cycle with dips on weekends and rises on weekdays, but overall the trend remains stable.” or “The keyword’s popularity has been rising steadily over the past month, indicating strong growth potential.”\n\n### Output Format\n\nRespond with only the JSON object, no extra text, no markdown, no code block, and no explanation."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "fa7a38bb-54df-4ed1-b36b-258e915131da",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2800,
580
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-20250514",
"cachedResultName": "Claude Sonnet 4"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"id": "onfXB2Zg7nbhjSIe",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "ce2cabc1-a3a3-4ca2-a75a-50cc13a9c840",
"name": "Filtrer les sujets de priorité supérieure à P2",
"type": "n8n-nodes-base.filter",
"position": [
2280,
1000
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "81225d05-b95d-41ed-996c-2b2ec86d499b",
"operator": {
"type": "string",
"operation": "notContains"
},
"leftValue": "={{ $json.Level }}",
"rightValue": "=P3"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e5af529a-76dc-48f0-9e2b-b98d87f399b6",
"name": "Filtrer les TOP3 liens concurrents",
"type": "n8n-nodes-base.set",
"position": [
2700,
1000
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "eca6d648-6b06-4bf0-a139-6cb3d0344d15",
"name": "organic_results",
"type": "array",
"value": "={{ $json.organic_results.slice(0,3) }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "307c2432-0607-4c89-a502-07034e638744",
"name": "Extraire le contenu concurrent au format Markdown",
"type": "n8n-nodes-base.set",
"position": [
3280,
1000
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2e05ab20-a65b-4375-8745-0968069c603d",
"name": "markdown",
"type": "string",
"value": "={{ $json[0].markdown }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "7856b247-9bee-4a02-aa0c-f60f2ae4b942",
"name": "Rédacteur SEO Senior",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1980,
1520
],
"parameters": {
"text": "=# Role & Objective\nYou are a senior SEO content writer at a SaaS company focused on “project management software.” Your core task is to write a complete, high-quality, and publish-ready SEO-optimized article based on the provided context.\n\n# Context & Data\n- Target Keyword: {{ $json.markdown }}\n- Your SaaS Product Name: SaaS Product\n- Latest Trend Insight: \"{{ $json.markdown }}\"\n- Competitor 1 (Top-ranked full content): \n\"\"\"\n{{ $json.markdown[0] }}\n\"\"\"\n- Competitor 2 (Top-ranked full content): \n\"\"\"\n{{ $json.markdown[1] }}\n\"\"\"\n- Competitor 3 (Top-ranked full content): \n\"\"\"\n{{ $json.markdown[2] }}\n\"\"\"\n\n# Your Task\nPlease use all the above information to write a complete article. You must:\n1. Analyze the competitors’ content deeply, learn from their strengths, and identify opportunities for differentiation.\n2. Integrate the trend insight naturally into the article to enhance its relevance and timeliness.\n3. Write the full content directly—do not give bullet points or outlines. Output full paragraphs only.\n4. Follow the exact structure below and output a well-formed JSON object with no additional explanation or extra text.\n\nUse the following strict JSON output format:\n{\n \"title\": \"An eye-catching SEO title including the target keyword\",\n \"slug\": \"a-keyword-rich-and-user-friendly-url-slug\",\n \"meta_description\": \"A ~150 character meta description that includes the keyword and a call to action.\",\n \"strategy_summary\": {\n \"key_trend_insight\": \"Summarize the key trend insight used in the article.\",\n \"content_angle\": \"Explain the unique content angle this article takes.\"\n },\n \"article_body\": [\n {\n \"type\": \"H2\",\n \"title\": \"This is the first H2 heading of the article\",\n \"content\": \"A rich, fluent, and informative paragraph related to this H2. Each paragraph should be 150–200 words and offer valuable insights beyond surface-level content.\"\n },\n {\n \"type\": \"H2\",\n \"title\": \"This is the second H2 heading\",\n \"content\": \"Deep dive into this sub-topic. Use data, examples, and practical analysis to ensure content depth and value.\"\n },\n {\n \"type\": \"H3\",\n \"title\": \"This is an H3 heading that refines the H2 topic above\",\n \"content\": \"Provide detailed elaboration under this H3, maintaining relevance to the H2.\"\n },\n {\n \"type\": \"H2\",\n \"title\": \"This third H2 could focus on how your product solves the problem\",\n \"content\": \"Explain how [Your SaaS Product] helps users address the issue discussed above. This section should be persuasive and naturally lead the reader to take action.\"\n }\n ]\n}",
"options": {},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "158b1928-4b08-4168-a9c2-695e1c0af9c8",
"name": "Code1",
"type": "n8n-nodes-base.code",
"position": [
3180,
420
],
"parameters": {
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nconst level0 = []\nconst level1 = []\nconst level2 = []\nconst level3 = []\nfor (const item of $input.all()) {\n const itemData = item.json.output\n const level = itemData?.recommended_priority?.toLowerCase()\n if (level.includes('p0')) {\n level0.push(itemData)\n } else if (level.includes('p1')) {\n level1.push(itemData)\n } else if (level.includes('p2')) {\n level2.push(itemData)\n } else if (level.includes('p3')) {\n level3.push(itemData)\n } \n}\n\nreturn [\n ...level0,\n ...level1,\n ...level2,\n ...level3\n]"
},
"typeVersion": 2
},
{
"id": "76e1bcbc-f324-4e7c-a805-0496008c04dd",
"name": "Ajouter ou mettre à jour une ligne dans la feuille",
"type": "n8n-nodes-base.googleSheets",
"position": [
3380,
440
],
"parameters": {
"columns": {
"value": {
"Level": "={{ $json.recommended_priority }}",
"Reason": "={{ $json.data_interpretation }}",
"Seed Keywords": "={{ $('Set seed keywords').item.json.seedKeyword }}",
"Related Keywords": "={{ $json.keyword }}"
},
"schema": [
{
"id": "Seed Keywords",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Seed Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Related Keywords",
"type": "string",
"display": true,
"required": false,
"displayName": "Related Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reason",
"type": "string",
"display": true,
"required": false,
"displayName": "Reason",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Level",
"type": "string",
"display": true,
"required": false,
"displayName": "Level",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Seed Keywords"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1854560811,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Thz1cfH3CdsqvJmt5TiYSNtjLZm7lSLZ50MAYjU6Q94/edit#gid=1854560811",
"cachedResultName": "sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Thz1cfH3CdsqvJmt5TiYSNtjLZm7lSLZ50MAYjU6Q94",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Thz1cfH3CdsqvJmt5TiYSNtjLZm7lSLZ50MAYjU6Q94/edit?usp=drivesdk",
"cachedResultName": "Topics"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JEBWZDzEgpbO56NP",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.6
},
{
"id": "47792fbd-1b6d-419e-b12a-9cb2d67a2b12",
"name": "Diviser1",
"type": "n8n-nodes-base.splitOut",
"position": [
2060,
1000
],
"parameters": {
"include": "allOtherFields",
"options": {},
"fieldToSplitOut": "Level"
},
"typeVersion": 1
},
{
"id": "e3a45a94-01c9-4c89-90a2-34dcabf5ed53",
"name": "Obtenir une ou des lignes dans la feuille",
"type": "n8n-nodes-base.googleSheets",
"position": [
1840,
1000
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1854560811,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Thz1cfH3CdsqvJmt5TiYSNtjLZm7lSLZ50MAYjU6Q94/edit#gid=1854560811",
"cachedResultName": "sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1Thz1cfH3CdsqvJmt5TiYSNtjLZm7lSLZ50MAYjU6Q94",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1Thz1cfH3CdsqvJmt5TiYSNtjLZm7lSLZ50MAYjU6Q94/edit?usp=drivesdk",
"cachedResultName": "Topics"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "OV1bWpgbCPPtPJON",
"name": "Google Sheets account 4"
}
},
"typeVersion": 4.6
},
{
"id": "00843ad2-2209-4539-9e24-dfd980767b91",
"name": "Anthropic Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
1900,
1680
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-sonnet-4-20250514",
"cachedResultName": "Claude Sonnet 4"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"id": "onfXB2Zg7nbhjSIe",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "cbd7133f-f4a4-4a77-9712-9dc3b49e4ea4",
"name": "Créer une ligne",
"type": "n8n-nodes-base.supabase",
"position": [
2700,
1520
],
"parameters": {
"tableId": "seo_articles",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "title",
"fieldValue": "={{ $json.title }}"
},
{
"fieldId": "meta_description",
"fieldValue": "={{ $json.meta_description }}"
},
{
"fieldId": "body",
"fieldValue": "={{ $json.body }}"
},
{
"fieldId": "slug",
"fieldValue": "={{ $json.slug }}"
}
]
}
},
"credentials": {
"supabaseApi": {
"id": "JFpbUB03FPvtqgZC",
"name": "Supabase account 2"
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c6198706-263f-45c6-8b35-19b84353a8fe",
"connections": {
"139aa86a-ea2d-462b-b35c-b1e09d7e87f2": {
"main": [
[
{
"node": "cbd7133f-f4a4-4a77-9712-9dc3b49e4ea4",
"type": "main",
"index": 0
}
]
]
},
"158b1928-4b08-4168-a9c2-695e1c0af9c8": {
"main": [
[
{
"node": "76e1bcbc-f324-4e7c-a805-0496008c04dd",
"type": "main",
"index": 0
}
]
]
},
"7be65bd3-b577-457c-ac63-7673fb73981a": {
"main": [
[
{
"node": "307c2432-0607-4c89-a502-07034e638744",
"type": "main",
"index": 0
}
]
]
},
"217812b3-ce4e-4fa6-9b31-86e789eb9bdd": {
"main": [
[
{
"node": "158b1928-4b08-4168-a9c2-695e1c0af9c8",
"type": "main",
"index": 0
}
]
]
},
"146cc5c4-95df-4afa-89ab-9d96f384e6a9": {
"main": [
[
{
"node": "7856b247-9bee-4a02-aa0c-f60f2ae4b942",
"type": "main",
"index": 0
}
]
]
},
"7c23aa97-3b95-48e1-8c69-347f13edec67": {
"main": [
[
{
"node": "2915ce0d-8006-45fb-9233-a77ee4202f35",
"type": "main",
"index": 0
}
]
]
},
"47792fbd-1b6d-419e-b12a-9cb2d67a2b12": {
"main": [
[
{
"node": "ce2cabc1-a3a3-4ca2-a75a-50cc13a9c840",
"type": "main",
"index": 0
}
]
]
},
"dfc7c9f9-2875-4fe8-9f08-0a10c49a1a52": {
"main": [
[
{
"node": "7be65bd3-b577-457c-ac63-7673fb73981a",
"type": "main",
"index": 0
}
]
]
},
"6046cbef-cda1-4e79-88bf-0e17a9d564d0": {
"main": [
[
{
"node": "e5af529a-76dc-48f0-9e2b-b98d87f399b6",
"type": "main",
"index": 0
}
]
]
},
"c7054514-9c58-43da-bcab-c7995572c92e": {
"main": [
[
{
"node": "7c23aa97-3b95-48e1-8c69-347f13edec67",
"type": "main",
"index": 0
}
]
]
},
"de5767de-10d7-44f4-85f1-f3b61df78111": {
"main": [
[
{
"node": "c7054514-9c58-43da-bcab-c7995572c92e",
"type": "main",
"index": 0
}
]
]
},
"e3a45a94-01c9-4c89-90a2-34dcabf5ed53": {
"main": [
[
{
"node": "47792fbd-1b6d-419e-b12a-9cb2d67a2b12",
"type": "main",
"index": 0
}
]
]
},
"fa7a38bb-54df-4ed1-b36b-258e915131da": {
"ai_languageModel": [
[
{
"node": "217812b3-ce4e-4fa6-9b31-86e789eb9bdd",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"00843ad2-2209-4539-9e24-dfd980767b91": {
"ai_languageModel": [
[
{
"node": "7856b247-9bee-4a02-aa0c-f60f2ae4b942",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"390265e4-7a00-429b-8840-bc1c673f535c": {
"ai_outputParser": [
[
{
"node": "217812b3-ce4e-4fa6-9b31-86e789eb9bdd",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"7856b247-9bee-4a02-aa0c-f60f2ae4b942": {
"main": [
[
{
"node": "139aa86a-ea2d-462b-b35c-b1e09d7e87f2",
"type": "main",
"index": 0
}
]
]
},
"2915ce0d-8006-45fb-9233-a77ee4202f35": {
"main": [
[
{
"node": "217812b3-ce4e-4fa6-9b31-86e789eb9bdd",
"type": "main",
"index": 0
}
]
]
},
"e5af529a-76dc-48f0-9e2b-b98d87f399b6": {
"main": [
[
{
"node": "dfc7c9f9-2875-4fe8-9f08-0a10c49a1a52",
"type": "main",
"index": 0
}
]
]
},
"76e1bcbc-f324-4e7c-a805-0496008c04dd": {
"main": [
[]
]
},
"307c2432-0607-4c89-a502-07034e638744": {
"main": [
[
{
"node": "146cc5c4-95df-4afa-89ab-9d96f384e6a9",
"type": "main",
"index": 0
}
]
]
},
"fa5ca22d-770f-4c80-98eb-0405893dbd80": {
"main": [
[
{
"node": "de5767de-10d7-44f4-85f1-f3b61df78111",
"type": "main",
"index": 0
},
{
"node": "e3a45a94-01c9-4c89-90a2-34dcabf5ed53",
"type": "main",
"index": 0
}
]
]
},
"ce2cabc1-a3a3-4ca2-a75a-50cc13a9c840": {
"main": [
[
{
"node": "6046cbef-cda1-4e79-88bf-0e17a9d564d0",
"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
scrapeless official
@scrapelessofficialPartager ce workflow