# π InstaTube-Automator
**Automated Instagram-to-YouTube Publishing with Precision, Intelligence & Zero Manual Work**
> _This project is my proof of belief. Built out of passion, not pressure. Automation is not just what I do β itβs how I think._
## π Table of Contents
- [π§ Why](#-why)
- [βοΈ How It Works](#οΈ-how-it-works)
- [π οΈ What's Inside](#-whats-inside)
- [β¨ Features](#-features)
- [π¦ Tech Stack](#-tech-stack)
- [π¨βπ» Author's Note](#-authors-note)
- [π Legal & Disclaimer](#-legal--disclaimer)
- [πΊ Demo Channel](#-demo-channel)
- [π© Contact](#-contact)
- [π License](#-license)
## π§ Why
In a world overflowing with content, creators waste hours on repetitive tasks β
downloading, renaming, uploading, rewriting descriptions, managing metadata... again and again.
I didnβt build this for a resume.
I built it because I **couldnβt resist the challenge**.
I love automation. I love building systems that remove friction, save time, and scale like magic.
That love drove me through **6+ months** of late nights, debugging, refactoring, and refining β not because someone asked me to, but because it felt right.
This isnβt just code.
This is a **belief system**:
- That a solo developer can build tools as powerful as a team
- That real engineering solves real-world chaos
- That curiosity, when paired with structure, becomes pure power
---
## βοΈ How It Works
`InstaTube-Automator` is a **modular automation system** that connects Instagram and YouTube through intelligent workflows.
### π What it does:
- π₯ Downloads reels from Instagram (filtered by category, views, time)
- π§ Auto-generates **titles, descriptions, and tags** if missing
- π Uploads videos to YouTube using Selenium (title, thumbnail, age restriction, visibility, etc.)
- π Supports multiple YouTube channels with **upload limits**, history tracking, and rotation
- π¬ Sends **email notifications** with status updates
- π§Ό Avoids duplicates via hashed logs & session control
- π§ Handles metadata quality, browser sessions, and error fallback logic
---
## π οΈ What's Inside
### π§Ύ Major Folders and Responsibilities
```text
π cleanup/ β Removes previously uploaded files
π download_upload/ β Downloads Instagram reels using smart configs
π preprocessing/ β Auto-generates metadata (title, tags, description)
π upload_to_youtube/ β Handles full YouTube upload via Selenium
π youtube_channels/ β Multi-channel management, configs, and logs
π main.py β Main orchestrator
π instagram_download.py β Standalone downloader
π notification_via_mail.py β Sends channel status via emailautomated-youtube-upload/
β
βββ cleanup/
β βββ delete_uploaded_files.py
β
βββ download_upload/
β βββ categories.json
β βββ instagram_download.py
β βββ download_check.py
β βββ move_video_files.py
β βββ instaloader_session/
β
βββ preprocessing/
β βββ duration.py
β βββ get_description.py
β βββ get_tags.py
β βββ get_title.py
β βββ get_video_text_image_file.py
β βββ preprocessing.py
β βββ title_description_tags.py
β
βββ upload_to_youtube/
β βββ youtube_details.py
β βββ youtube_uploading.py
β
βββ youtube_channels/
β βββ categories/
β β βββ memes/
β β βββ nature/
β β βββ ...
β βββ channels/
β β βββ channel_management/
β β βββ description.json
β β βββ hashtags.json
β β βββ download_config.json
β β βββ downloaded_links.json
β β βββ video_files_path.json
β βββ channel_selection.py
β βββ check_upload_policy.py
β βββ copy_file_path.py
β
βββ main.py
βββ instagram_download.py
βββ notification_via_mail.py
βββ requirements.txt
βββ LICENSE
βββ README.md
- β Intelligent, structured automation (not just scripting)
- β Real-time email notifications
- β Seamless multi-channel upload support
- β Category-based video download filtering
- β Metadata generation and validation pipeline
- β History logs to prevent duplicates
- β JSON-based configurations for flexibility
- β Selenium-powered, human-like browser interaction
- Python 3.x
- Selenium + Firefox + Geckodriver
- Instaloader
- Pillow, Requests, SMTP
- JSON-based state/config management
This isnβt just an automation tool. Itβs a reflection of how I think:
- I see a broken process β I fix it
- I see friction β I remove it
- I see repetition β I automate it
This project represents:
- π§ My belief in deep work
- π§ My love for thoughtful system design
- π My obsession with solving real inefficiencies
I donβt just code to get a job. I code to express myself. I code to build things that think.
β οΈ This project is intended strictly for educational, personal, and non-commercial use.
By using this code, you agree to the following:
- π This tool interacts with Instagram and YouTube, which have strict Terms of Service regarding automation, scraping, and bot usage.
- β Unauthorized automation may violate their terms and can lead to temporary/permanent bans of user accounts or channels.
β οΈ The author does NOT take responsibility for:- Account suspension or termination
- Data loss
- API or browser changes that break functionality
- Any financial, reputational, or legal loss caused by using or modifying this tool
π§ͺ This project was created solely to:
- Demonstrate technical ability in automation and systems design
- Practice ethical software engineering
- Learn from real-world browser interaction challenges
π Use this code only at your own risk, for learning and sandbox testing.
π« Do not use it for spamming, scraping unauthorized content, or violating any platformβs policy.
Want to see the automation in action?
π¬ @disconum on YouTube
These are real videos uploaded using this system. For testing & proof-of-concept only.
If you're a developer, recruiter, or creator who shares this mindset β Iβd love to connect:
- π§ Email: manjunathakoshinum@gmail.com
- π GitHub: @manjunathakoshinum
- πΌ LinkedIn: https://www.linkedin.com/in/manjunathah/
This project is licensed under the Apache License 2.0 β see the LICENSE file for full details.
You are free to use, modify, and distribute this code for personal or educational purposes, but must include proper attribution and retain the license terms.