介绍
# Upload-Post API
通过一次 API 调用将内容发布到多个社交媒体平台。
## 文档
- 完整 API 文档:https://docs.upload-post.com - 适合 LLM:https://docs.upload-post.com/llm.txt
## 设置
1. 在 [upload-post.com](https://upload-post.com) 创建账户 2. 连接您的社交媒体账户 3. 创建一个 **配置文件**(例如 "mybrand")- 这将关联您已连接的账户 4. 从控制台生成 **API 密钥** 5. 在 API 调用中,将配置文件名称用作 `user` 参数
## 身份验证
``` Authorization: Apikey YOUR_API_KEY ```
Base URL: `https://api.upload-post.com/api`
所有端点中的 `user` 参数指的是您的 **配置文件名称**(而非用户名),它决定了内容发布到哪些已连接的社交媒体账户。
## 端点参考
| Endpoint | Method | Description | |----------|--------|-------------| | `/upload_videos` | POST | 上传视频 | | `/upload_photos` | POST | 上传照片/轮播图 | | `/upload_text` | POST | 仅文本帖子 | | `/upload_document` | POST | 上传文档(仅限 LinkedIn) | | `/uploadposts/status?request_id=X` | GET | 检查异步上传状态 | | `/uploadposts/history` | GET | 上传历史 | | `/uploadposts/schedule` | GET | 列出已安排的帖子 | | `/uploadposts/schedule/<job_id>` | DELETE | 取消已安排的帖子 | | `/uploadposts/schedule/<job_id>` | PATCH | 编辑已安排的帖子 | | `/uploadposts/me` | GET | 验证 API 密钥 | | `/analytics/<profile>` | GET | 获取分析数据 | | `/uploadposts/facebook/pages` | GET | 列出 Facebook 页面 | | `/uploadposts/linkedin/pages` | GET | 列出 LinkedIn 页面 | | `/uploadposts/pinterest/boards` | GET | 列出 Pinterest 画板 | | `/uploadposts/reddit/detailed-posts` | GET | 获取包含媒体的 Reddit 帖子 | | `/ffmpeg` | POST | 使用 FFmpeg 处理媒体 |
## 上传视频
```bash curl -X POST "https://api.upload-post.com/api/upload_videos" \ -H "Authorization: Apikey YOUR_KEY" \ -F "user=profile_name" \ -F "platform[]=instagram" \ -F "platform[]=tiktok" \ -F "[email protected]" \ -F "title=My caption" ```
关键参数: - `user`:配置文件用户名(必填) - `platform[]`:目标平台(必填) - `video`:视频文件或 URL(必填) - `title`:标题/说明文字(必填) - `description`:扩展描述 - `scheduled_date`:用于安排的 ISO-8601 日期 - `timezone`:IANA 时区(例如 "Europe/Madrid") - `async_upload`:设置为 `true` 以进行后台处理 - `first_comment`:自动发布首条评论
## 上传照片
```bash curl -X POST "https://api.upload-post.com/api/upload_photos" \ -H "Authorization: Apikey YOUR_KEY" \ -F "user=profile_name" \ -F "platform[]=instagram" \ -F "photos[][email protected]" \ -F "photos[][email protected]" \ -F "title=My caption" ```
Instagram 和 Threads 支持混合轮播(同一帖子中包含照片和视频)。
## 上传文本
```bash curl -X POST "https://api.upload-post.com/api/upload_text" \ -H "Authorization: Apikey YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "user": "profile_name", "platform": ["x", "threads", "bluesky"], "title": "My text post" }' ```
支持平台:X, LinkedIn, Facebook, Threads, Reddit, Bluesky。
## 上传文档(仅限 LinkedIn)
将 PDF、PPT、DOC 作为 LinkedIn 原生文档帖子(轮播查看器)上传。
```bash curl -X POST "https://api.upload-post.com/api/upload_document" \ -H "Authorization: Apikey YOUR_KEY" \ -F "user=profile_name" \ -F 'platform[]=linkedin' \ -F "[email protected]" \ -F "title=Document Title" \ -F "description=Post text above document" ```
参数: - `document`:PDF, PPT, PPTX, DOC, DOCX(最大 100MB,300 页) - `title`:文档标题(必填) - `description`:帖子评论 - `visibility`:PUBLIC, CONNECTIONS, LOGGED_IN, CONTAINER - `target_linkedin_page_id`:发布到公司页面
## 支持的平台
| Platform | Videos | Photos | Text | Documents | |----------|--------|--------|------|-----------| | TikTok | ✓ | ✓ | - | - | | Instagram | ✓ | ✓ | - | - | | YouTube | ✓ | - | - | - | | LinkedIn | ✓ | ✓ | ✓ | ✓ | | Facebook | ✓ | ✓ | ✓ | - | | X (Twitter) | ✓ | ✓ | ✓ | - | | Threads | ✓ | ✓ | ✓ | - | | Pinterest | ✓ | ✓ | - | - | | Reddit | - | ✓ | ✓ | - | | Bluesky | ✓ | ✓ | ✓ | - |
## 上传历史
```bash curl "https://api.upload-post.com/api/uploadposts/history?page=1&limit=20" \ -H "Authorization: Apikey YOUR_KEY" ```
参数: - `page`:页码(默认:1) - `limit`:10, 20, 50, 或 100(默认:10)
返回结果:上传时间戳、平台、成功状态、帖子 URL、错误信息。
## 定时发布
添加 `scheduled_date` 参数(ISO-8601):
```json { "scheduled_date": "2026-02-01T10:00:00Z", "timezone": "Europe/Madrid" } ```
响应包含 `job_id`。管理方式: - `GET /uploadposts/schedule` - 列出所有已安排的任务 - `DELETE /uploadposts/schedule/<job_id>` - 取消 - `PATCH /uploadposts/schedule/<job_id>` - 编辑(日期、标题、说明文字)
## 检查上传状态
对于异步上传或定时发布的帖子:
```bash curl "https://api.upload-post.com/api/uploadposts/status?request_id=XXX" \ -H "Authorization: Apikey YOUR_KEY" ```
或者针对定时发布的帖子使用 `job_id`。
## 分析数据
```bash curl "https://api.upload-post.com/api/analytics/profile_name?platforms=instagram,tiktok" \ -H "Authorization: Apikey YOUR_KEY" ```
支持平台:Instagram, TikTok, LinkedIn, Facebook, X, YouTube, Threads, Pinterest, Reddit, Bluesky。
返回结果:粉丝数、展示数、触达数、主页浏览量、时间序列数据。
## 获取页面/画板
```bash # Facebook Pages curl "https://api.upload-post.com/api/uploadposts/facebook/pages" \ -H "Authorization: Apikey YOUR_KEY"
# LinkedIn Pages curl "https://api.upload-post.com/api/uploadposts/linkedin/pages" \ -H "Authorization: Apikey YOUR_KEY"
# Pinterest Boards curl "https://api.upload-post.com/api/uploadposts/pinterest/boards" \ -H "Authorization: Apikey YOUR_KEY" ```
## Reddit 详细帖子
获取包含完整媒体信息(图片、图集、视频)的帖子:
```bash curl "https://api.upload-post.com/api/uploadposts/reddit/detailed-posts?profile_username=myprofile" \ -H "Authorization: Apikey YOUR_KEY" ```
最多返回 2000 个帖子及其媒体 URL、尺寸、缩略图。
## FFmpeg 编辑器
使用自定义 FFmpeg 命令处理媒体:
```bash curl -X POST "https://api.upload-post.com/api/ffmpeg" \ -H "Authorization: Apikey YOUR_KEY" \ -F "[email protected]" \ -F "full_command=ffmpeg -y -i {input} -c:v libx264 -crf 23 {output}" \ -F "output_extension=mp4" ```
- 使用 `{input}` 和 `{output}` 占位符 - 轮询任务状态直到 `FINISHED` - 从 `/ffmpeg/job/<job_id>/download` 下载结果 - 支持多个输入:`{input0}`, `{input1}` 等
配额:免费版 30 分钟/月,基础版 300 分钟,专业版 1000 分钟,高级版 3000 分钟,商业版 10000 分钟。
## 平台特定参数
有关详细的平台参数,请参阅 [references/platforms.md](references/platforms.md)。
## 媒体要求
有关各平台的格式规范,请参阅 [references/requirements.md](references/requirements.md)。
## 错误代码
| Code | Meaning | |------|---------| | 400 | 请求错误 / 缺少参数 | | 401 | 无效的 API 密钥 | | 404 | 资源未找到 | | 429 | 超出速率限制 / 配额 | | 500 | 服务器错误 |
## 注意事项
- 如果视频处理时间超过 59 秒,将自动切换为异步上传 - X 长文本会自动创建话题串,除非设置 `x_long_text_as_post=true` - Facebook 需要 Page ID(Meta 不支持个人主页) - Instagram/Threads 支持混合轮播(照片 + 视频)