Skip to content
All work
  • #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
  1. 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.

  2. 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.

  3. 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 back
    0:00 / 0:00
  4. The 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.

  5. 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.

VideoSharing a TikTok with the bot and getting the Instagram post back
0:00 / 0:00
  1. Share. The TikTok goes straight to the Telegram bot from the TikTok app.
  2. Processing. The bot replies with status messages as the conversion moves along.
  3. The link. When it's done, the bot sends the link to the new Instagram post.
  4. The result. Opening it shows the converted post, caption, hashtags and credit included.

The pipeline

  1. Link detection

    The bot watches its chat for TikTok links and validates them, whatever the URL format.
  2. Extraction

    It downloads the video and reads the caption, hashtags and author through TikTok's unofficial endpoints.
  3. Re-encoding

    FFmpeg converts the video for Instagram, keeping the quality and the aspect ratio.
  4. 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.

Get in touch