# 發佈影片到 YouTube、Instagram、Facebook 同 Threads

Canonical URL: https://sosoapi.ai/zh-hant/docs/video-publishing

有影片檔案只係第一步。目的帳戶、已觀察媒體資料、平台選項、私隱同最終結果都要配合。呢個示例使用已於 2026 年 10 月 20 日核對嘅 SosoAPI 發佈 contract。

## 1. 準備一個已就緒影片 asset

將本機檔案上載，或者將公開影片 URL 匯入 Workspace。跟進原有 upload／import 直到完成；就緒後先用已登記 asset_id 同 canonical asset_url。

伺服器按平台要求檢查已觀察嘅 container、時長、尺寸同 codec。檔名、聲稱嘅 MIME type 或可播放預覽，都唔足以證明符合發佈資格。排程前核對影片權利、音訊同披露。

- 原片同封面 asset 都要屬於相同已授權 Workspace。

- 按確實帳戶同所需格式檢查完整草稿 eligibility。

- 準備失敗時先查原有狀態；唔好因為回應慢就重複匯入。

## 2. 選擇目的平台嘅影片格式

共用 asset 唔代表 provider payload 可以互換。用確實已連接帳戶支援嘅格式同額外欄位。

影片發佈選項

| 目的平台 | provider_payload 選擇 | 排程前審閱 |

| --- | --- | --- |

| Instagram | platform: instagram；按需要選 VIDEO、REELS 或 STORY_VIDEO。 | 專業帳戶同已觀察功能；Stories 需要 Business 資格。Reels 專用選項只適用於 Reels。 |

| Facebook Page | platform: facebook；按需要選 VIDEO、REELS 或 STORY_VIDEO。 | Page 身份、發佈權限同 CREATE_CONTENT task；符合要求嘅媒體同格式選項。 |

| Threads | platform: threads；VIDEO。 | 合資格發佈帳戶同已就緒影片；文字專用附件唔適用於 VIDEO payload。 |

| YouTube 頻道 | platform: youtube；VIDEO。 | 明確標題、分類、私隱同取消模式；原生排程需要管理權限。 |

## 3. 排程一條已審閱 YouTube 影片

先用 API 參考嘅伺服器 helper。Asset ID 要換成正整數，URL 換成已就緒 asset 嘅 canonical URL，再選擇實際 channel-account ID 同未來時間。

示例明確要求喺所選時間公開發佈，執行前要由使用者確認。contains_synthetic_media 按真實內容設定；false 只係示例值。UNSCHEDULE_KEEP_PRIVATE 描述取消未發佈原生排程時要求嘅處理方式。

```
await sosoPost("/studio-api/scheduled-posts/create", {
  "workspace_id": "<workspace-uuid>",
  "social_account_id": "<youtube-channel-account-uuid>",
  "caption": null,
  "hashtags": [],
  "media": [
    {
      "kind": "video",
      "asset_id": "<ready-video-asset-id>",
      "url": "<canonical-video-asset-url>"
    }
  ],
  "provider_payload": {
    "platform": "youtube",
    "publish_options": {
      "post_type": "VIDEO",
      "title": "A reviewed product walkthrough",
      "description": "Our team introduces the product in one short walkthrough.",
      "category_id": "24",
      "privacy_status": "public",
      "cancellation_mode": "UNSCHEDULE_KEEP_PRIVATE",
      "contains_synthetic_media": false
    }
  },
  "scheduled_at": "<future-ISO-8601-instant-with-offset>",
  "display_timezone": "Asia/Hong_Kong",
  "idempotency_key": "<stable-key-for-this-one-video-intent>"
});
```

- [Publishing API 參考](https://sosoapi.ai/zh-hant/docs/publishing-api-reference)

## 4. 明確處理私隱、Shorts 同平台限制

SosoAPI YouTube contract 使用 post_type VIDEO。可選 surface_expectation: SHORT 唔保證 YouTube 一定將每條影片分類為 Short。唔好單憑檔名或直向比例推斷。

上載權限同原生排程／管理權限係兩回事。Thumbnail 同其他頻道選項可能仍然不可用或 unknown。Google 上載參考解釋平台授權同 metadata；SosoAPI 會再套用自己支援嘅 contract 同帳戶檢查。

平台 quota、處理同審核都會影響結果。唔好承諾確實處理秒數，亦唔好將接受上載當成已公開可見。

- [Google：YouTube videos.insert 參考](https://developers.google.com/youtube/data/reference/rest/v3/videos/insert)

- [帳戶同格式功能對照](https://sosoapi.ai/zh-hant/docs/publishing-capabilities)

## 5. 核實同一帖子嘅最終結果

保留 Scheduled Post ID，查看 delivery 同最終 outcomes，並喺有平台連結時核對。scheduled 或 publishing 代表最終結果仲未確認。

Client 斷線後，已接受嘅伺服器排程仍會繼續。先查同一帖子再決定下一步。取消要跟目前允許嘅 action 同 version；已發佈內容有另一套刪除規則。

一個頻道示例成功，唔代表所有平台、帳戶或格式都已驗證。呢頁記錄流程同請求形狀，唔係 live canary 結果或吞吐量 qualification。

- [自選 agent 審閱流程](https://sosoapi.ai/zh-hant/docs/claude-code-codex-social-publishing)

- [Publishing API 參考](https://sosoapi.ai/zh-hant/docs/publishing-api-reference)
