{
  "name": "Translate and dub YouTube videos using BrowserAct, Telegram, Gemini & ElevenLabs",
  "nodes": [
    {
      "id": "a2e5d18a-5631-480e-89ce-41cc812b9444",
      "name": "Validate inputs",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        912,
        800
      ]
    },
    {
      "id": "f437d203-8a6d-40f1-9911-fee71f95164c",
      "name": "Analyze user Input",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        912,
        640
      ]
    },
    {
      "id": "02ea932e-5434-42e9-aa5a-682c38a15a06",
      "name": "Structured Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1968,
        944
      ]
    },
    {
      "id": "f76b656b-e44b-4c97-a452-422024237503",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1872,
        944
      ]
    },
    {
      "id": "e6a440ed-5a0f-48fa-897d-0e760d669504",
      "name": "Define Language",
      "type": "n8n-nodes-base.set",
      "position": [
        1456,
        736
      ]
    },
    {
      "id": "e9fd6b3c-ded4-411f-8a60-0cc30e8e1323",
      "name": "Convert text to speech",
      "type": "@elevenlabs/n8n-nodes-elevenlabs.elevenLabs",
      "position": [
        3024,
        912
      ]
    },
    {
      "id": "fd4a0b51-d92e-459a-8dfd-1af67ed71275",
      "name": "Extract Youtube Transcript",
      "type": "n8n-nodes-browseract.browserAct",
      "position": [
        1264,
        736
      ]
    },
    {
      "id": "a88ed8f6-377e-4739-ac07-ec7a760d52d2",
      "name": "Analyze Transcript and Generate Dub",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1872,
        736
      ]
    },
    {
      "id": "051a4cb9-1f5d-446e-9a51-86305cdfc35d",
      "name": "Check Output",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1968,
        1072
      ]
    },
    {
      "id": "df31ed0c-f266-4d26-93af-cfdec0b0ea79",
      "name": "Send Summary Back to Bot",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2816,
        736
      ]
    },
    {
      "id": "4922285b-51fd-46b2-a53e-49d443678e32",
      "name": "Split Generated Dubbed Content",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2576,
        896
      ]
    },
    {
      "id": "2a6218e0-c70f-4629-8a79-910c1a44565b",
      "name": "Send Dubbed Audio File",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3248,
        912
      ]
    },
    {
      "id": "d124c11a-6baa-4742-af24-f0b14edae011",
      "name": "Process Initialization Alert",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1264,
        592
      ]
    },
    {
      "id": "9a349b82-c0a1-4071-a6f3-7daf4fea4348",
      "name": "User Sends Message to Bot",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        720,
        640
      ]
    },
    {
      "id": "7d85a88e-8c3e-4928-9fde-fb24a593ea88",
      "name": "Documentation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        48
      ],
      "parameters": {
        "width": 380,
        "height": 520,
        "content": "## ⚡ Workflow Overview & Setup\n\n**Summary:** This automation takes a YouTube URL from Telegram, scrapes the transcript using BrowserAct, translates it into a target language, generates a dubbed audio "
      }
    },
    {
      "id": "7966e009-2d27-4ea1-a5fb-cbb065d2b2b5",
      "name": "Step 1 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        432
      ],
      "parameters": {
        "width": 876,
        "height": 140,
        "content": "### 🔍 Step 1: Input Analysis & Extraction\n\nThe workflow intercepts Telegram messages to identify YouTube links. An AI agent extracts the clean URL from natural language requests. If a valid link is fo"
      }
    },
    {
      "id": "fe1ae87f-a709-4e39-839a-9fbe0b4e63c6",
      "name": "Step 2 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1648,
        576
      ],
      "parameters": {
        "width": 764,
        "height": 124,
        "content": "### 📜 Step 2: Transcript Scrape & Translation\n\nBrowserAct automates a browser to extract the full transcript from the YouTube video page. The raw text is then processed by an AI agent that translates "
      }
    },
    {
      "id": "46429964-4518-48c9-bec3-e4795e45b867",
      "name": "Step 3 Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2576,
        576
      ],
      "parameters": {
        "width": 844,
        "height": 124,
        "content": "### 🎙️ Step 3: Dubbing Generation & Asset Delivery\n\nThe translated text is split into manageable segments and sent to ElevenLabs to generate high-quality speech audio in the target language. Simultane"
      }
    },
    {
      "id": "872560b8-2682-410d-a5b7-a133c76134bf",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        48
      ],
      "parameters": {
        "width": 576,
        "height": 352,
        "content": "@[youtube](vGJ2TdfGMpk)"
      }
    },
    {
      "id": "71c512bd-d92e-4b34-885c-c2afaa2489c0",
      "name": "Loop Over Generated Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2800,
        896
      ]
    }
  ],
  "connections": {
    "Check Output": {
      "ai_languageModel": [
        [
          {
            "node": "Structured Output",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Define Language": {
      "main": [
        [
          {
            "node": "Analyze Transcript and Generate Dub",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate inputs": {
      "ai_languageModel": [
        [
          {
            "node": "Analyze user Input",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output": {
      "ai_outputParser": [
        [
          {
            "node": "Analyze Transcript and Generate Dub",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Analyze user Input": {
      "main": [
        [
          {
            "node": "Process Initialization Alert",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Youtube Transcript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Analyze Transcript and Generate Dub",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Convert text to speech": {
      "main": [
        [
          {
            "node": "Send Dubbed Audio File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Dubbed Audio File": {
      "main": [
        [
          {
            "node": "Loop Over Generated Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Generated Items": {
      "main": [
        [],
        [
          {
            "node": "Convert text to speech",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "User Sends Message to Bot": {
      "main": [
        [
          {
            "node": "Analyze user Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Youtube Transcript": {
      "main": [
        [
          {
            "node": "Define Language",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Generated Dubbed Content": {
      "main": [
        [
          {
            "node": "Loop Over Generated Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Transcript and Generate Dub": {
      "main": [
        [
          {
            "node": "Send Summary Back to Bot",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split Generated Dubbed Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}