---
title: "Telegram photo to ad image and video maker"
kind: "Kit"
category: "Marketing & SEO"
price: "Free"
seller: "Mindket"
version: "2"
url: "https://mindket.com/p/cb089686-8207-4de0-bc10-6bd3d404bcbe"
updated: "2026-11-09"
---

# Telegram photo to ad image and video maker

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow that turns a photo sent to a Telegram bot into two ad concepts, each with an image ad and a short video ad. OpenAI reads the photo and writes the concepts, Nano Banana and Veo 3 Fast on Kie.ai make the media, and Google Sheets and Drive keep the results.

Telegram photo to ad image and video maker is an n8n workflow in the Marketing \& SEO category, listed by Mindket. It is free. This is version 2, last updated on 2026-11-09. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow turns a photo sent to a Telegram bot into two ad concepts, and gives each one an image ad and a short video ad. It runs 34 nodes in three stages. First, OpenAI reads the photo as YAML: brand, colors, fonts and what is shown. An agent named Campaign Strategy Generator then writes two concepts, which land as rows in a Google Sheet with a slogan, a character, a visual guide and three hex colors. Next, a second agent writes an image prompt for each row, Nano Banana Edit on Kie.ai redraws your photo as a 9:16 ad, and the file goes to Google Drive. Last, OpenAI looks at that image and writes a video prompt, Veo 3 Fast on Kie.ai animates it, and the clip goes to Drive too.

### Who it suits

Shop owners, brand teams and social media managers who want ad drafts from a phone photo, and agencies that test a few angles on a product before anyone briefs a designer. Skip it if you do not use n8n yet, or if you want one polished ad rather than a pair of drafts that you still have to review, pick from and finish yourself.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Online retail | Shop owners | Photograph each new product and send it to the bot | An owner sends a photo of a new tote bag and finds two concepts with their media in the sheet and in Drive. |
| Social media agencies | Content managers | Put the audience in the caption and send a client’s product shots | A manager captions a shoe photo with the audience she wants and shows the client two angles the same day. |
| Food and drink | Brand teams | Send pack shots, and the pack’s colors and fonts carry into the ad | A snack brand sends its pack shot and gets a vertical ad in the pack’s own colors. |
| Character brands | Illustrators and creators | Send a picture of a character, because the photo step has a branch for characters | A creator sends a mascot drawing and gets ads built around it. |

### Where to use it

Any n8n that Telegram can reach. The Telegram trigger needs a public HTTPS address, which n8n Cloud comes with and which a server of your own may need a reverse proxy or a tunnel to provide.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file, with a public HTTPS address for the Telegram trigger
- Telegram: you send the photo from your phone and the bot answers in the same chat
- Google Drive and Google Sheets: the finished files and the rows live there

### How to set it up

Get it saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Its author puts setup at about 20 minutes, which assumes the accounts exist.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud, or on your own server with a public HTTPS address |
| Telegram | A bot made with BotFather, and its token |
| OpenAI | A key. The file uses gpt-4.1 and chatgpt-4o-latest |
| Google | One account for Sheets and Drive, a sheet with the columns below, and two Drive folders |
| Kie.ai | A key, for Nano Banana Edit and Veo 3 Fast |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add a Telegram credential with your bot token and select it in `Telegram Trigger`, `Send request msg` and `Send completed msg`.
3. Open `Set Bot ID` and replace `YOUR_BOT_TOKEN` with the same token. The photo’s download link is built from it.
4. Add an OpenAI credential and select it in `GPT`, `OpenAI Chat Model`, `Describe Image` and `Video Prompt Creator`.
5. Make a sheet whose first row holds the columns below. Add a Google Sheets credential, select it in all seven Sheets nodes, and in each one replace `YOUR_SHEET_ID` with your sheet’s ID and pick the sheet again.
6. Make two Drive folders and add a Google Drive credential. In `Upload file` replace `YOUR_IMAGE_FOLDER_ID`, and in `Upload file1` replace `YOUR_VIDEO_FOLDER_ID`.
7. In `Create Image`, `Get Image`, `Create Video` and `Get Video`, replace `<YOUR_KIE_API_KEY>` with your Kie.ai key and keep the word Bearer before it.
8. Save, press Execute workflow, send your bot a photo with a caption, then press Publish when the test works.

```text
index, ad_copy, product, character, visual_guide, 1_color, 2_color, 3_color, image_status, image_link, video_status, video_prompt, video_aspectratio, video_link
```

