Skip to content

πŸ“‘ InstaTube-Automator From Reels to Reach: Automate Your Way to Scalable, Multi-Channel Video Publishing

Notifications You must be signed in to change notification settings

manj-h/InstaTube-Automator

Repository files navigation

# πŸš€ 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 email

πŸ“‚ Full Project Structure

automated-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

✨ Features

  • βœ… 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

πŸ“¦ Tech Stack

  • Python 3.x
  • Selenium + Firefox + Geckodriver
  • Instaloader
  • Pillow, Requests, SMTP
  • JSON-based state/config management

πŸ‘¨β€πŸ’» Author's Note

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.

πŸ“› Legal & Disclaimer

⚠️ 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.


πŸ“Ί Demo Channel

Want to see the automation in action?

🎬 @disconum on YouTube

These are real videos uploaded using this system. For testing & proof-of-concept only.


πŸ“© Contact

If you're a developer, recruiter, or creator who shares this mindset β€” I’d love to connect:


πŸ“„ License

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.

About

πŸ“‘ InstaTube-Automator From Reels to Reach: Automate Your Way to Scalable, Multi-Channel Video Publishing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages