媒體上傳
Boring 不需要你把檔案上傳到專用端點,而是在發佈 API 的 mediaUrls 欄位中以 URL 引用媒體。Boring 會自行抓取媒體、執行必要的處理(壓縮、格式檢查、非同步狀態輪詢),再交付給目標平台。
如何引用媒體
在 post.content.mediaUrls 中傳入一個或多個可公開存取的 URL。此欄位接受單一字串或陣列:
{
"post": {
"accountId": "uuid-string",
"content": {
"text": "Hello world",
"mediaUrls": ["https://cdn.example.com/photo.jpg"],
"platform": "facebook"
},
"target": { "targetType": "facebook" }
}
}
支援的 URL 來源
| 來源 | 說明 |
|---|---|
| 公開 HTTPS URL | 任何可直接下載的圖片/影片 URL(CDN、物件儲存等) |
| Google Drive 分享連結 | 「知道連結的任何人」可存取的檔案會自動轉換並在伺服器端下載 |
Google Drive:直接貼上一般分享網址(例如
https://drive.google.com/file/d/FILE_ID/view)。Boring 會透過 Drive API 解析,並具備 HTTP 下載備援與 magic-byte 檔案類型偵測。
媒體數量 → 貼文類型
媒體 URL 的數量會決定各平台的貼文類型:
| 媒體數量 | Threads | ||
|---|---|---|---|
| 0 | 純文字 | ❌(必須有媒體) | 純文字 |
| 1 張圖片 | 單張照片 | 單張照片 | 單張照片 |
| 2–10 張圖片 | 相簿 | 輪播 | 輪播(最多 20 張) |
| 1 部影片 | 影片 | Reels | 影片 |
各平台完整的請求範例請見發佈 API。
各平台限制
| 平台 | 圖片 | 影片 | 說明 |
|---|---|---|---|
| 最多 10 張(相簿) | 1 | 文字/照片/相簿/影片 | |
| 最多 10 張(輪播) | 1(Reels) | 必須有媒體;coverUrl 設定 Reels 封面 |
|
| Threads | 最多 20 張(輪播) | 1 | 陣列格式 text = 多則串文 |
| YouTube | — | 1 | 影片+可選縮圖;標題/描述從文字解析 |
| X (Twitter) | 最多 4 張 | 1 | 280 字限制;僅限旗艦版(Ultra) |
| TikTok | 最多 35 張(照片輪播) | 1(最大 4 GB/10 分鐘) | 影片或照片輪播 |
處理與非同步狀態
- Instagram、Threads、X 和 TikTok 會以非同步方式處理媒體。Boring 會自動輪詢平台的狀態端點,並在媒體就緒(或失敗)後才回傳,你無需額外處理。
- Instagram Reels:大於約 95 MB 的影片會在上傳前用 ffmpeg 重新編碼,以符合 Instagram 限制。
- YouTube:上傳使用可續傳的工作階段,大型檔案會在伺服器端串流。
選用欄位
| 欄位 | 型別 | 適用於 | 說明 |
|---|---|---|---|
coverUrl |
String | Instagram Reels | 影片貼文的自訂封面圖片 |
thumbnail |
String | YouTube | 自訂影片縮圖 |
小提示
- 使用直接、穩定的 URL——Boring 會在發佈當下下載媒體,因此屆時該 URL 必須仍可存取。
- 優先使用標準格式:圖片用 JPEG/PNG,影片用 MP4(H.264/AAC)。
- 對於排程貼文,媒體 URL 必須在排定的發佈時間前都保持有效。