### How to use it

Send your bot a photo of a product or a character. A caption is optional. Use it to name the audience or the mood, and without one the agent falls back on a default request. The bot replies once it has read the photo. The two rows appear in the sheet a little later. The image takes at least 20 seconds and the video at least a minute. The workflow waits that long, asks Kie.ai for the result, and asks again until it reports success or failure. The bot sends a closing message for each concept whose video is in Drive.

What to change for a different result

| To change | Where |
| --- | --- |
| Number of concepts, slogan length | The system message in \`Campaign Strategy Generator\`, which asks for exactly two |
| Image style and text placement | The system message in \`Image prompt Creator\`, which carries the typography rules |
| Frame | \`image\_size\` in \`Create Image\` and \`video\_aspectratio\` in \`Prepare Sheet format\`, both 9:16 |
| Video length and motion | The prompt in \`Video Prompt Creator\`, which asks for 8 seconds |
| Waiting time | \`Wait\` (20 seconds) and \`Wait 2\` (60 seconds) |
| Where files go | The two upload nodes |

### Example

A photo of a canned iced tea, sent with the caption `ads for office workers who skip lunch`. OpenAI describes the can, and the strategist returns two concepts in this shape, trimmed here.

```json
{
  "index": "01",
  "ad_copy": "…",
  "product": "…",
  "character": "…",
  "visual_guide": "…",
  "1_color": "#…",
  "2_color": "#…",
  "3_color": "#…",
  "image_status": "create",
  "video_status": "create"
}
```

The sheet then shows `create` turning to `done` for the image and again for the video, with a Drive link in `image_link` and `video_link`. A status of `error` means Kie.ai reported a failed task.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A credential is a key n8n keeps for you and hands to the node you pick it in. Kie.ai makes the image and the clip on its own servers, which takes a while, so the workflow keeps waiting and asking. Run it once with a test photo. Then open each node: it shows what it received and what it sent, which is where a wrong key or sheet ID turns up.

**For experts.** Four AI steps do the thinking and two Kie.ai models do the drawing.

The model behind each step

| Step | Model | What to know |
| --- | --- | --- |
| \`Describe Image\` and \`Video Prompt Creator\` | OpenAI chatgpt-4o-latest, image analysis | Check the name is still offered on your account, and pick another vision model if it is not |
| \`Campaign Strategy Generator\` and \`Image prompt Creator\` | gpt-4.1, through \`OpenAI Chat Model\` and \`GPT\` | Each agent has an output parser that holds its answer to a JSON shape, and the image agent also has a Think tool |
| \`Create Image\` | google/nano-banana-edit on Kie.ai | Edits your photo, so the product keeps its look. The prompt forbids recoloring it |
| \`Create Video\` | veo3\_fast on Kie.ai | Animates the generated image, not your photo |

Two habits of the sheet logic matter if you reuse it. Each run numbers its concepts `01` and `02`, and the match column is `index`. A new photo therefore replaces the rows of the last one, while the files in Drive stay, so rows you want to keep need copying out first. The node `Get Rows to Create` reads every row whose `image_status` is `create`, so a row left behind by a stopped run is picked up by the next one. One loose end: the image agent reads a `text_watermark` field that nothing in the file fills.

### Good to know

Each run costs money. The open bot and the photo’s link are the risks to plan for.

- Billing: OpenAI and Kie.ai each bill their own part, and a run makes several calls to each
- Open bot: the trigger has no filter on who writes, so anyone who finds your bot can send it a photo and spend your credits. Add an IF node after it that checks the sender’s ID
- Token in the link: the photo reaches OpenAI and Kie.ai as a Telegram file link, and that link contains your bot token. Use a bot made for this workflow
- No photo, no run: a message without a photo stops at \`Get Image Path\` with an error
- No cap on retries: the status checks repeat until Kie.ai answers, so watch your first runs
- Credentials: the JSON holds none, and nothing from its author’s account

## README

```markdown
# Telegram photo to ad image and video maker

An n8n workflow. Send a photo to your Telegram bot and it writes two ad concepts, then makes an image ad and a short
video ad for each one.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 34 nodes. It holds no credential, and the sheet, folder and key
  values are placeholders such as `YOUR_SHEET_ID`.
- One repair: the original copy had lost the backslashes in `Create Image`'s body, so the prompt's quotation marks went
  out unescaped and every letter n turned into a line break. Mindket put them back.
