Automatización de SEO de YouTube 1
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 19 nodos.Utiliza principalmente nodos como If, Set, Code, HttpRequest, GoogleSheets. Usar GPT-4o y Runway para generar contenido SEO y miniaturas para YouTube a partir de guiones de video
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
- •Clave de API de OpenAI
Nodos utilizados (19)
Categoría
{
"id": "D0sZR93pIfNqpzPN",
"meta": {
"instanceId": "b575ae39acc98e53d75e50d1b5147e8b0922704c4aeb3230092d8e2a78247bc3",
"templateCredsSetupCompleted": true
},
"name": "Youtube SEO Automation 1",
"tags": [],
"nodes": [
{
"id": "f268ec0d-7715-41bd-9e1a-7cc9285c5ec9",
"name": "Google Activador de Hojas de Cálculo",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-2976,
256
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit?usp=drivesdk",
"cachedResultName": "Youtube Automation"
}
},
"typeVersion": 1
},
{
"id": "c27724ad-9f25-4e49-b9fb-2ca2bfa3e778",
"name": "Sin operación, no hacer nada",
"type": "n8n-nodes-base.noOp",
"position": [
-2528,
416
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f92a73f2-3901-4576-b1e8-9836672a5977",
"name": "Si el guion en inglés está disponible o no",
"type": "n8n-nodes-base.if",
"position": [
-2768,
256
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9b712734-6cd3-43d3-911c-bca7ffa53263",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json['Roman Hindi Script'] }}",
"rightValue": ""
},
{
"id": "18425a22-c745-45af-a354-d4bf43a73103",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json['English script'] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "064a7b70-e5a9-4e9a-b7ac-50ad3e1a7840",
"name": "Generando guion en inglés",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-2560,
192
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "={{ $json['Roman Hindi Script'] }}\n\nConvert this hindi roman script in to english script."
}
]
}
},
"typeVersion": 1.8
},
{
"id": "12157d7c-4dae-4a06-be7b-23f39584d3c5",
"name": "Creando campo para el guion en inglés",
"type": "n8n-nodes-base.set",
"position": [
-2208,
192
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9b4b3282-e472-4729-b52f-2ec7178063f3",
"name": "message.content",
"type": "string",
"value": "={{ $json.message.content }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "bfc19dfc-5a3d-4235-a630-d12126afc3a7",
"name": "Añadiendo guion en inglés a Hojas de Cálculo",
"type": "n8n-nodes-base.googleSheets",
"position": [
-2000,
192
],
"parameters": {
"columns": {
"value": {
"Number": "={{ $('Google Sheets Trigger').item.json.Number }}",
"English script": "={{ $('Generating English Script').item.json.message.content }}",
"Roman Hindi Script": "={{ $('Google Sheets Trigger').item.json['Roman Hindi Script'] }}"
},
"schema": [
{
"id": "Number",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Roman Hindi Script",
"type": "string",
"display": true,
"required": false,
"displayName": "Roman Hindi Script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "English script",
"type": "string",
"display": true,
"required": false,
"displayName": "English script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Tags",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Keywords",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Description",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Thumbnail Brief",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Thumbnail Brief",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Thumbnail Tagline",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Thumbnail Tagline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Generated Thumbnail",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Youtube Generated Thumbnail",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit?usp=drivesdk",
"cachedResultName": "Youtube Automation"
}
},
"typeVersion": 4.6
},
{
"id": "3342ff7b-5622-4aaf-8f8a-781285e027d9",
"name": "Generando Youtube Etiquetas, Palabras clave y más",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-1792,
192
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"messages": {
"values": [
{
"content": "={{ $json['English script'] }}\n\nUse the provided English script and generate:\nGenerate the following:\n\n1️⃣ 10 Best Engaging YouTube Titles (≤ 70 characters each)\n\n2️⃣ Best Engaging YouTube Tags (comma-separated, up to 20)\n\n3️⃣ Best Engaging YouTube Keywords (comma-separated, up to 20)\n\n4️⃣ SEO-Friendly YouTube Video Description (optimized for 2025 algorithm, includes keywords, tags, hook, timestamps, engagement call-to-action, hashtags, and Google Search Keywords section)\n\n5️⃣ Thumbnail AI Prompt (realistic, describes main idea, bold clickable text, color scheme, visual elements, emotion, layout, realistic photography style, 1280×720, 16:9, suitable for MidJourney/DALL·E/Runware)\n\n6️⃣ Thumbnail Tagline (single catchy 3–5 word tagline)"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "hTbhwONPbaFtA1LQ",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "a601a771-5858-43cf-aa6e-3c36e2a6033f",
"name": "Código JS para separar diferentes temas",
"type": "n8n-nodes-base.code",
"position": [
-1328,
192
],
"parameters": {
"jsCode": "const raw = $input.first().json.message.content;\n\n// Helper function to extract section between markers\nfunction extractSection(regex, input) {\n const match = input.match(regex);\n return match ? match[1].trim() : \"\";\n}\n\n// 1️⃣ Titles\nlet titlesRaw = extractSection(/1️⃣.*?\\n([\\s\\S]*?)2️⃣/, raw);\nlet titles = titlesRaw\n .split(/\\n|-/)\n .map(t => t.replace(/^\\d+\\.?\\s*/, \"\").trim())\n .filter(t => t.length > 0);\n\n// 2️⃣ Tags\nlet tags = extractSection(/2️⃣.*?\\n([\\s\\S]*?)3️⃣/, raw).replace(/\\n/g, \"\").trim();\n\n// 3️⃣ Keywords\nlet keywords = extractSection(/3️⃣.*?\\n([\\s\\S]*?)4️⃣/, raw).replace(/\\n/g, \"\").trim();\n\n// 4️⃣ SEO Description\nlet description = extractSection(/4️⃣.*?\\n([\\s\\S]*?)5️⃣/, raw).trim();\n\n// 5️⃣ Thumbnail AI Prompt\nlet thumbnailPrompt = extractSection(/5️⃣.*?\\n([\\s\\S]*?)6️⃣/, raw).trim();\n\n// 6️⃣ Thumbnail Tagline\nlet tagline = extractSection(/6️⃣.*?\\n([\\s\\S]*)$/, raw).replace(/[\"\\n]/g, \"\").trim();\n\nreturn [\n {\n json: {\n \"YouTube Titles\": titles,\n \"YouTube Tags\": tags,\n \"YouTube Keywords\": keywords,\n \"SEO Description\": description,\n \"Thumbnail AI Prompt\": thumbnailPrompt,\n \"Thumbnail Tagline\": tagline\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "e6ae98e2-2599-4006-ac63-40f43198812e",
"name": "Actualizando fila en Hojas de Cálculo con Etiquetas, Descripción, etc.",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1168,
192
],
"parameters": {
"columns": {
"value": {
"Number": "={{ $('Google Sheets Trigger').item.json.Number }}",
"Youtube Tags": "={{ $json['YouTube Tags'] }}",
"Youtube Title": "={{ $json['YouTube Titles'] }}",
"Youtube Keywords": "={{ $json['YouTube Keywords'] }}",
"Youtube Description": "={{ $json['SEO Description'] }}",
"Youtube Thumbnail Brief": "={{ $json['Thumbnail AI Prompt'] }}",
"Youtube Thumbnail Tagline": "={{ $json['Thumbnail Tagline'] }}"
},
"schema": [
{
"id": "Number",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Roman Hindi Script",
"type": "string",
"display": true,
"required": false,
"displayName": "Roman Hindi Script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "English script",
"type": "string",
"display": true,
"required": false,
"displayName": "English script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Tags",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Keywords",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Thumbnail Brief",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Thumbnail Brief",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Thumbnail Tagline",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Thumbnail Tagline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Generated Thumbnail",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Generated Thumbnail",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit?usp=drivesdk",
"cachedResultName": "Youtube Automation"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "S5JvudyeIyaJADDa",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "f0a5ba4b-4dba-4acc-bc80-1e66f6181e32",
"name": "Código Python para crear un Prompt Dinámico",
"type": "n8n-nodes-base.code",
"position": [
-704,
320
],
"parameters": {
"language": "python",
"pythonCode": "import uuid\n\nthumbnail_brief = items[0][\"json\"].get(\"Youtube Thumbnail Brief\", \"\")\ntagline = items[0][\"json\"].get(\"Youtube Thumbnail Tagline\", \"\")\n\n# Final prompt for Runware AI\nprompt = (\n \"Generate a professional YouTube thumbnail.\\n\\n\"\n f\"Thumbnail Context:\\n{thumbnail_brief}\\n\\n\"\n f\"Main Tagline: '{tagline}'\\n\\n\"\n \"Thumbnail requirements:\\n\"\n \"- Bold, central tagline text\\n\"\n \"- Cinematic lighting, vibrant colors\\n\"\n \"- Highly clickable YouTube style\\n\"\n \"- 1280x720 resolution\"\n)\n\npayload = {\n \"taskType\": \"imageInference\",\n \"taskUUID\": str(uuid.uuid4()),\n \"positivePrompt\": prompt,\n \"width\": 1280,\n \"height\": 720,\n \"model\": \"bytedance:3@1\",\n \"numberResults\": 1,\n \"outputFileName\": \"thumbnail.png\"\n}\n\nreturn {\"data\": [payload]}\n"
},
"typeVersion": 2
},
{
"id": "4478f8d0-f766-42e9-9d8b-f9183539ab23",
"name": "HTTP Solicitud llamando a Runware API para generar imagen de miniatura",
"type": "n8n-nodes-base.httpRequest",
"position": [
-416,
-16
],
"parameters": {
"url": "https://api.runware.ai/v1/image",
"method": "POST",
"options": {},
"jsonBody": "={{ $json.data }}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "3e233517-bbca-420e-a081-6ce8ca14a77a",
"name": "Actualizando Hojas de Cálculo con la Imagen de Miniatura",
"type": "n8n-nodes-base.googleSheets",
"position": [
-240,
-16
],
"parameters": {
"columns": {
"value": {
"Number": "={{ $('Google Sheets Trigger').item.json.Number }}",
"Youtube Generated Thumbnail": "={{ $json.data[0].imageURL }}"
},
"schema": [
{
"id": "Number",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Roman Hindi Script",
"type": "string",
"display": true,
"required": false,
"displayName": "Roman Hindi Script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "English script",
"type": "string",
"display": true,
"required": false,
"displayName": "English script",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Tags",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Keywords",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Thumbnail Brief",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Thumbnail Brief",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Thumbnail Tagline",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Thumbnail Tagline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Youtube Generated Thumbnail",
"type": "string",
"display": true,
"required": false,
"displayName": "Youtube Generated Thumbnail",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1BMtXN3Wl_pqyHJQW9KfRaErjPmg5wrm9kfIYcnuUVAM/edit?usp=drivesdk",
"cachedResultName": "Youtube Automation"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "S5JvudyeIyaJADDa",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "fc5309f3-e498-4dd4-9e17-e89438661df0",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3072,
448
],
"parameters": {
"height": 224,
"content": "## Step-by-Step Tutorial YouTube Video \n\n## [Follow Video- Click here](https://youtu.be/R426d84slWY?si=Ecozf55ypxg6PnQz)"
},
"typeVersion": 1
},
{
"id": "4ebd0064-f716-4fc0-9c87-d5d4a3590b0f",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
-544
],
"parameters": {
"width": 352,
"height": 672,
"content": "## Prompt for Generating YouTue Tags, Description so on..\n\n{{ $json['English script'] }}\n\nUse the provided English script and generate:\nGenerate the following:\n\n1️⃣ 10 Best Engaging YouTube Titles (≤ 70 characters each)\n\n2️⃣ Best Engaging YouTube Tags (comma-separated, up to 20)\n\n3️⃣ Best Engaging YouTube Keywords (comma-separated, up to 20)\n\n4️⃣ SEO-Friendly YouTube Video Description (optimized for 2025 algorithm, includes keywords, tags, hook, timestamps, engagement call-to-action, hashtags, and Google Search Keywords section)\n\n5️⃣ Thumbnail AI Prompt (realistic, describes main idea, bold clickable text, color scheme, visual elements, emotion, layout, realistic photography style, 1280×720, 16:9, suitable for MidJourney/DALL·E/Runware)\n\n6️⃣ Thumbnail Tagline (single catchy 3–5 word tagline)"
},
"typeVersion": 1
},
{
"id": "287cad96-b7b8-4f90-a2f9-eab7672a1b9d",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1408,
-544
],
"parameters": {
"width": 448,
"height": 672,
"content": "## Javascript code for separating the data\n\nconst raw = $input.first().json.message.content;\n\n// Helper function to extract section between markers\nfunction extractSection(regex, input) {\n const match = input.match(regex);\n return match ? match[1].trim() : \"\";\n}\n\n// 1️⃣ Titles\nlet titlesRaw = extractSection(/1️⃣.*?\\n([\\s\\S]*?)2️⃣/, raw);\nlet titles = titlesRaw\n .split(/\\n|-/)\n .map(t => t.replace(/^\\d+\\.?\\s*/, \"\").trim())\n .filter(t => t.length > 0);\n\n// 2️⃣ Tags\nlet tags = extractSection(/2️⃣.*?\\n([\\s\\S]*?)3️⃣/, raw).replace(/\\n/g, \"\").trim();\n\n// 3️⃣ Keywords\nlet keywords = extractSection(/3️⃣.*?\\n([\\s\\S]*?)4️⃣/, raw).replace(/\\n/g, \"\").trim();\n\n// 4️⃣ SEO Description\nlet description = extractSection(/4️⃣.*?\\n([\\s\\S]*?)5️⃣/, raw).trim();\n\n// 5️⃣ Thumbnail AI Prompt\nlet thumbnailPrompt = extractSection(/5️⃣.*?\\n([\\s\\S]*?)6️⃣/, raw).trim();\n\n// 6️⃣ Thumbnail Tagline\nlet tagline = extractSection(/6️⃣.*?\\n([\\s\\S]*)$/, raw).replace(/[\"\\n]/g, \"\").trim();\n\nreturn [\n {\n json: {\n \"YouTube Titles\": titles,\n \"YouTube Tags\": tags,\n \"YouTube Keywords\": keywords,\n \"SEO Description\": description,\n \"Thumbnail AI Prompt\": thumbnailPrompt,\n \"Thumbnail Tagline\": tagline\n }\n }\n];\n"
},
"typeVersion": 1
},
{
"id": "8ac19d3d-486e-4772-8871-64e0246b4ca5",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
528
],
"parameters": {
"width": 464,
"height": 672,
"content": "## Python code for generating dynamic prompt\n\nimport uuid\n\nthumbnail_brief = items[0][\"json\"].get(\"Youtube Thumbnail Brief\", \"\")\ntagline = items[0][\"json\"].get(\"Youtube Thumbnail Tagline\", \"\")\n\nprompt = (\n \"Generate a professional YouTube thumbnail.\\n\\n\"\n f\"Thumbnail Context:\\n{thumbnail_brief}\\n\\n\"\n f\"Main Tagline: '{tagline}'\\n\\n\"\n \"Thumbnail requirements:\\n\"\n \"- Bold, central tagline text\\n\"\n \"- Cinematic lighting, vibrant colors\\n\"\n \"- Highly clickable YouTube style\\n\"\n \"- 1280x720 resolution\"\n)\n\npayload = {\n \"taskType\": \"imageInference\",\n \"taskUUID\": str(uuid.uuid4()),\n \"positivePrompt\": prompt,\n \"width\": 1280,\n \"height\": 720,\n \"model\": \"bytedance:3@1\",\n \"numberResults\": 1,\n \"outputFileName\": \"thumbnail.png\"\n}\n\nreturn {\"data\": [payload]}"
},
"typeVersion": 1
},
{
"id": "a67690da-e029-4458-a2c4-ff72ff6b94ca",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2560,
80
],
"parameters": {
"height": 96,
"content": "## Add your OpenAI Keys\n"
},
"typeVersion": 1
},
{
"id": "caec88cf-9d1a-4f52-bc18-bc2b5281d976",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3008,
112
],
"parameters": {
"width": 176,
"height": 112,
"content": "## Connect with your Google Sheet\n"
},
"typeVersion": 1
},
{
"id": "5ac6a066-7d50-46b2-84ec-8529b9878cb5",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-400,
-192
],
"parameters": {
"height": 144,
"content": "## Add your RUNWARE API or any other 3rd party"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "eed95939-cf9f-4852-8ecb-997cf777c3c0",
"connections": {
"f268ec0d-7715-41bd-9e1a-7cc9285c5ec9": {
"main": [
[
{
"node": "f92a73f2-3901-4576-b1e8-9836672a5977",
"type": "main",
"index": 0
}
]
]
},
"064a7b70-e5a9-4e9a-b7ac-50ad3e1a7840": {
"main": [
[
{
"node": "12157d7c-4dae-4a06-be7b-23f39584d3c5",
"type": "main",
"index": 0
}
]
]
},
"bfc19dfc-5a3d-4235-a630-d12126afc3a7": {
"main": [
[
{
"node": "3342ff7b-5622-4aaf-8f8a-781285e027d9",
"type": "main",
"index": 0
}
]
]
},
"12157d7c-4dae-4a06-be7b-23f39584d3c5": {
"main": [
[
{
"node": "bfc19dfc-5a3d-4235-a630-d12126afc3a7",
"type": "main",
"index": 0
}
]
]
},
"f92a73f2-3901-4576-b1e8-9836672a5977": {
"main": [
[
{
"node": "064a7b70-e5a9-4e9a-b7ac-50ad3e1a7840",
"type": "main",
"index": 0
}
],
[
{
"node": "c27724ad-9f25-4e49-b9fb-2ca2bfa3e778",
"type": "main",
"index": 0
}
]
]
},
"a601a771-5858-43cf-aa6e-3c36e2a6033f": {
"main": [
[
{
"node": "e6ae98e2-2599-4006-ac63-40f43198812e",
"type": "main",
"index": 0
}
]
]
},
"f0a5ba4b-4dba-4acc-bc80-1e66f6181e32": {
"main": [
[
{
"node": "4478f8d0-f766-42e9-9d8b-f9183539ab23",
"type": "main",
"index": 0
}
]
]
},
"3342ff7b-5622-4aaf-8f8a-781285e027d9": {
"main": [
[
{
"node": "a601a771-5858-43cf-aa6e-3c36e2a6033f",
"type": "main",
"index": 0
}
]
]
},
"e6ae98e2-2599-4006-ac63-40f43198812e": {
"main": [
[
{
"node": "f0a5ba4b-4dba-4acc-bc80-1e66f6181e32",
"type": "main",
"index": 0
}
]
]
},
"4478f8d0-f766-42e9-9d8b-f9183539ab23": {
"main": [
[
{
"node": "3e233517-bbca-420e-a081-6ce8ca14a77a",
"type": "main",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Creación de contenido, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
Janak Patel
@dolphyaiCompartir este flujo de trabajo