{"skill":{"slug":"youtube-upload","displayName":"YouTube Upload Videos Skill","summary":"Uploads a video to YouTube using the official YouTube Data API v3 and OAuth 2.0. Use this skill when the user asks to upload a video to YouTube. It supports...","description":"---\nname: youtube-upload\ndescription: \"Uploads a video to YouTube using the official YouTube Data API v3 and OAuth 2.0. Use this skill when the user asks to upload a video to YouTube. It supports titles, descriptions, privacy settings (public, private, unlisted), and large file chunking. Requires a Google Cloud 'client_secret.json' file.\"\nmetadata:\n  openclaw:\n    emoji: \"📺\"\n    requires:\n      bins: [\"python3\", \"pip3\"]\n---\n\n# YouTube Upload Skill\n\nThis skill allows you to securely upload videos to YouTube via the official API, bypassing the need for fragile browser automation.\n\n## Prerequisites\n\n1. The Google API Python Client and OAuth libraries must be installed:\n   ```bash\n   pip3 install google-api-python-client google-auth-oauthlib google-auth-httplib2\n   ```\n2. A `client_secret.json` file is required. The user must generate an OAuth 2.0 Client ID (Desktop App) from the Google Cloud Console with the YouTube Data API v3 enabled.\n\n## Usage\n\nUse the provided Python script to upload the video:\n\n```bash\npython3 scripts/upload.py \\\n  --file \"/path/to/video.mp4\" \\\n  --title \"My Video Title\" \\\n  --description \"My Video Description\" \\\n  --privacy \"unlisted\" \\\n  --secrets \"/path/to/client_secret.json\"\n```\n\n### First Run (Authentication)\nOn the very first run, the script will output a URL or open a browser window for the user to authenticate and grant permission to their YouTube account. Instruct the user to complete the login flow. Once approved, a `token.pickle` file is generated locally, and subsequent uploads will run silently.\n\n## Troubleshooting\n\n- **Token Expired / Revoked:** If the token becomes invalid, delete `token.pickle` and re-run to trigger the auth flow again.\n- **Quota Exceeded:** The YouTube API has a daily upload quota. If this is hit, the user must wait until the quota resets.\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":864,"installsAllTime":1,"installsCurrent":1,"stars":0,"versions":1},"createdAt":1772303967933,"updatedAt":1778491670926},"latestVersion":{"version":"1.0.0","createdAt":1772303967933,"changelog":"youtube-upload 1.0.0\n\n- Initial release of the YouTube upload skill.\n- Upload videos to YouTube using the official Data API and OAuth 2.0.\n- Supports setting title, description, and privacy (public, private, unlisted).\n- Handles large file uploads via chunking.\n- Requires a Google Cloud OAuth client secrets file for secure authentication.","license":null},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"brorlandi","userId":"s178js91cmd9kc9c12q5tvpzsn8846a4","displayName":"BrOrlandi","image":"https://avatars.githubusercontent.com/u/1594658?v=4"},"moderation":null}