- `README.md`: these notes.

## Before you start

- An n8n instance with a public HTTPS address (n8n Cloud, or your own server), so Telegram can reach the trigger.
- A Telegram bot made with BotFather, and its token.
- An OpenAI API key. The file uses gpt-4.1 and chatgpt-4o-latest.
- A Google account for Sheets and Drive, with a sheet and two Drive folders (below).
- A Kie.ai API key.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add a Telegram credential with your bot token and select it in `Telegram Trigger`, `Send request msg` and
   `Send completed msg`.
3. Open `Set Bot ID` and replace `YOUR_BOT_TOKEN` with the same token. The photo's download link is built from it.
4. Add an OpenAI credential and select it in `GPT`, `OpenAI Chat Model`, `Describe Image` and `Video Prompt Creator`.
5. Make the sheet (below). Add a Google Sheets credential and select it in all seven Sheets nodes (`Append or update
   row in sheet`, `Get Rows to Create`, `Update Row as Done`, `Update Row as Error`, `Update Video Prompt`,
   `Update in Row as Done`, `Update in Row as Error`). In each, replace `YOUR_SHEET_ID` with your sheet's ID and pick
   the sheet again.
6. Make two Drive folders and add a Google Drive credential. In `Upload file` replace `YOUR_IMAGE_FOLDER_ID`, and in
   `Upload file1` replace `YOUR_VIDEO_FOLDER_ID`.
7. In `Create Image`, `Get Image`, `Create Video` and `Get Video`, replace `<YOUR_KIE_API_KEY>` with your Kie.ai key.
   Keep the word Bearer before it.
8. Save and press Execute workflow, then send your bot a photo with a caption. When the test works, press Publish.

## The sheet

Row 1 holds these column names, in any order. Every Sheets node reads and writes them by name.

| Column | What it holds |
|---|---|
| `index` | `01` or `02`, the concept's number. It is the match column |
| `ad_copy`, `product`, `character`, `visual_guide` | the concept, as the strategist writes it |
| `1_color`, `2_color`, `3_color` | three hex colors read from the photo |
| `image_status`, `video_status` | `create`, then `done` or `error` |
| `image_link`, `video_link` | the Drive link of each finished file |
| `video_prompt`, `video_aspectratio` | what the video step was given, and its frame (9:16) |

## Change the look

- Number of concepts and the slogan: the system message in `Campaign Strategy Generator`. It asks for exactly two.
- Image style and text placement: the system message in `Image prompt Creator`.
- Frame: `image_size` in `Create Image`, and `video_aspectratio` in `Prepare Sheet format`. Both are 9:16.
- Video length and motion: the prompt in `Video Prompt Creator`, which asks for 8 seconds.
- Waiting time: `Wait` (20 seconds, images) and `Wait 2` (60 seconds, videos).

## Good to know

- A new photo replaces the last run's two rows, because every run numbers its concepts `01` and `02` and the match
  column is `index`. The files in Drive stay. Copy rows you want to keep.
- `Get Rows to Create` reads every row whose `image_status` is `create`, so a row left by a stopped run is picked up
  by the next one.
- The trigger has no filter on who writes. Anyone who finds your bot can send it a photo and spend your OpenAI and
  Kie.ai credits. Add an IF node after the trigger that checks the sender's ID.
- The photo reaches OpenAI and Kie.ai as a Telegram file link, and that link contains your bot token. Use a bot made
  for this workflow.
- A message without a photo stops at `Get Image Path` with an error.
- The status checks repeat until Kie.ai answers, with no limit, so watch your first runs.
- `chatgpt-4o-latest` is a model name OpenAI may retire. If your account no longer lists it, pick another vision model
  in `Describe Image` and `Video Prompt Creator`.
```

## What is in it

2 files, 75 KB, downloaded as a zip.

```text
README.md  4 KB
workflow.json  71 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 29 steps, starting on a Telegram event
- AI: 4 steps call an AI model: Describe Image, Campaign Strategy Generator, Image prompt Creator and Video Prompt Creator
- Sign-ins: Signs in to: OpenAI, Telegram, Google Sheets, Google Drive and Kie.ai
- API keys: No API key is left in the file; 1 blank in it for your own key
- Step types: Mindket’s checker reads all 11 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/cb089686-8207-4de0-bc10-6bd3d404bcbe)
- [Its page on Mindket](https://mindket.com/p/cb089686-8207-4de0-bc10-6bd3d404bcbe)
