Youtube Video Publisher
by @snoopyrain
Upload videos and Shorts to YouTube. Use when the user says 'upload to YouTube', 'publish YouTube video', 'post a YouTube Short', 'upload video with thumbnai...
clawhub install youtube-video-publisherπ About This Skill
name: youtube-video-publisher description: "Upload videos and Shorts to YouTube. Use when the user says 'upload to YouTube', 'publish YouTube video', 'post a YouTube Short', 'upload video with thumbnail', or wants to upload videos with titles, descriptions, tags, thumbnails, and captions to their YouTube channel." version: 1.0.0 metadata: openclaw: emoji: "π¬" homepage: https://boring-doc.aiagent-me.com/getting-started/mcp.html requires: config: - MCP Connector link from boring.aiagent-me.com (contains embedded auth token)
Boring YouTube Publisher
Upload videos and Shorts to YouTube with full metadata support. Powered by Boring.
Security & Data Handling
https://boring.aiagent-me.com/mcp/t/xxxxx...) contains an embedded authentication token. Treat it like a password β do not share it publicly.Prerequisites
1. Sign up at boring.aiagent-me.com with Google 2. Connect YouTube β select the target channel during OAuth 3. Get your MCP link: Go to Settings β copy your MCP Server URL (contains your auth token β treat it like a password) 4. Add to Claude: Paste the MCP link as a Connector β no install, no API key needed
Workflow
Step 1: List Accounts
Call boring_list_accounts and filter for youtube platform.
Step 2: Prepare Video Content
YouTube requires a video file. Gather from the user:
Step 3: Prepare Media URLs
Upload files to get public URLs:
boring_upload_file with file_pathboring_upload_from_url to re-hostThe media_urls array follows a specific order:
media_urls: [
"https://...video.mp4", // [0] Video file (required)
"https://...thumbnail.jpg", // [1] Custom thumbnail (optional)
"https://...captions.srt" // [2] Caption/subtitle file (optional)
]
Step 4: Format the Text Field
YouTube uses a special text format β title and description are separated by a double newline:
text: "My Video Title\n\nThis is the video description. It can be up to 5,000 characters.\n\n#tag1 #tag2 #tag3"
\n\n = Title (max 100 chars)Step 5: Publish
Call boring_publish_post:
boring_publish_post(
account_id="",
platform="youtube",
text="Video Title\n\nDescription of the video\n\n#shorts #trending",
media_urls=["https://...video.mp4", "https://...thumb.jpg"]
)
For YouTube Shorts: Include #shorts in the title or description, and use vertical (9:16) video under 60 seconds.
Step 6: Report
Show:
YouTube-Specific Notes
youtube.upload, youtube.readonlyError Handling
| Error | Solution |
|-------|----------|
| MediaRequired | YouTube requires a video file |
| VideoProcessingFailed | Check video format (MP4 recommended) or file may be corrupted |
| MediaTooLarge | Video file too large |
| TextTooLong | Title max 100 chars, description max 5,000 chars |
| TokenExpired | Rare β refresh token auto-renews. Reconnect if needed |
Examples
Simple video upload:
boring_publish_post(
account_id="abc",
platform="youtube",
text="My Amazing Video\n\nCheck out this cool content!",
media_urls=["https://example.com/video.mp4"]
)
Full upload with thumbnail and captions:
boring_publish_post(
account_id="abc",
platform="youtube",
text="Tutorial: How to Use Boring\n\nStep-by-step guide to social media automation.\n\n#tutorial #automation #socialmedia",
media_urls=[
"https://example.com/tutorial.mp4",
"https://example.com/thumbnail.jpg",
"https://example.com/captions.srt"
]
)
Documentation
Full API docs: boring-doc.aiagent-me.com
π‘ Examples
Simple video upload:
boring_publish_post(
account_id="abc",
platform="youtube",
text="My Amazing Video\n\nCheck out this cool content!",
media_urls=["https://example.com/video.mp4"]
)
Full upload with thumbnail and captions:
boring_publish_post(
account_id="abc",
platform="youtube",
text="Tutorial: How to Use Boring\n\nStep-by-step guide to social media automation.\n\n#tutorial #automation #socialmedia",
media_urls=[
"https://example.com/tutorial.mp4",
"https://example.com/thumbnail.jpg",
"https://example.com/captions.srt"
]
)
βοΈ Configuration
1. Sign up at boring.aiagent-me.com with Google 2. Connect YouTube β select the target channel during OAuth 3. Get your MCP link: Go to Settings β copy your MCP Server URL (contains your auth token β treat it like a password) 4. Add to Claude: Paste the MCP link as a Connector β no install, no API key needed