- #bots
- #telegram
- #api-integration
- #social-media
- #automation
Tik2Insta
A Telegram bot that turned a TikTok link into an Instagram post, keeping the caption and hashtags and crediting the original creator. Python, FFmpeg and unofficial platform APIs.
- Role
- Solo developer, open source.
- Outcome
- Worked end to end for several weeks, until the unofficial TikTok and Instagram APIs changed under it. Retired as a proof of concept.
- Year
- 2023
- Status
- retired
- Stack
- Python
- python-telegram-bot
- FFmpeg
- Playwright
- TikTok API
- Instagram API
The start
An Instagram page that ran itself
I wanted to test an idea: an Instagram page about cute animals, fed by videos that already existed on TikTok, with every creator properly credited. The idea was simple. The work behind each post wasn't: download the video, re-encode it, retype the caption, copy the hashtags, credit the author. Every single time.
The goal
One link in, one post out
Turn all of that into a single gesture. Share a TikTok with a Telegram bot and get back a finished Instagram post, with the original description, the hashtags and a credit to the creator. Telegram would be the control panel: nothing to build for the interface, it works on every device, and progress updates are just messages.
The adventure
Four services, one pipeline
The bot listened for TikTok links, downloaded the video with its metadata, converted it with FFmpeg and published it on Instagram, reporting each step in the chat. For several weeks it did exactly what I wanted: I shared a video, watched the status messages roll in, and opened a finished post with its caption, hashtags and credit intact.
VideoSharing a TikTok with the bot and getting the Instagram post back0:00 / 0:00The difficulties
Building on ground that moves
Every external piece was unofficial. There's no public API for downloading TikToks or for posting as a regular Instagram account, so endpoints and authentication could change overnight. Both platforms also watch for automated traffic, which meant rate limiting, rotating user agents and spacing requests out. And TikTok's videos had to become something Instagram accepts without a visible loss in quality.
The end
A proof of concept that made its point
After several weeks, TikTok and Instagram changed the unofficial endpoints the bot relied on, and it stopped working. I kept it as a proof of concept instead of chasing a moving target. It showed that automated cross-platform conversion with proper attribution is feasible, and it taught me how much a system built on unofficial APIs depends on things you don't control. For anything meant to last, that dependency is the first thing to design around.
Telegram as the control panel
Send the bot a TikTok link from any device. It validates the link and reports every step back as a chat message.
Video processing
Downloads the video and re-encodes it into a format and aspect ratio Instagram accepts.
Instagram publishing
Posts the result automatically, with the caption formatted for Instagram.
Metadata kept intact
The original description and hashtags travel with the video, and every post credits the creator who made it.
Hands-off workflow
From the link to the published post with no manual step in between.
Several APIs, one flow
TikTok and Instagram's unofficial endpoints, each wrapped in its own small adapter.
The bot in action
Here's the whole workflow, from sharing a TikTok to opening the finished Instagram post.
- Share. The TikTok goes straight to the Telegram bot from the TikTok app.
- Processing. The bot replies with status messages as the conversion moves along.
- The link. When it's done, the bot sends the link to the new Instagram post.
- The result. Opening it shows the converted post, caption, hashtags and credit included.
The pipeline
Link detection
The bot watches its chat for TikTok links and validates them, whatever the URL format.Extraction
It downloads the video and reads the caption, hashtags and author through TikTok's unofficial endpoints.Re-encoding
FFmpeg converts the video for Instagram, keeping the quality and the aspect ratio.Publishing
It posts to Instagram with the original metadata and a credit, then replies with the post's link.
Under the hood
Telegram bot framework
python-telegram-bot
Handles the conversation: detecting links, answering, and sending status updates throughout the conversion.
TikTok integration
Unofficial endpoints
Provide the video, its metadata and the creator's details, across TikTok's different URL formats and video types.
Video processing
FFmpeg
Converts and optimizes each video so Instagram accepts it, keeping its quality and aspect ratio.
Instagram integration
Unofficial endpoints
Handle the upload, the caption formatting and the hashtags, within the platform's guidelines.
Challenges
Problem
Unofficial APIs
Endpoints and authentication methods changed often, and without notice.
Solution
Robust error handling and fallbacks around each integration, so a change failed gracefully instead of taking the whole bot down.
Problem
Video compatibility
TikTok's videos had to become Instagram-compatible without losing quality or metadata.
Solution
A dedicated FFmpeg pipeline with settings tuned to Instagram's requirements.
Problem
Rate limits and detection
Both platforms watch for automated traffic and throttle it.
Solution
Rate limiting, user-agent rotation and spaced-out requests kept the risk of detection low.
Skills I gained
Bot development in Python
python-telegram-bot
A Telegram bot that handles user interactions, detects links and reports progress in real time.
API integration
TikTok and Instagram
Authentication, rate limits and data extraction on unofficial APIs, plus fallbacks for when they change.
Video processing
FFmpeg
A conversion pipeline that turns TikTok videos into Instagram-ready files without hurting quality.
Automation workflows
Cross-platform content
An end-to-end flow for converting, crediting and publishing content with no manual steps.
Does Tik2Insta still work?
No. It ran for several weeks, then TikTok and Instagram changed the unofficial endpoints it depended on. I kept it as a proof of concept rather than chase every change.
Why a Telegram bot instead of a website?
Telegram gave me an interface for free: it works on every device, sharing a TikTok to it takes one tap, and progress updates are just messages in the chat.
Were the original creators credited?
Always. Each post kept the original description and hashtags and credited the creator of the video.
Is the code available?
Yes, the source is on GitHub.
Need something like this?
Tell me what it should do, where it runs and when you need it.
More work

- #discord
- #bots
- #api-integration
BotFire
A Discord bot for my streaming community: game suggestions and my Twitch schedule, synced to Google Calendar.

- #discord
- #bots
- #api-integration
LegitBot
A Discord bot that announced every diamond donation to the LEGIT clan, with an updated leaderboard.

- #computer-vision
- #automation
- #roblox
Leaf's Grand Blue Autofish
A free Windows app that fishes in Roblox Grand Blue for you and logs every catch it reads.