AutomationFlowsSlack & Telegram › Automatically Add Watermarks to Images with Telegram Bot and Imagekit.io

Automatically Add Watermarks to Images with Telegram Bot and Imagekit.io

ByMalik Hashir @malikx on n8n.io

This n8n workflow creates an automated Telegram bot that adds watermarks to images. When users send photos to the bot, it automatically processes them by applying a logo overlay and returns the watermarked version. The workflow is designed for content creators, businesses, or…

Event trigger★★★★☆ complexity15 nodesHTTP RequestTelegram TriggerTelegram
Slack & Telegram Trigger: Event Nodes: 15 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #11229 — we link there as the canonical source.

This workflow follows the HTTP Request → Telegram recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "a4445957-defc-4769-ad55-62e795507d35",
      "name": "Upload to ImageKit",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1488,
        512
      ],
      "parameters": {},
      "typeVersion": 4
    },
    {
      "id": "71165037-51f8-4ea2-a467-fc0772e3cc87",
      "name": "Telegram Trigger1",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        112,
        784
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f35481ad-ee5b-4650-9203-13391ff4a06f",
      "name": "Check if Photo1",
      "type": "n8n-nodes-base.if",
      "position": [
        512,
        784
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "761f8ac5-b6a1-4922-b198-4f36db5e6653",
      "name": "Send Error Message1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        768,
        800
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b2e91b69-7238-4149-b561-8481602c61b2",
      "name": "Get File Path",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        512
      ],
      "parameters": {},
      "typeVersion": 4
    },
    {
      "id": "104e96fb-2d05-44ec-88a2-e579bb27e307",
      "name": "Download Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1088,
        512
      ],
      "parameters": {},
      "typeVersion": 4
    },
    {
      "id": "c1e4d1b1-8ebb-4cae-be48-1f6c0af538c9",
      "name": "Send Watermarked Photo",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2192,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "598a0258-33cf-44c4-a0d6-df76dcd9c24b",
      "name": "Add Logo1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1760,
        512
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "06c9c04e-23ec-4b05-8758-0f4f10c98b26",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        528
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ef158cca-e14c-4f61-a4aa-3f952f5c26e6",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        704
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0cabcb1d-a697-4f41-931b-dcf382808d71",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        688,
        704
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9267abad-e342-40d7-8c52-3ecef135fabb",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        320
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "1d900555-92c8-4c07-b70a-42c77148111a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1344,
        320
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "e164da75-3dc3-4b93-b6ff-8b53dc5ea1cb",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        320
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "212a0acc-8e70-48ee-bbea-7d7cbf4ca896",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        48
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Add Logo1": {
      "main": [
        [
          {
            "node": "Send Watermarked Photo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get File Path": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Upload to ImageKit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if Photo1": {
      "main": [
        [
          {
            "node": "Get File Path",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Error Message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger1": {
      "main": [
        [
          {
            "node": "Check if Photo1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to ImageKit": {
      "main": [
        [
          {
            "node": "Add Logo1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This n8n workflow creates an automated Telegram bot that adds watermarks to images. When users send photos to the bot, it automatically processes them by applying a logo overlay and returns the watermarked version. The workflow is designed for content creators, businesses, or…

Source: https://n8n.io/workflows/11229/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

Try on any outfit virtually - right inside Telegram. A user sends a person photo, then a garment photo (captioned ), and the bot replies with an AI-generated try-on result image using a dedicated Virt

Telegram Trigger, Telegram, Google Sheets +1
Slack & Telegram

A robust n8n workflow designed to enhance Telegram bot functionality for user management and broadcasting. It facilitates automatic support ticket creation, efficient user data storage in Redis, and a

HTTP Request, Redis, Telegram +1
Slack & Telegram

Transform your digital payment business with a fully-featured Telegram bot that handles everything from product listings to transaction processing. Perfect for entrepreneurs looking to automate their

Telegram Trigger, Telegram, HTTP Request
Slack & Telegram

TGBot. Uses telegram, googleSheets, telegramTrigger, httpRequest. Event-driven trigger; 30 nodes.

Telegram, Google Sheets, Telegram Trigger +1
Slack & Telegram

This template provides a workflow to integrate a Telegram bot with NeurochainAI's inference capabilities, supporting both text processing and image generation. Follow these steps to get started:

Telegram Trigger, HTTP Request, Telegram