Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow for a Telegram bot that takes marketing requests by text, voice note or captioned photo. A Gemini agent passes each one to your own sub-workflow for an image, a video, or a LinkedIn, Instagram or Facebook post.
Telegram marketing agent for images, videos and posts is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Create Image imageTitle (four words at most), imagePrompt, chatID Video Image link, User request, chatID, Cloud name, folder, Upload Preset, Kie.ai API LinkedIn postTopic, targetAudience, chatID, Gemini API
Telegram message
It starts when your bot receives a message, in one of three forms:
Marketing images, videos and posts started from one Telegram chat and made by your own sub-workflows
What you need before you start.
Chat bot
Brings in each message and its files, and sends the agent’s reply back to the chat.
NeedsA bot token from BotFather
Language model
Runs gemini-2.5-pro for the agent and gemini-2.5-flash for voice notes. Its key also goes to the post sub-workflows.
NeedsGemini API key
Media storage
Hosts each photo you send at a public address the video sub-workflow can use.
NeedsCloud name and an unsigned upload preset
Video generation
Its key is passed on to your video sub-workflow, which makes the clip.
NeedsKie.ai API key, typed into API Values
Checked by Mindket on 13 Nov 2026
This n8n workflow puts a Telegram bot in front of your content workflows. You tell the bot what you need, typed, spoken or as a photo with a caption. A Gemini 2.5 Pro agent works out which kind of content you asked for: a picture, a clip, or a post for one of three networks. Then it calls the sub-workflow you built for that job. Voice notes are transcribed first, and photos go to Cloudinary so the video tool gets a link. The bot answers with a short line. 24 nodes, six of them notes.
Small teams and solo marketers who already have n8n workflows that make images, videos or posts, and want to start them from a phone. Skip it if you have none yet. This file makes nothing by itself, and the five sub-workflows are not in it.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Small businesses | Owners who do their own marketing | Ask for a post or a flyer between jobs | A café owner sends a voice note asking for an Instagram post about the new lunch menu. |
| Agencies | Account managers | Put one bot in front of the agency’s content workflows | An account manager types a LinkedIn post request for a client right after a call. |
| Online retail | Product marketers | Send a product photo with a caption to start a video | A marketer photographs a new sneaker and asks for a short summer ad in the caption. |
| Events | Event organizers | Ask for a poster image as soon as plans change | An organizer requests a poster with the new date while still at the venue. |
You need solid n8n: importing a file, three credentials, five values, and five sub-workflows that accept the right fields. Its author puts setup at about 11 minutes, which leaves out building the sub-workflows.
Any n8n that Telegram can reach over the internet will run it.
Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Build the sub-workflows before you publish.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server Telegram can reach |
| Telegram | A bot and its token, from BotFather |
| Google Gemini | An API key, for the agent and the transcription |
| Cloudinary | A cloud name and an unsigned upload preset |
| Sub-workflows | Five of your own, and a Kie.ai key for the video one |
workflow.json.Telegram Trigger, Download Voice File, Get a file and Telegram.Google Gemini (PaLM) API credential and select it in Transcribe Audio and 2.5 Flash.API Values: three from Cloudinary, then your Gemini and Kie.ai keys.Create Image, Video, LinkedIn, Instagram and Facebook.Telegram Trigger, add your Telegram user ID under Restrict to User IDs.Each sub-workflow receives these fields from its tool. chatID lets it send its result to the chat itself:
Create Image imageTitle (four words at most), imagePrompt, chatID Video Image link, User request, chatID, Cloud name, folder, Upload Preset, Kie.ai API LinkedIn postTopic, targetAudience, chatID, Gemini API Instagram postTopic, targetAudience, chatID, Gemini API Facebook postTopic, targetAudience, chatID, Gemini API
Message the bot. A request for a LinkedIn post about your new prices, aimed at small business owners, reaches the LinkedIn tool with a topic and an audience. A voice note works the same way once it is transcribed. For a video from a picture, send the photo with your request as its caption. A photo with no caption gets no answer. The bot replies with one line, and the result comes from your sub-workflow.
| To change | Where |
|---|---|
| The agent’s rules | The system message of Marketing Team Agent |
| The model | 2.5 Flash, which runs models/gemini-2.5-pro despite its name |
| Message types | The three rules of Switch |
| The photo folder | folder in API Values |
| The reply | The text of Telegram, and the two fixed lines in the agent’s prompt |
You send a photo of a new sneaker with the caption “short ad video, summer mood”. After the upload, the agent receives this text:
Image Link: https://res.cloudinary.com/<your cloud name>/image/upload/…/sneaker.jpg User Request: short ad video, summer mood
It calls video with that link and that request, plus your Cloudinary values and the Kie.ai key. Your video sub-workflow makes the clip and sends it to the chat. The bot itself answers with the success line from its prompt.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. The agent sits in the middle, with its model and tools hanging under it on thin lines. Each tool here is a whole other workflow. Build the image one first and point Create Image at it. Then ask the bot for an image of a red bicycle and open the run to see the tool call.
For experts. The agent is a router with no memory. Its prompt forbids it to write content, so every result you see comes from a sub-workflow.
| Node | Model or call | What to know |
|---|---|---|
Transcribe Audio | gemini-2.5-flash, audio transcription | Its answer sits in content.parts[0].text, which the agent’s prompt now reads |
Marketing Team Agent | gemini-2.5-pro through 2.5 Flash | Six tools, Think among them. Its prompt asks for one tool call, then for several |
Image Upload | POST to Cloudinary’s image upload endpoint | Goes on after an error, so a failed upload reaches the agent as an empty link |
| The five tools | Call n8n Workflow tools | Create Image, Video and LinkedIn set their tool names. Instagram and Facebook take theirs from the node’s name |
You build the five sub-workflows, and the bot answers anyone until you restrict it.
Telegram Trigger, anyone who finds the bot can spend your Gemini, Cloudinary and Kie.ai creditGet a file takes the medium copy Telegram sends. Use {{ $json.message.photo.last().file_id }} there for the largestgemini-2.5-pro or gemini-2.5-flashAPI Values travel to the sub-workflows as fields and show in every run’s datagemini-2.5-pro agent run, a voice note one transcription more, and each sub-workflow bills on its ownAn n8n workflow for a Telegram bot that takes marketing requests by text, voice note or captioned photo. A Gemini agent
reads each request and hands it to one of five sub-workflows of your own: an image, a video, or a post for LinkedIn,
Instagram or Facebook. The sub-workflows do the making. This file is the front desk.
workflow.json: the workflow as n8n exports it, 24 nodes. Six are sticky notes that name its parts: the trigger, theREADME.md: these notes.Create Image, Create Video, LinkedIn Post,Insta post and Facebook post. Each now arrives empty, and you pick your own.Transcribe Audio returns Gemini's answer as content.parts[0].text, whileMarketing Team Agent read only $json.text, so it got an empty prompt in place of what was said. Its prompt now reads{{ $json.text || $json.content.parts[0].text }}, which leaves text and photo messages as they were.workflow.json.Telegram Trigger, Download Voice File, Get a fileTelegram.Google Gemini (PaLM) API credential with your key. Select it in Transcribe Audio and 2.5 Flash.API Values and fill the five fields: Cloud name, folder and Upload Preset from Cloudinary, then yourGemini API and your Kie.ai key in Kie ai API.Create Image, Video, LinkedIn, Instagram and Facebook, and pick the matching sub-workflow in each.Telegram Trigger, add your Telegram user ID under Restrict to User IDs, so strangers cannot use the bot.All five get chatID, the Telegram chat the request came from, so each can send its own result to the user. The rest
of the fields come from the agent, which fills them from the message, or from API Values.
Create Image imageTitle (four words at most), imagePrompt, chatID
Video Image link, User request, chatID, Cloud name, folder, Upload Preset, Kie.ai API
LinkedIn postTopic, targetAudience, chatID, Gemini API
Instagram postTopic, targetAudience, chatID, Gemini API
Facebook postTopic, targetAudience, chatID, Gemini API
Telegram Trigger receives each new message, and API Values adds your five values to it.Switch sorts the message, and the first rule that matches wins. A voice note goes to Download Voice File andTranscribe Audio, which has gemini-2.5-flash write out what was said. Plain text goes to Set 'Text'. A photo withGet a file, then Image Upload puts it on Cloudinary, and Set writes the request as the image'sMarketing Team Agent reads the request with the model in 2.5 Flash and calls one tool. Its system message tells itThink, and when it still cannot decide itTelegram sends the agent's last words to the chat, or Done. when it has none. The prompt asks for one fixed line onA photo sent with no caption matches no rule, so the bot does not answer it.
Marketing Team Agent. Add a tool there and in the canvas to give it a2.5 Flash runs models/gemini-2.5-pro, despite its name. Pick a Flash model there for lower cost.Switch.folder in API Values.Telegram, and the two fixed lines in the agent's prompt.Telegram Trigger, anyone who finds the bot can spend your Gemini,Get a file takes the second of the sizes Telegram sends with each photo, a medium copy, and that is what the{{ $json.message.photo.last().file_id }} in its file ID for the largest.Image Upload carries on after an error, so the agent then gets an empty image address.gemini-2.5-pro orgemini-2.5-flash.API Values travel to the sub-workflows as fields, and they show ingemini-2.5-pro agent run, a voice note one gemini-2.5-flash call more, and eachREADME.md 6 KB workflow.json 29 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…