Social Post (YouTube, Facebook, Mastodon)
使用 Publora MCP 服务器创建并安排发布到 YouTube、Facebook 主页和 Mastodon 的帖子。本技能覆盖那些通过标准发布方式工作、无需平台特定复杂处理的平台。
前提条件
套餐: 可在免费的 Starter 套餐下使用。当前限制和定价:publora.com/pricing。
开始使用
- 创建账号:访问 publora.com/register 免费注册。
- 连接平台:通过 Publora Dashboard 的 OAuth 连接:
- YouTube:Google OAuth(需要 YouTube 频道)
- Facebook:Facebook OAuth(仅限主页,不支持个人主页)
- Mastodon:OAuth(mastodon.social 实例)
- 获取 API 密钥:访问 app.publora.com/dashboard/api 获取。
- 将你的代理连接到 MCP 服务器:地址为
https://mcp.publora.com,认证头为Authorization: Bearer sk_YOUR_API_KEY。在 Claude Code 中:
claude mcp add publora --transport http https://mcp.publora.com \
--header "Authorization: Bearer sk_YOUR_API_KEY"
Claude Desktop、Cursor、Codex、OpenClaw 和 claude.ai 连接器各有不同的配置文件或流程:详细路径和代码片段请参见客户端设置文档。
REST API 备用方案
如果 MCP 不可用,可直接使用 REST API:
基础 URL: https://api.publora.com/api/v1
认证方式: x-publora-key 头
# 获取已连接平台
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# 创建帖子
curl -X POST "https://api.publora.com/api/v1/create-post" \
-H "x-publora-key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"platforms": ["youtube-UCxxx", "facebook-123456", "mastodon-789"],
"content": "你的帖子内容",
"scheduledTime": "2026-03-25T10:00:00Z"
}'
平台 ID 格式:
- YouTube:
youtube-{channel_id}(例如youtube-UCxxx) - Facebook:
facebook-{page_id}(例如facebook-112233445566) - Mastodon:
mastodon-{id}(例如mastodon-456)
📖 文档: docs.publora.com
YouTube
纯视频平台 - 每篇帖子都需要一个视频文件。
平台限制
| 功能 | 限制 |
|---|---|
| 视频标题 | 100 个字符 |
| 视频描述 | 5,000 个字符 |
| 视频时长 | 12 小时 |
| 视频大小 | 256 GB |
| 视频格式 | MP4、MOV、AVI、WebM |
平台设置(通过 REST API)
{
"platformSettings": {
"youtube": {
"privacy": "public",
"title": "我的视频标题"
}
}
}
| 设置项 | 值 | 默认值 |
|---|---|---|
privacy | "public"、"unlisted"、"private" | "public" |
title | 字符串 | 从内容的前 70 个字符派生 |
注意:platformSettings 既可通过 MCP 的 create_post 和 update_post 工具使用,也可通过 REST 使用。模式严格:如果平台名称或键名拼写错误,会直接返回校验错误,而不会静默忽略。
YouTube 示例
将本教程视频上传到 YouTube:
"如何在 10 分钟内构建 REST API - 初学者完整指南"
将此视频以未列出方式上传(用于内部分享):
"内部演示 - Q1 仪表盘功能"
YouTube 限制
- 需要视频:YouTube 不支持纯文字或图片帖子
- 单个视频:每篇帖子只能有一个视频
- 处理时间:视频上传后需要几秒到几分钟的处理时间
- 令牌刷新:YouTube 令牌约 6 个月过期,如需重新连接
仅限主页 - 帖子发布到 Facebook 主页,而非个人主页。
平台限制
| 功能 | 限制 |
|---|---|
| 帖子文字 | 前端 2,200 字符 / API 63,206 字符 |
| 图片 | 每篇最多 10 张 |
| 图片大小 | 10 MB |
| 视频时长 | 45 分钟 |
| 视频大小 | 2 GB |
多主页支持
如果你管理多个 Facebook 主页,每个主页都有独立的平台 ID:
facebook-112233445566(主页 1)facebook-778899001122(主页 2)
你可以在一次请求中发布到多个主页。
Facebook 示例
将本公告发布到我的 Facebook 主页:
"我们非常激动地宣布我们的新产品发布!请访问我们的网站了解更多。"
将以下内容发布到我的两个 Facebook 主页:
"假日通知:我司办公室将于周一关闭。"
在 Facebook 上分享这些活动照片:
"公司团建精彩回顾!优秀的团队,美好的回忆。"
Facebook 限制
- 仅限主页:无法通过 API 发布到个人主页
- WebP 自动转换:WebP 图片会自动转为 JPEG
- 59 天令牌:令牌会自动刷新,但若刷新失败可能需要重新连接
- 不支持混合媒体:一篇帖子可以包含图片或视频,但不能同时包含两者
Mastodon
联邦宇宙平台 - 帖子会在去中心化网络中传播。
平台限制
| 功能 | 限制 |
|---|---|
| 帖子文字 | 500 个字符 |
| 图片 | 每篇最多 4 张 |
| 图片大小 | 16 MB |
| 视频大小 | ~99 MB |
| 图片格式 | JPEG、PNG、GIF、WebP |
| 视频格式 | MP4、WebM、MOV |
Mastodon 示例
将以下内容发布到 Mastodon:
"大家好!我们刚刚为我们的开源项目发布了重大更新。#opensource"
在 Mastodon 上分享这张截图:
"新功能:深色模式来啦!#ui #darkmode"
Mastodon 限制
- 仅限 mastodon.social:目前只能连接到 mastodon.social 实例
- 公开可见性:所有帖子默认公开
- 不支持自动线程:与 X/Twitter 不同,Mastodon 不会拆分长内容
- 严格 500 字符:超过 500 字符的内容会被拒绝
可用工具(所有平台通用)
create_post
创建新帖子到任何平台。
参数:
platforms:平台 ID 数组(例如["youtube-UCxxx", "facebook-123", "mastodon-456"])content:帖子文字scheduledTime:ISO 8601 UTC 时间。可选:省略则创建为草稿。传入未来的时间则安排定时发布。如果时间早于当前时间 5 分钟或以上,会返回SCHEDULED_TIME_IN_PAST错误,因此如需立即发布,请使用当前时间再加一分钟。mediaUrls:最多 10 个公开 https 图片或视频 URL。Publora 在服务器端下载并在校验前附加,因此媒体和定时发布可以在一次调用中完成。这是草稿→get_upload_url→complete_media流程的一次性替代方案。每小时限制 60 个 URL 的摄入。
get_upload_url
获取用于媒体上传的预签名 URL。
参数:
postGroupId:要附加媒体的帖子 IDfileName:文件名contentType:MIME 类型type:"image"或"video"
complete_media
在通过 get_upload_url 获取的预签名 PUT 成功后,最终确认文件上传。可选,因为定时发布也会自动完成待处理的媒体文件,但提前调用可以在发布前暴露格式和探测错误。对于通过 mediaUrls 附加的媒体则不需要。
参数:
mediaId:get_upload_url返回的媒体 ID
list_connections
列出已连接的账号及其平台 ID。请先调用此工具,并逐字复制 ID;这些 ID 无法猜测。
list_posts / get_post / update_post / delete_post
管理定时发布和草稿帖子。update_post 还可以修改草稿或定时帖子的 content 和 platforms,因此修正拼写错误或重新定向目标不再需要删除和重建。delete_media 和 prune_media_reference 用于清理已上传的文件。
跨平台发布
一次发布到多个平台:
将此视频发布到 YouTube,并将这段文字发布到 Facebook 和 Mastodon:
"宣布我们的新功能——观看演示!"
Publora 会自动处理各平台的特殊要求:
- YouTube:接收视频及标题/描述
- Facebook:接收文字 + 视频
- Mastodon:接收文字(受 500 字符限制)
故障排除
| 平台 | 错误 | 解决方法 |
|---|---|---|
| YouTube | "需要视频" | 附加一个视频文件 |
| YouTube | "账号已断开" | 在仪表盘中重新连接 |
| "未找到页面" | 验证页面连接 | |
| "令牌已过期" | 在仪表盘中重新连接页面 | |
| Mastodon | "内容过长" | 缩短至 500 字符以内 |
| Mastodon | "图片过多" | 减少至 4 张或更少 |
| 所有平台 | 速率限制错误 | 等待后重试 |
之前这里出现的 512 MB 限制属于仪表盘的
/media/process-video多部分端点。API 和 MCP 的上传使用预签名方式,因此以平台的上限为准。