用途:media-upload 用于将渲染好的视频、截图或其他媒体文件发布到永久地址,支持 Bunny CDN(视频流与边缘存储)和 Vimeo。
主要能力:提供三个函数,均位于 lib/upload.cjs。uploadToVimeo(filePath, options?) 通过 tus 可续传协议上传视频到 Vimeo,接受 MP4、WebM,选项含 name、description、privacy('unlisted'|'anybody'|'nobody'|'password')和 password,返回 videoId、url、embedUrl、uri。uploadToBunnyStream(filePath, options?) 上传视频到 Bunny Stream 用于内部托管,接受 MP4、WebM(明确支持 VP8),选项含 name、collectionId、thumbnailTime,返回 videoId、url、embedUrl、directPlayUrl、thumbnailUrl。uploadToBunnyStorage(filePath, remotePath, options?) 上传任意文件到 Bunny Edge Storage CDN,选项含 region(存储区域前缀,如 'ny'),返回 url、storagePath、size。
平台选择:内部视频(QA、演示)用 Bunny Stream,成本最低;面向客户的视频(营销、文档)用 Vimeo,URL 更熟悉;图片、GIF、静态文件用 Bunny Edge Storage,适合 PR 截图、缩略图等需要 CDN URL 的文件。
使用方式:先运行 ./secrets/setup.sh --skill media-upload,从 1Password 的 "Media Upload" 项拉取凭据到 ~/.claude/settings.json。然后在代码中按需引入:const { uploadToVimeo, uploadToBunnyStream, uploadToBunnyStorage } = require('<path-to-skill>/lib/upload.cjs');
环境变量:Vimeo 需要 VIMEO_ACCESS_TOKEN;Bunny Stream 需要 BUNNY_STREAM_API_KEY、BUNNY_STREAM_LIBRARY_ID;Bunny Edge Storage 需要 BUNNY_STORAGE_API_KEY、BUNNY_STORAGE_ZONE_NAME、BUNNY_STORAGE_HOSTNAME。每个函数会校验所需环境变量,缺失时抛出描述性错误。
限制:资料未提供各平台收费、配额、文件大小上限或具体错误处理细节,暂未提供。