{"id":28471488,"url":"https://github.com/xjectro/youtube-automation","last_synced_at":"2026-04-29T15:05:50.645Z","repository":{"id":297700379,"uuid":"997642516","full_name":"Xjectro/youtube-automation","owner":"Xjectro","description":"This project is a bot that automatically downloads memes from Reddit and uploads them as YouTube Shorts. 🚀","archived":false,"fork":false,"pushed_at":"2025-06-06T23:08:08.000Z","size":54790,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-06T23:26:33.433Z","etag":null,"topics":["automation","pip","python","python3","youtube","youtube-api","youtube-api-v3","youtube-auto-upload","youtube-automation","youtube-bot","youtube-downloader","youtube-music","youtube-player","youtube-playlist","youtube-search","youtube-shorts","youtube-shorts-bot","youtube-subscribers","youtube-video","youtube-videos"],"latest_commit_sha":null,"homepage":"https://xjectro.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xjectro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-06T22:09:28.000Z","updated_at":"2025-06-06T23:08:11.000Z","dependencies_parsed_at":"2025-06-06T23:37:06.224Z","dependency_job_id":null,"html_url":"https://github.com/Xjectro/youtube-automation","commit_stats":null,"previous_names":["xjectro/youtube-automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Xjectro/youtube-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xjectro%2Fyoutube-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xjectro%2Fyoutube-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xjectro%2Fyoutube-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xjectro%2Fyoutube-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xjectro","download_url":"https://codeload.github.com/Xjectro/youtube-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xjectro%2Fyoutube-automation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263039353,"owners_count":23404161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","pip","python","python3","youtube","youtube-api","youtube-api-v3","youtube-auto-upload","youtube-automation","youtube-bot","youtube-downloader","youtube-music","youtube-player","youtube-playlist","youtube-search","youtube-shorts","youtube-shorts-bot","youtube-subscribers","youtube-video","youtube-videos"],"created_at":"2025-06-07T11:00:40.944Z","updated_at":"2026-04-29T15:05:50.628Z","avatar_url":"https://github.com/Xjectro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YouTube Meme Automation Bot 🤖🎬\n\nThis project is a bot that automatically downloads popular meme videos and gifs from Reddit, merges them with sound effects, and uploads them as YouTube Shorts. 🚀\n\n## Features ✨\n\n- Fetches popular meme content in mp4 and gif format from Reddit.\n- Merges videos/gifs with random sound effects.\n- Automatically uploads to YouTube Shorts.\n- Tracks uploaded memes to avoid duplicates.\n- Waits and retries automatically if YouTube upload limit is reached.\n- Easily add your own sound effects.\n\n## Installation 🛠️\n\n### Requirements\n\n- Python 3.8+\n- `ffmpeg` (for video/gif processing)\n- Required Python packages (listed in `requirements.txt`)\n\n### Steps\n\n1. **Clone or download the project.**\n2. **Install dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   ```\n3. **Get your Reddit API keys and add them to a `.env` file:**\n   ```env\n   REDDIT_CLIENT_ID=xxx\n   REDDIT_CLIENT_SECRET=xxx\n   REDDIT_USER_AGENT=xxx\n   ```\n4. **Get Google Cloud OAuth2 client credentials for the YouTube API and place them in the `secrets/` folder:**\n   - `client_secrets.json` and `token.json` (created on first run) are required.\n5. **Make sure `ffmpeg` is installed:**\n   ```powershell\n   # For Windows, download from https://ffmpeg.org/download.html and add to PATH\n   ```\n   For Linux:\n   ```bash\n   sudo apt install ffmpeg\n   ```\n\n## Usage ▶️\n\n```bash\npython main.py\n```\n\n- The script runs in an infinite loop, finding and uploading a new meme each cycle. 🔄\n- If the upload limit is reached, it waits and retries automatically. ⏱️\n\n### Run in Background 🖥️\n\n- You can use `tmux`, `screen`, or `nohup` to run in the background:\n  ```bash\n  nohup python main.py \u003e output.log 2\u003e\u00261 \u0026\n  ```\n\n## Folders and Files 📁\n\n- `memes/` : Downloaded meme files\n- `sounds/` : Sound effects (add your own if you like)\n- `secrets/` : API credentials\n- `used_memes.txt` : Used meme IDs (prevents re-upload)\n- `src/` : All source code and helper modules\n\n## Notes 📝\n\n- Only downloads mp4 and gif files hosted on Reddit.\n- Files are not deleted if upload limit is reached; they are deleted after a successful upload.\n- You can add your own sound effects to the `sounds/` folder. 🎵\n\n## License 📄\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxjectro%2Fyoutube-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxjectro%2Fyoutube-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxjectro%2Fyoutube-automation/lists"}