使用 Publora API 在 Mastodon 上发布或定时发布内容,适用于通过 Publora 发布或排程 Mastodon帖子的需求。
Publora — Mastodon.是一项面向实际任务的技能,主要用于Mastodon / 用于 Publora API 的 Fediverse 平台技能;对于 认证、核心调度、媒体上传和工作空间/webhook 文档, 请参见 publora 核心技能;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Publora API 的 Mastodon / Fediverse 平台能力。有关认证、核心调度、媒体上传以及工作区(workspace)/Webhook 文档,请参阅 publora 核心能力文档。
基础 URL: https://api.publora.com/api/v1
请求头(Header): x-publora-key: sk_YOUR_KEY
平台 ID 格式: mastodon-{accountId}
注意: Publora 当前仅向 mastodon.social 实例发布内容。其他实例暂不支持。
| 属性 | 限制 | 说明 |
|---|---|---|
| 文本(Toot) | 500 字符 | 由实例配置决定;部分实例支持 5,000+ 字符 |
| 图片 | 最多 4 张 × 每张 16 MB | 支持 JPEG、PNG、GIF、WebP 格式 |
| 视频 | 约 99 MB | 支持 MP4、MOV、WebM 格式;无明确时长限制,仅受文件大小约束 |
| 纯文本发布 | ✅ 支持 | — |
| 速率限制 | 30 次媒体上传 / 30 分钟 | 每账号 300 次请求 / 5 分钟 |
await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Hello Fediverse! Building open, decentralized tools for everyone. #fediverse #opensource',
platforms: ['mastodon-123456789']
})
});
body: JSON.stringify({
content: 'Your Mastodon post here',
platforms: ['mastodon-123456789'],
scheduledTime: '2026-03-20T10:00:00.000Z'
})
import requests
HEADERS = { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' }
# 步骤 1:创建帖子
post = requests.post('https://api.publora.com/api/v1/create-post', headers=HEADERS, json={
'content': 'Here is a photo from our event 📷 #community',
'platforms': ['mastodon-123456789']
}).json()
# 步骤 2:获取上传 URL(单文件上限 16 MB,支持 JPEG/PNG/GIF/WebP)
upload = requests.post('https://api.publora.com/api/v1/get-upload-url', headers=HEADERS, json={
'postGroupId': post['postGroupId'],
'fileName': 'photo.jpg',
'contentType': 'image/jpeg',
'type': 'image'
}).json()
# 步骤 3:执行上传
with open('photo.jpg', 'rb') as f:
requests.put(upload['uploadUrl'], headers={'Content-Type': 'image/jpeg'}, data=f)
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章