💥 Generador de videos virales con IA: NanoBanana y VEO3, comparte en redes sociales a través de Blotato - Video

Avanzado

Este es unPersonal Productivity, AI Chatbotflujo de automatización del dominio deautomatización que contiene 52 nodos.Utiliza principalmente nodos como Set, Filter, Switch, Telegram, GmailTool. Asistente personal IA: gestión de tareas, calendario, correos y gastos de Google a través de Telegram

Requisitos previos
  • Bot Token de Telegram
  • Cuenta de Google y credenciales de API de Gmail
  • Credenciales de API de Google Sheets
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "z8nPpsFFe7kDBQUm",
  "meta": {
    "instanceId": "a2b23892dd6989fda7c1209b381f5850373a7d2b85609624d7c2b7a092671d44",
    "templateCredsSetupCompleted": true
  },
  "name": "💥 Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato - vide",
  "tags": [],
  "nodes": [
    {
      "id": "101bdee1-4de4-4b5e-9170-4d490d4e8128",
      "name": "Nota adhesiva 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -304
      ],
      "parameters": {
        "color": 4,
        "width": 1344,
        "height": 832,
        "content": "# 📑 STEP 5 — Auto-Post to All Platforms\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "db2db976-7988-4939-a931-b6b2b98570aa",
      "name": "Subir video a BLOTATO",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1024,
        320
      ],
      "parameters": {
        "mediaUrl": "={{ $('Download Video from VEO3').item.json.data.response.resultUrls[0] }}",
        "resource": "media"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6866a654-e6a7-4543-b98a-8288f9d04b47",
      "name": "Youtube",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1648,
        112
      ],
      "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": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}",
        "postCreateYoutubeOptionTitle": "={{ $('Save Caption Video to Google Sheets').item.json['TITRE VIDEO'] }}",
        "postCreateYoutubeOptionPrivacyStatus": "private",
        "postCreateYoutubeOptionShouldNotifySubscribers": false
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "a1b51932-2e2c-4e32-a37a-7ce94620cdd9",
      "name": "Tiktok",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1280,
        -64
      ],
      "parameters": {
        "options": {},
        "platform": "tiktok",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "9332",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/9332",
          "cachedResultName": "docteur.firas"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
      "name": "Combinar",
      "type": "n8n-nodes-base.merge",
      "position": [
        1936,
        16
      ],
      "parameters": {
        "mode": "chooseBranch",
        "numberInputs": 9
      },
      "typeVersion": 3.2
    },
    {
      "id": "bee496d6-fc2d-4f1c-812f-9d6be08154a7",
      "name": "Actualizar estado a \"COMPLETADO\"",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2112,
        128
      ],
      "parameters": {
        "columns": {
          "value": {
            "STATUS": "Published",
            "IMAGE NAME": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.photo[2].file_unique_id }}"
          },
          "schema": [
            {
              "id": "IMAGE NAME",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "IMAGE NAME",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "IMAGE URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE DESCRIPTION",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "IMAGE DESCRIPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CAPTION",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "CAPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VIDEO FINAL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "URL VIDEO FINAL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TITRE VIDEO",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "TITRE VIDEO",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CAPTION VIDEO",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "CAPTION VIDEO",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "STATUS",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "STATUS",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "IMAGE NAME"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "5f7344d8-a277-457b-a33f-c48e2ced1e49",
      "name": "Linkedin",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1472,
        -64
      ],
      "parameters": {
        "options": {},
        "platform": "linkedin",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1446",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1446",
          "cachedResultName": "Samuel Amalric"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "31bc2347-2457-4fad-8436-09282df89609",
      "name": "Facebook",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1648,
        -64
      ],
      "parameters": {
        "options": {},
        "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": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "06e29e46-c3ce-4c9e-825d-39df924a607d",
      "name": "Instagram",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1280,
        112
      ],
      "parameters": {
        "options": {},
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "11892",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/11892",
          "cachedResultName": "doc.firass"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3f7560c8-3e4a-4d62-bf62-e8d543df8026",
      "name": "Threads",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1280,
        320
      ],
      "parameters": {
        "options": {},
        "platform": "threads",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "2280",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/2280",
          "cachedResultName": "doc.firass"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3e4b6251-7c56-40ca-8fb6-4b77c910a2e6",
      "name": "Bluesky",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1472,
        320
      ],
      "parameters": {
        "options": {},
        "platform": "bluesky",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "6012",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/6012",
          "cachedResultName": "formationinternet.bsky.social"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "61f5f513-b7ec-40ca-a4a1-1b897f092a04",
      "name": "Pinterest",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1648,
        320
      ],
      "parameters": {
        "options": {},
        "platform": "pinterest",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "363",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/363",
          "cachedResultName": "formationinternet2022"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "pinterestBoardId": {
          "__rl": true,
          "mode": "id",
          "value": "1146658823815436667"
        },
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "4fb185bf-f237-4b71-8557-178f15f0caec",
      "name": "Twitter (X)",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1472,
        112
      ],
      "parameters": {
        "options": {},
        "platform": "twitter",
        "accountId": {
          "__rl": true,
          "mode": "list",
          "value": "1289",
          "cachedResultUrl": "https://backend.blotato.com/v2/accounts/1289",
          "cachedResultName": "Docteur_Firas"
        },
        "postContentText": "={{ $('Save Caption Video to Google Sheets').item.json['CAPTION VIDEO'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "NtMnRSKAAN5u9lyc",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "cb9939c6-1c5c-448b-ab3a-a66d90767cf2",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        32
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "6h3DfVhNPw9I25nO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2c244851-7835-4f4a-8fe9-10a26acf6365",
      "name": "Pensar",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        624,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0695e935-93ac-48da-a893-1615ce22a6e7",
      "name": "Analizador de salida estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        768,
        32
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"title\": \"string\",\n  \"final_prompt\": \"string\"\n}\n"
      },
      "typeVersion": 1.3
    },
    {
      "id": "ff995af1-503e-4356-8e67-6392b4629496",
      "name": "Enviar URL del video vía Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1008,
        -176
      ],
      "webhookId": "ea6e5974-1930-4b67-a51b-16249a9ed8bd",
      "parameters": {
        "text": "=Url VIDEO : {{ $('Download Video from VEO3').item.json.data.response.resultUrls[0] }}",
        "chatId": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "bMkCsqYCSUBaiU60",
          "name": "Telegram account 12 - nanobanana"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "257eedc1-30c1-4e40-913b-24ceb018df28",
      "name": "Enviar vista previa final del video",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1024,
        64
      ],
      "webhookId": "443fd41d-a051-45bf-ad68-173197dba26b",
      "parameters": {
        "file": "={{ $('Save Caption Video to Google Sheets').item.json['URL VIDEO FINAL'] }}",
        "chatId": "={{ $json.result.chat.id }}",
        "operation": "sendVideo",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "bMkCsqYCSUBaiU60",
          "name": "Telegram account 12 - nanobanana"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "11f4ee14-912b-4a77-8696-7d36f7fc8a21",
      "name": "Telegram Trigger: Recibir idea de video",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -208,
        -752
      ],
      "webhookId": "26dbe6f5-5197-4b2b-9e32-8060f2119686",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "bMkCsqYCSUBaiU60",
          "name": "Telegram account 12 - nanobanana"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "45e0b8ee-b830-48bc-8a9a-a426a7afcd43",
      "name": "Establecer prompt maestro",
      "type": "n8n-nodes-base.set",
      "position": [
        240,
        -192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "cc2e0500-57b1-4615-82cb-1c950e5f2ec4",
              "name": "json_master",
              "type": "string",
              "value": "={\n  \"description\": \"Brief narrative description of the scene, focusing on key visual storytelling and product transformation.\",\n  \"style\": \"cinematic | photorealistic | stylized | gritty | elegant\",\n  \"camera\": {\n    \"type\": \"fixed | dolly | Steadicam | crane combo\",\n    \"movement\": \"describe any camera moves like slow push-in, pan, orbit\",\n    \"lens\": \"optional lens type or focal length for cinematic effect\"\n  },\n  \"lighting\": {\n    \"type\": \"natural | dramatic | high-contrast\",\n    \"sources\": \"key lighting sources (sunset, halogen, ambient glow...)\",\n    \"FX\": \"optional VFX elements like fog, reflections, flares\"\n  },\n  \"environment\": {\n    \"location\": \"describe location or room (kitchen, desert, basketball court...)\",\n    \"set_pieces\": [\n      \"list of key background or prop elements\",\n      \"e.g. hardwood floors, chain-link fence, velvet surface\"\n    ],\n    \"mood\": \"describe the ambient atmosphere (moody, clean, epic...)\"\n  },\n  \"elements\": [\n    \"main physical items involved (product box, accessories, vehicles...)\",\n    \"include brand visibility (logos, packaging, texture...)\"\n  ],\n  \"subject\": {\n    \"character\": {\n      \"description\": \"optional – physical description, outfit\",\n      \"pose\": \"optional – position or gesture\",\n      \"lip_sync_line\": \"optional – spoken line if there’s a voiceover\"\n    },\n    \"product\": {\n      \"brand\": \"Brand name\",\n      \"model\": \"Product model or name\",\n      \"action\": \"description of product transformation or assembly\"\n    }\n  },\n  \"motion\": {\n    \"type\": \"e.g. transformation, explosion, vortex\",\n    \"details\": \"step-by-step visual flow of how elements move or evolve\"\n  },\n  \"VFX\": {\n    \"transformation\": \"optional – describe style (neon trails, motion blur...)\",\n    \"impact\": \"optional – e.g. shockwave, glow, distortion\",\n    \"particles\": \"optional – embers, sparks, thread strands...\",\n    \"environment\": \"optional – VFX affecting the scene (ripples, wind...)\"\n  },\n  \"audio\": {\n    \"music\": \"optional – cinematic score, trap beat, ambient tone\",\n    \"sfx\": [\n      \"list of sound effects (zip, pop, woosh...)\"\n    ],\n    \"ambience\": \"optional – background soundscape (traffic, wind...)\",\n    \"voiceover\": {\n      \"delivery\": \"tone and style (confident, whisper, deep...)\",\n      \"line\": \"text spoken if applicable\"\n    }\n  },\n  \"ending\": \"Final shot description – what is seen or felt at the end (freeze frame, logo pulse, glow...)\",\n  \"text\": \"none | overlay | tagline | logo pulse at end only\",\n  \"format\": \"16:9 | 4k | vertical\",\n  \"keywords\": [\n    \"brand\",\n    \"scene style\",\n    \"motion type\",\n    \"camera style\",\n    \"sound mood\",\n    \"target theme\"\n  ]\n}\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a27e8e28-cb43-4b3f-a96e-e986a25209fb",
      "name": "Agente de IA: Generar guion de video",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        560,
        -192
      ],
      "parameters": {
        "text": "=Create a UGC-style video prompt using both the reference image and the user description.  \n\n**Inputs**  \n- User description (optional):  \n  `{{ $('Telegram Trigger: Receive Video Idea').item.json.message.caption }}`  \n- Reference image analysis (stay strictly faithful to what’s visible):  \n  `{{ $('Google Sheets: Update Image Description').item.json['IMAGE DESCRIPTION'] }}`  \n\n**Rules**  \n- Keep the style casual, authentic, and realistic. Avoid studio-like or cinematic language.  \n- Default model: `veo3_fast` (unless otherwise specified).  \n- Output only **one JSON object** with the key: `video_prompt`.  \n",
        "options": {
          "systemMessage": "=system_prompt:\n  ## SYSTEM PROMPT: Structured Video Ad Prompt Generator\n  A - Ask:\n    Generate a structured video ad prompt for cinematic generation, strictly based on the master schema provided in: {{ $json.json_master }}.\n    The final result must be a JSON object with exactly two top-level keys: `title` and `final_prompt`.\n\n  G - Guidance:\n    role: Creative Director\n    output_count: 1\n    character_limit: None\n    constraints:\n      - The output must be valid JSON.\n      - The `title` field should contain a short, descriptive and unique title (max 15 words).\n      - The `final_prompt` field must contain a **single-line JSON string** that follows the exact structure of {{ $json.json_master }} with all fields preserved.\n      - Do not include any explanations, markdown, or extra text — only the JSON object.\n      - Escape all inner quotes in the `final_prompt` string so it is valid as a stringified JSON inside another JSON.\n    tool_usage:\n      - Ensure consistent alignment across all fields (camera, lighting, motion, etc.).\n      - Maintain full structure even for optional fields (use \"none\", \"\", or [] as needed).\n\n  N - Notation:\n    format: JSON\n    expected_output:\n      {\n        \"title\": \"A unique short title for the scene\",\n        \"final_prompt\": \"{...stringified JSON of the full prompt...}\"\n      }\n\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "16902ea9-197e-4cac-936e-83c1fc226854",
      "name": "Generar video con VEO3",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -160,
        320
      ],
      "parameters": {
        "url": "https://api.kie.ai/api/v1/veo/generate",
        "body": "={\n  \"prompt\": {{ $json.prompt }},\n  \"model\": \"{{ $('Google Sheets: Read Video Parameters (CONFIG)').item.json.model }}\",\n  \"aspectRatio\": \"{{ $json.aspectRatio }}\",\n  \"imageUrls\": [\n    \"{{ $('Download Edited Image').item.json.images[0].url }}\"\n  ]\n}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "authentication": "genericCredentialType",
        "rawContentType": "application/json",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "ho8ZjaYj1SY0icGT",
          "name": "Kie AI"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a7fffb23-dba4-4d1e-a42e-191a1414ec60",
      "name": "Esperar renderizado de VEO3",
      "type": "n8n-nodes-base.wait",
      "position": [
        48,
        320
      ],
      "webhookId": "f6d814f3-4eb8-4629-a920-134cfa4ea03b",
      "parameters": {
        "amount": 20
      },
      "typeVersion": 1.1
    },
    {
      "id": "67889216-2c0f-4ed8-ae54-8e7e7fdbac90",
      "name": "Descargar video de VEO3",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        256,
        320
      ],
      "parameters": {
        "url": "https://api.kie.ai/api/v1/veo/record-info",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "taskId",
              "value": "={{ $('Generate Video with VEO3').item.json.data.taskId }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "ho8ZjaYj1SY0icGT",
          "name": "Kie AI"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f6dda272-6129-4c04-b4c2-1e6bf5d156d8",
      "name": "Reescribir descripción con GPT-4o",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        416,
        320
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "GPT-4O"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=You are rewriting a TikTok video script, caption, and overlay —\nnot inventing a new one. You must follow this format and obey\nthese rules strictly.\n---\n### CONTEXT:\nHere is the content idea to use:{{ $('Telegram Trigger: Receive Video Idea').item.json.message.caption }}\n\nand the Title is : {{ $('AI Agent: Generate Video Script').item.json.output.title }}\n\n\nWrite the caption text using the topic.\n\n---\n- MUST be under 200 characters (yes \"Characters\" not wordcount)\nthis is an absolute MUST, no more than 200 characters!!! \n\n### FINAL OUTPUT FORMAT (no markdown formatting):\n\nDO NOT return any explanations. Only return the Caption Text\n"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "6h3DfVhNPw9I25nO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "8b4c6b55-a0d7-4a19-b85c-1927ccb5eaa2",
      "name": "Guardar descripción y video en Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        720,
        320
      ],
      "parameters": {
        "columns": {
          "value": {
            "STATUS": "CREATE",
            "IMAGE NAME": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.photo[2].file_unique_id }}",
            "TITRE VIDEO": "={{ $('AI Agent: Generate Video Script').item.json.output.title }}",
            "CAPTION VIDEO": "={{ $json.message.content }}",
            "URL VIDEO FINAL": "={{ $('Download Video from VEO3').item.json.data.response.resultUrls[0] }}"
          },
          "schema": [
            {
              "id": "IMAGE NAME",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "IMAGE NAME",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "IMAGE URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE DESCRIPTION",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "IMAGE DESCRIPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CAPTION",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "CAPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL VIDEO FINAL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "URL VIDEO FINAL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TITRE VIDEO",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "TITRE VIDEO",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CAPTION VIDEO",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "CAPTION VIDEO",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "STATUS",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "STATUS",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "IMAGE NAME"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "30c415e0-58e0-48b9-b7e9-11dc5d979ac8",
      "name": "Formatear prompt",
      "type": "n8n-nodes-base.code",
      "position": [
        -160,
        16
      ],
      "parameters": {
        "jsCode": "const structuredPrompt = $input.first().json.output.final_prompt;\nreturn {\n  json: {\n    prompt: JSON.stringify(structuredPrompt), // this escapes it correctly!\n    model: \"veo3_fast\",\n    aspectRatio: \"16:9\"\n  }\n};\n"
      },
      "typeVersion": 2
    },
    {
      "id": "61ce4a03-4104-4beb-bb16-0b2d2dde142d",
      "name": "Nota adhesiva 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -304
      ],
      "parameters": {
        "width": 1180,
        "height": 460,
        "content": "# 📑 STEP 3 — Generate Video Ad Script"
      },
      "typeVersion": 1
    },
    {
      "id": "9f91c353-3ad6-498c-ba14-907bb91e208c",
      "name": "Nota adhesiva 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        208
      ],
      "parameters": {
        "width": 1180,
        "height": 320,
        "content": "# 📑 STEP 4 — Generate Video with VEO3"
      },
      "typeVersion": 1
    },
    {
      "id": "3051b833-571a-4f0c-993a-ca8ffd03e476",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -944
      ],
      "parameters": {
        "width": 1184,
        "height": 592,
        "content": "# 📑 STEP 1 — Collect Idea & Image"
      },
      "typeVersion": 1
    },
    {
      "id": "785aa7c8-8921-4b6b-8db3-8d55e2a42564",
      "name": "Nota adhesiva 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        -944
      ],
      "parameters": {
        "width": 1328,
        "height": 592,
        "content": "# 📑 STEP 2 — Create Image with NanoBanana\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fa25f6bf-d05b-4b8d-8a8a-b8684c601510",
      "name": "Telegram: Obtener archivo de imagen",
      "type": "n8n-nodes-base.telegram",
      "position": [
        224,
        -880
      ],
      "webhookId": "06ceb31d-dcd9-4a9a-bbbe-a7bf7ae0ad4a",
      "parameters": {
        "fileId": "={{ $json.message.photo[2].file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "bMkCsqYCSUBaiU60",
          "name": "Telegram account 12 - nanobanana"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7a362123-c86c-45f9-b80c-a5660f92da46",
      "name": "Google Drive: Subir imagen",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        240,
        -688
      ],
      "parameters": {
        "name": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.photo[2].file_unique_id }}",
        "driveId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "gzeHMd64HAz6HBIe",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a9614733-44e3-4580-95f8-a955d9136be4",
      "name": "Google Sheets: Registrar imagen y descripción",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        240,
        -512
      ],
      "parameters": {
        "columns": {
          "value": {
            "STATUS": "EN COURS",
            "CAPTION": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.caption }}",
            "IMAGE URL": "={{ $json.webContentLink }}",
            "IMAGE NAME": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.photo[2].file_unique_id }}"
          },
          "schema": [
            {
              "id": "IMAGE NAME",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "IMAGE NAME",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "IMAGE URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE DESCRIPTION",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "IMAGE DESCRIPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CAPTION",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "CAPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "STATUS",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "STATUS",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "IMAGE NAME"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "a8e85901-2451-4037-ba0c-aa2b229c9d0f",
      "name": "Establecer: Token del bot (Marcador de posición)",
      "type": "n8n-nodes-base.set",
      "position": [
        480,
        -752
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "af62651a-3fc8-419d-908b-6514f6f4bcb3",
              "name": "YOUR_BOT_TOKEN",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ae9da8d7-f2c4-4ada-897c-651176cbfdb6",
      "name": "Telegram API: Obtener URL del archivo",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        672,
        -752
      ],
      "parameters": {
        "url": "=https://api.telegram.org/bot{{ $json.YOUR_BOT_TOKEN }}/getFile?file_id={{ $('Telegram Trigger: Receive Video Idea').item.json.message.photo[3].file_id }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "6527e03e-6417-45a5-95a8-2ef84b872df0",
      "name": "OpenAI Vision: Analizar imagen de referencia",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1088,
        -752
      ],
      "parameters": {
        "text": "=You are an image analysis assistant.\n\nYour task is to analyze the given image and output results **only in YAML format**. Do not add explanations, comments, or extra text outside YAML.\n\nRules:\n\n- If the image depicts a **product**, return:\n    \n    ```yaml\n    brand_name: (brand if visible or inferable)\n    color_scheme:\n      - hex: (hex code of each prominent color)\n        name: (descriptive name of the color)\n    font_style: (serif/sans-serif, bold/thin, etc.)\n    visual_description: (1–2 sentences summarizing what is seen, ignoring the background)\n    \n    ```\n    \n- If the image depicts a **character**, return:\n    \n    ```yaml\n    character_name: (name if visible or inferable, else \"unknown\")\n    color_scheme:\n      - hex: (hex code of each prominent color on the character)\n        name: (descriptive name of the color)\n    outfit_style: (clothing style, accessories, or notable features)\n    visual_description: (1–2 sentences summarizing what the character looks like, ignoring the background)\n    \n    ```\n    \n- If the image depicts **both**, return **both sections** in YAML.\n\nOnly output valid YAML. No explanations.",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "resource": "image",
        "imageUrls": "=https://api.telegram.org/file/bot{{ $('Set: Bot Token (Placeholder)').item.json.YOUR_BOT_TOKEN }}/{{ $json.result.file_path }}",
        "operation": "analyze"
      },
      "credentials": {
        "openAiApi": {
          "id": "6h3DfVhNPw9I25nO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "6d78c44a-9073-4a2c-9a17-102c870b2162",
      "name": "Google Sheets: Actualizar descripción de imagen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1328,
        -752
      ],
      "parameters": {
        "columns": {
          "value": {
            "IMAGE NAME": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.photo[2].file_unique_id }}",
            "IMAGE DESCRIPTION": "={{ $json.content }}"
          },
          "schema": [
            {
              "id": "IMAGE NAME",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "IMAGE NAME",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "IMAGE URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE DESCRIPTION",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "IMAGE DESCRIPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "CAPTION",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "CAPTION",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "STATUS",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "STATUS",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "IMAGE NAME"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "efd41bb8-ecef-49ea-9051-ead169d6766b",
      "name": "LLM: Analizador de salida estructurada",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1712,
        -512
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"image_prompt\": \"string\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "96a49fe4-d013-42c8-9ae8-11eb713e132f",
      "name": "LLM: Chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1504,
        -512
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "6h3DfVhNPw9I25nO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f6599d80-4301-4dd1-bc38-1c39e57e21cb",
      "name": "Generar prompt de imagen",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1552,
        -752
      ],
      "parameters": {
        "text": "=Your task is to create an image prompt following the system guidelines.  \nEnsure that the reference image is represented as **accurately as possible**, including all text elements.  \n\nUse the following inputs:  \n\n- **User’s description:**  \n{{ $json.CAPTION }}\n\n- **Reference image description:**  \n{{ $json['IMAGE DESCRIPTION'] }}\n",
        "options": {
          "systemMessage": "=ROLE: UGC Image Prompt Builder  \n\nGOAL:  \nGenerate one concise, natural, and realistic image prompt (≤120 words) from a given product or reference image. The prompt must simulate authentic UGC (user-generated content) photography.  \n\nRULES:  \n- Always output **one JSON object only** with the key:  \n  - `image_prompt`: (string with full description)  \n- Do **not** add commentary, metadata, or extra keys. JSON only.  \n\nSTYLE GUIDELINES:  \n- Tone: casual, unstaged, lifelike, handheld snapshot.  \n- Camera cues: include at least 2–3 (e.g., phone snapshot, handheld framing, off-center composition, natural indoor light, soft shadows, slight motion blur, auto exposure, unpolished look, mild grain).  \n- Realism: embrace imperfections (wrinkles, stray hairs, skin texture, clutter, smudges).  \n- Packaging/Text: preserve exactly as visible. Never invent claims, numbers, or badges.  \n- Diversity: if people appear but are unspecified, vary gender/ethnicity naturally; default age range = 21–38.  \n- Setting: default to real-world everyday spaces (home, street, store, gym, office).  \n\nSAFETY:  \n- No copyrighted character names.  \n- No dialogue or scripts. Only describe scenes.  \n\nOUTPUT CONTRACT:  \n- JSON only, no prose outside.  \n- Max 120 words in `image_prompt`.  \n- Must cover: subject, action, mood, setting, style/camera, colors, and text accuracy.  \n\nCHECKLIST BEFORE OUTPUT:  \n- Natural handheld tone?  \n- At least 2 camera cues included?  \n- Product text preserved exactly?  \n- Only JSON returned?  \n\n---  \n\n### Example  \n\nGood Example :  \n```json\n{ \"image_prompt\": \"a young adult casually holding a skincare tube near a bathroom mirror; action: dabs small amount on the back of the hand; mood: easy morning; setting: small apartment bathroom with towel on rack and toothbrush cup; style/camera: phone snapshot, handheld framing, off-center composition, natural window light, slight motion blur, mild grain; colors: soft whites and mint label; text accuracy: keep every word on the tube exactly as visible, no added claims\" }\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "80274aa5-bdf0-49bf-9980-0624d99d68ef",
      "name": "NanoBanana: Crear imagen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1888,
        -752
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/nano-banana/edit",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n\t\"prompt\": \"{{ $json.output.image_prompt.replace(/\\\"/g, '\\\\\\\"').replace(/\\n/g, '\\\\n') }}\",\n\"image_urls\": [\"{{ $('Google Drive: Upload Image').item.json.webContentLink }}\"]\n\n}\n\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "kNULkYDcOZG3X0be",
          "name": "Fal.ai"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e132487d-da8c-4850-9d3f-9e057e9bde64",
      "name": "Esperar edición de imagen",
      "type": "n8n-nodes-base.wait",
      "position": [
        2096,
        -752
      ],
      "webhookId": "df52d997-45c4-431f-bdf6-89dd25027b5b",
      "parameters": {
        "amount": 20
      },
      "typeVersion": 1.1
    },
    {
      "id": "2c7ffce1-8ace-418d-9738-c659f4554980",
      "name": "Descargar imagen editada",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2096,
        -528
      ],
      "parameters": {
        "url": "={{ $json.response_url }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "kNULkYDcOZG3X0be",
          "name": "Fal.ai"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ec725aa0-fd30-4d98-b984-0228873db428",
      "name": "Google Sheets: Leer parámetros de video (CONFIG)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        32,
        -192
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "="
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "="
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "51us92xkOlrvArhV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "abafa8c6-55a0-488c-970e-d2a969ad7959",
      "name": "Telegram: Enviar notificación",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2112,
        336
      ],
      "webhookId": "2f4a4bc1-99de-4e93-8523-dd8c6499b893",
      "parameters": {
        "text": "Published",
        "chatId": "={{ $('Telegram Trigger: Receive Video Idea').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "bMkCsqYCSUBaiU60",
          "name": "Telegram account 12 - nanobanana"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "77030cb3-3246-41d5-bcbc-74f82bdd501b",
      "name": "Nota adhesiva 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        -944
      ],
      "parameters": {
        "color": 6,
        "width": 700,
        "height": 1476,
        "content": "# 🎬 Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato (By Dr. Firas)\n\n\n# 🎥 Full Tutorial :\n[![AI Voice Agent Preview](https://www.dr-firas.com/nanobanana.png)](https://youtu.be/nlwpbXQqNQ4)\n\n---\n\n# 📘 Documentation  \nAccess detailed setup instructions, API config, platform connection guides, and workflow customization tips:\n\n📎 [Open the full documentation on Notion](https://automatisation.notion.site/NonoBanan-2643d6550fd98041aef5dcbe8ab0f7a1?source=copy_link)\n\n---\n\n# ⚙️ Requirements\n\n1. ✅ **Create a [Blotato](https://blotato.com/?ref=firas) account** (Pro plan required for API access)  \n2. 🔑 **Generate your Blotato API Key** via: `Settings > API > Generate API Key`  \n3. 📦 **Enable “Verified Community Nodes”** in the n8n admin settings  \n4. 🧩 **Install the Blotato** verified community node in n8n  \n5. 🛠 **Create a Blotato API credential** inside your n8n credentials tab  \n6. 📄 **Duplicate this [Google Sheet template](https://docs.google.com/spreadsheets/d/1FutmZHblwnk36fp59fnePjONzuJBdndqZOCuRoGWSmY/edit?usp=sharing)**  \n7. ☁️ **Make sure your Google Drive folder is PUBLIC** (anyone with the link can access)  \n8. 📌 **Complete the 3 brown sticky note steps** inside the workflow editor\n\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8577d027-1dbc-4c0d-97db-1cf6c6613ae6",
  "connections": {
    "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b": {
      "main": [
        [
          {
            "node": "bee496d6-fc2d-4f1c-812f-9d6be08154a7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2c244851-7835-4f4a-8fe9-10a26acf6365": {
      "ai_tool": [
        [
          {
            "node": "a27e8e28-cb43-4b3f-a96e-e986a25209fb",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "a1b51932-2e2c-4e32-a37a-7ce94620cdd9": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3e4b6251-7c56-40ca-8fb6-4b77c910a2e6": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 7
          }
        ]
      ]
    },
    "3f7560c8-3e4a-4d62-bf62-e8d543df8026": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 6
          }
        ]
      ]
    },
    "6866a654-e6a7-4543-b98a-8288f9d04b47": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 5
          }
        ]
      ]
    },
    "31bc2347-2457-4fad-8436-09282df89609": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "5f7344d8-a277-457b-a33f-c48e2ced1e49": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "06e29e46-c3ce-4c9e-825d-39df924a607d": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "61f5f513-b7ec-40ca-a4a1-1b897f092a04": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 8
          }
        ]
      ]
    },
    "4fb185bf-f237-4b71-8557-178f15f0caec": {
      "main": [
        [
          {
            "node": "2c6cb6a6-e4b2-470d-8afb-b2c03b72e97b",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "30c415e0-58e0-48b9-b7e9-11dc5d979ac8": {
      "main": [
        [
          {
            "node": "16902ea9-197e-4cac-936e-83c1fc226854",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96a49fe4-d013-42c8-9ae8-11eb713e132f": {
      "ai_languageModel": [
        [
          {
            "node": "f6599d80-4301-4dd1-bc38-1c39e57e21cb",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "cb9939c6-1c5c-448b-ab3a-a66d90767cf2": {
      "ai_languageModel": [
        [
          {
            "node": "a27e8e28-cb43-4b3f-a96e-e986a25209fb",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "45e0b8ee-b830-48bc-8a9a-a426a7afcd43": {
      "main": [
        [
          {
            "node": "a27e8e28-cb43-4b3f-a96e-e986a25209fb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e132487d-da8c-4850-9d3f-9e057e9bde64": {
      "main": [
        [
          {
            "node": "2c7ffce1-8ace-418d-9738-c659f4554980",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2c7ffce1-8ace-418d-9738-c659f4554980": {
      "main": [
        [
          {
            "node": "ec725aa0-fd30-4d98-b984-0228873db428",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f6599d80-4301-4dd1-bc38-1c39e57e21cb": {
      "main": [
        [
          {
            "node": "80274aa5-bdf0-49bf-9980-0624d99d68ef",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bee496d6-fc2d-4f1c-812f-9d6be08154a7": {
      "main": [
        [
          {
            "node": "abafa8c6-55a0-488c-970e-d2a969ad7959",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "db2db976-7988-4939-a931-b6b2b98570aa": {
      "main": [
        [
          {
            "node": "a1b51932-2e2c-4e32-a37a-7ce94620cdd9",
            "type": "main",
            "index": 0
          },
          {
            "node": "5f7344d8-a277-457b-a33f-c48e2ced1e49",
            "type": "main",
            "index": 0
          },
          {
            "node": "31bc2347-2457-4fad-8436-09282df89609",
            "type": "main",
            "index": 0
          },
          {
            "node": "06e29e46-c3ce-4c9e-825d-39df924a607d",
            "type": "main",
            "index": 0
          },
          {
            "node": "4fb185bf-f237-4b71-8557-178f15f0caec",
            "type": "main",
            "index": 0
          },
          {
            "node": "6866a654-e6a7-4543-b98a-8288f9d04b47",
            "type": "main",
            "index": 0
          },
          {
            "node": "3f7560c8-3e4a-4d62-bf62-e8d543df8026",
            "type": "main",
            "index": 0
          },
          {
            "node": "3e4b6251-7c56-40ca-8fb6-4b77c910a2e6",
            "type": "main",
            "index": 0
          },
          {
            "node": "61f5f513-b7ec-40ca-a4a1-1b897f092a04",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7fffb23-dba4-4d1e-a42e-191a1414ec60": {
      "main": [
        [
          {
            "node": "67889216-2c0f-4ed8-ae54-8e7e7fdbac90",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "67889216-2c0f-4ed8-ae54-8e7e7fdbac90": {
      "main": [
        [
          {
            "node": "f6dda272-6129-4c04-b4c2-1e6bf5d156d8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "16902ea9-197e-4cac-936e-83c1fc226854": {
      "main": [
        [
          {
            "node": "a7fffb23-dba4-4d1e-a42e-191a1414ec60",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "80274aa5-bdf0-49bf-9980-0624d99d68ef": {
      "main": [
        [
          {
            "node": "e132487d-da8c-4850-9d3f-9e057e9bde64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "257eedc1-30c1-4e40-913b-24ceb018df28": {
      "main": [
        [
          {
            "node": "db2db976-7988-4939-a931-b6b2b98570aa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0695e935-93ac-48da-a893-1615ce22a6e7": {
      "ai_outputParser": [
        [
          {
            "node": "a27e8e28-cb43-4b3f-a96e-e986a25209fb",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "fa25f6bf-d05b-4b8d-8a8a-b8684c601510": {
      "main": [
        [
          {
            "node": "7a362123-c86c-45f9-b80c-a5660f92da46",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7a362123-c86c-45f9-b80c-a5660f92da46": {
      "main": [
        [
          {
            "node": "a9614733-44e3-4580-95f8-a955d9136be4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ae9da8d7-f2c4-4ada-897c-651176cbfdb6": {
      "main": [
        [
          {
            "node": "6527e03e-6417-45a5-95a8-2ef84b872df0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f6dda272-6129-4c04-b4c2-1e6bf5d156d8": {
      "main": [
        [
          {
            "node": "8b4c6b55-a0d7-4a19-b85c-1927ccb5eaa2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ff995af1-503e-4356-8e67-6392b4629496": {
      "main": [
        [
          {
            "node": "257eedc1-30c1-4e40-913b-24ceb018df28",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a8e85901-2451-4037-ba0c-aa2b229c9d0f": {
      "main": [
        [
          {
            "node": "ae9da8d7-f2c4-4ada-897c-651176cbfdb6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "efd41bb8-ecef-49ea-9051-ead169d6766b": {
      "ai_outputParser": [
        [
          {
            "node": "f6599d80-4301-4dd1-bc38-1c39e57e21cb",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "a27e8e28-cb43-4b3f-a96e-e986a25209fb": {
      "main": [
        [
          {
            "node": "30c415e0-58e0-48b9-b7e9-11dc5d979ac8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a9614733-44e3-4580-95f8-a955d9136be4": {
      "main": [
        [
          {
            "node": "a8e85901-2451-4037-ba0c-aa2b229c9d0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8b4c6b55-a0d7-4a19-b85c-1927ccb5eaa2": {
      "main": [
        [
          {
            "node": "ff995af1-503e-4356-8e67-6392b4629496",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "11f4ee14-912b-4a77-8696-7d36f7fc8a21": {
      "main": [
        [
          {
            "node": "a8e85901-2451-4037-ba0c-aa2b229c9d0f",
            "type": "main",
            "index": 0
          },
          {
            "node": "fa25f6bf-d05b-4b8d-8a8a-b8684c601510",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6527e03e-6417-45a5-95a8-2ef84b872df0": {
      "main": [
        [
          {
            "node": "6d78c44a-9073-4a2c-9a17-102c870b2162",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6d78c44a-9073-4a2c-9a17-102c870b2162": {
      "main": [
        [
          {
            "node": "f6599d80-4301-4dd1-bc38-1c39e57e21cb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ec725aa0-fd30-4d98-b984-0228873db428": {
      "main": [
        [
          {
            "node": "45e0b8ee-b830-48bc-8a9a-a426a7afcd43",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿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 - Productividad personal, Chatbot de IA

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos52
Categoría2
Tipos de nodos18
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34