youtube-uploader
A Rust library and CLI tool for uploading videos to YouTube via the Data API v3. You run it, it uploads, it exits. No daemon, no background process, no service.
๐ Full Guide โ GUIDE.md โ setup, CLI reference, profiles, automation, architecture, security, roadmap.
๐ Repository ยท ๐ฆ Latest Release
Quick Start
# Authenticate (one-time per channel)
# Upload a video (private by default)
# JSON output for scripts
# Multi-channel
# Upload profile
# Batch
Library Usage
use Arc;
use Mutex;
use ;
let store = new;
let youtube = new;
let progress = new;
let video = new
.with_description
.with_tags
.with_visibility;
let result = youtube.upload.await?;
println!;
Features
- YouTube API uploads: Resumable chunked upload with 308 resume support
- Multi-channel workspaces: Upload to multiple YouTube accounts from a single installation
- Upload profiles: TOML-based presets for reusable upload defaults
- Per-video metadata TOML: AI-friendly
.meta.tomlfiles for automation pipelines --output json: Machine-readable output for CI/CD and scripting- Encrypted credential storage: AES-256-GCM, PBKDF2 100K, zeroize on drop
- Default visibility = Private: Uploads never accidentally go public
Installation
[]
= "0.6"
= { = "1", = ["full"] }
License
MIT โ see LICENSE.