Manage YouTube Shorts - upload, list, clone, and update videos.
npm install -g @neonwatty/youtube-cli- Create a project at Google Cloud Console
- Enable YouTube Data API v3
- Create OAuth 2.0 credentials (Web application type)
- Add
http://localhost:3000as authorized redirect URI - Download credentials as
client_secrets.json - Run
youtube authto authenticate
youtube auth Authenticate with YouTube
youtube upload <file> Upload video as a Short
youtube list List your channel's videos
youtube update <video-id> Update video metadata
youtube clone <video-id> Clone video with new metadata
youtube validate <file> Validate video for Shorts requirements
--title, -t <title> Video title (required)
--description, -d <desc> Video description
--tags <tag1,tag2,...> Comma-separated tags
--privacy <status> public, private, or unlisted (default: private)
--skip-validation Skip video validation
--force Upload even if validation fails
--max, -n <number> Maximum videos to show (default: 10)
--privacy <status> Filter by: public, private, unlisted
--format <type> Output format: table, json (default: table)
--title, -t <title> New video title
--description, -d <desc> New description
--tags <tag1,tag2,...> Replace all tags
--privacy <status> Change privacy status
--title, -t <title> Title for clone (required)
--description, -d <desc> Description (defaults to original)
--tags <tag1,tag2,...> Tags (defaults to original)
--privacy <status> Privacy status (default: private)
--keep-file Keep downloaded video file after upload
First-time authentication:
youtube authUpload a Short:
youtube upload video.mp4 --title "My Short" --privacy publicUpload with full metadata:
youtube upload video.mp4 \
--title "Tutorial: Quick Tips" \
--description "Learn something new!" \
--tags "tutorial,tips,howto" \
--privacy publicList your videos:
youtube list --max 20
youtube list --format json
youtube list --privacy publicUpdate video metadata:
youtube update abc123 --title "New Title" --privacy unlistedClone a video with new title:
youtube clone abc123 --title "Cloned Video"Validate before uploading:
youtube validate video.mp4- Duration: 60 seconds or less
- Aspect ratio: 9:16 (vertical)
- Resolution: 1080x1920 recommended