安装与下载
1 ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install upload-to-youtube
2 手动安装
将技能文件夹复制到以下位置之一
~/.openclaw/skills/
{'/skills/'}
优先级:工作区 › 全局 › 内置
3 提示词安装
将此提示词复制到 Openclaw 即可自动安装。
请帮我使用 Clawhub 安装 skill-upload-to-youtube。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
基本信息
upload-to-youtube
安装指南
- ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install upload-to-youtube - 手动安装
将技能文件夹复制到以下位置之一
全局模式
~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置 - 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 upload-to-youtube。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
下载技能 (.zip)
什么是
YouTube Upload lets an AI agent publish or schedule a video through PostWire’s approved YouTube integration. Provide an MP4 or MOV file URL, upload a local file through a user-facing upload link, or generate a 10-second vertical Short from text. The skill prepares a searchable title and description, sets the requested privacy, and returns the YouTube link.
For Openclaw Skills users, the workflow avoids browser automation, Google passwords, and the need to create a Google Cloud project, OAuth client, or quota configuration. A PostWire account and connected YouTube channel are required. The skill asks for explicit approval before uploading and can optionally cross-post to TikTok and Instagram Reels.
应用场景
Publish a finished video to a connected YouTube channel now.
Schedule a video or Short for a specified time or the next available slot.
Turn text into a 10-second vertical video, review it, and publish it as a Short.
Upload a video stored on the user’s device through a secure upload page.
Cross-post the same video to YouTube, TikTok, and Instagram Reels with platform-specific captions.
Check the status of a video that is still processing and retrieve its live link.
工作原理
Check whether PostWire tools or a POSTWIRE_API_KEY are available, and verify that YouTube is connected to the correct brand.
If needed, guide the user to create a free PostWire account and connect their YouTube channel by signing in to Google on PostWire’s connection page.
Obtain the video: use a public MP4 or MOV URL, create an upload link for a local file and poll until it is ready, or generate a 10-second vertical video from text and show it to the user.
Draft a title of no more than 100 characters and a description whose opening repeats the title’s promise. Ask the user to choose public, unlisted, or private visibility; otherwise, the channel default applies.
Show the title and character count, description, and privacy setting. Ask for confirmation before submitting; do not upload without an explicit yes.
Call post_to_social to publish immediately or schedule_post with a time and timezone. Include the brand ID when the YouTube channel is connected to multiple brands.
Respect returned states such as pending_approval, media_required, not_connected, and ambiguous_brand. Do not resend a post awaiting human approval.
Return the link from the result. If processing is incomplete, check get_post_status using the returned post ID until the link is available.
配置指南
Create a PostWire account (free, no card required) and connect the desired YouTube channel. The user completes Google sign-in on PostWire; never request their Google password.
For MCP use, add the PostWire MCP server by following the current instructions at https://postwire.io/SKILL.md. For REST use, set POSTWIRE_API_KEY securely and never print or expose it.
Check the account and channel connection before publishing. If YouTube is not connected, create a YouTube connection link and ask the user to finish channel selection.
Check the PostWire account and connected channels
curl -H "Authorization: Bearer $POSTWIRE_API_KEY"
-H "X-PostWire-Source: mcp-sk-youtube"
https://postwire.io/api/me
For REST requests, use base URL https://postwire.io and headers Authorization: Bearer $POSTWIRE_API_KEY, Content-Type: application/json, and X-PostWire-Source: mcp-sk-youtube. A local video must be transferred through PostWire’s upload-link flow; a chat attachment alone is not available to PostWire. Never use browser automation for YouTube uploads.
数据架构
The skill works with video media, publishing metadata, account connections, and post status. It does not specify a local project file layout or generate a persistent data directory.
Data Purpose and constraints
video_url / media_url Public URL to an MP4 or MOV file. A YouTube or TikTok page URL is not a video file URL.
title Search-oriented video title, maximum 100 characters. Avoid promises the video does not fulfill.
text YouTube description: repeat the title’s promise in the first line, add 2–4 lines describing the video and any links, then 3–5 hashtags. #Shorts is optional.
privacy public, unlisted, or private; ask the user, or use the channel default if unspecified.
platforms Target platforms, such as youtube, optionally alongside tiktok and instagram. Each platform can have its own caption in per_platform.
brand_id Identifies the intended brand when multiple brands are connected.
run_at, timezone Scheduling fields; run_at accepts an ISO timestamp with offset or next_slot.
Post result and status May indicate a pending approval, missing media, disconnected platform, or ambiguous brand. Status lookup returns processing state and, when ready, the published link.
A vertical video of three minutes or less is treated as a YouTube Short; other videos are regular uploads. REST endpoints include GET /api/me, POST /api/connect-link, POST /api/media/upload-link, POST /api/media/video, POST /api/post, POST /api/schedule, and GET /api/post/status.
高级特性
Supports MCP tools and HTTPS REST calls, so compatible agents can use the same publishing workflow.
Generates a 10-second vertical Short from text; the generated video must be shown to the user before upload.
Schedules posts with an ISO timestamp and offset or
next_slot
, plus a timezone.
Supports multiple connected brands through
brand_id
and reports ambiguous brand selection rather than guessing.
Cross-posts to TikTok and Instagram Reels with per-platform captions. On the Free plan, one post reaches two networks—the first two listed; Starter sends to all. Respect plan limits and report held destinations without attempting workarounds.
Handles human approval requirements through
pending_approval
; identify the approver and do not resubmit.
Uses upload status polling for local media and post-status checks for videos still processing.
Treats API errors as actionable: error responses include a code, explanation, and suggested fix. See
https://postwire.io/docs/errors.md
.
name: youtube-upload
description: "Upload a video to YouTube (a Short or a regular video) from your AI agent, now or scheduled, through YouTube's official API: no Google Cloud project, no OAuth client to build, no quota setup, no browser automation. Writes a searchable title and description, sets public, unlisted or private, and returns the live YouTube link. Optionally sends the same video to TikTok and Instagram Reels. Use when the user wants to upload, publish or schedule a YouTube video or Short, automate YouTube uploads, or turn text into a YouTube Short."
license: MIT-0
compatibility: Any agent that can call MCP tools or make HTTPS requests (Claude Code, the Claude app, Codex, Cursor, OpenClaw, Gemini CLI, VS Code Copilot). Needs a PostWire account (free, no card) with the YouTube channel connected.