社群媒體發布 API

June 14, 2026

社群媒體發布 API

社群媒體發布 API 可讓你綁定社群媒體帳號,並將 WayinVideo 短片直接發布到這些帳號。

此 API 適用於 AI 剪輯時刻搜尋 產生的已匯出短片。請先使用其中一個 API 建立短片,並確保原始任務提交時已設定 enable_export = true。之後再使用取得的 project_id 和短片 idx 建立發布任務。

典型流程:

  1. 為目標平台建立 OAuth 授權 URL。
  2. 在瀏覽器中開啟回傳的 auth_url 並完成授權。
  3. 呼叫帳號列表接口,確認已綁定帳號並取得帳號 id
  4. 使用目標短片與平台發布設定建立發布任務。

所有接口都需要:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
x-wayinvideo-api-version: v2

計費: 限時促銷期間,每成功綁定 1 個社群媒體帳號目前消耗 10 API Units。如果授權未成功完成,不會扣除 API Units。


接口概覽

方法路徑說明
POST/api/v2/social-media/oauth/{platform}建立一次性的社群媒體 OAuth 授權 URL
GET/api/v2/social-media/accounts取得已綁定的社群媒體帳號列表
POST/api/v2/social-media/publish建立短片發布任務,可發布到一個或多個帳號

綁定社群媒體帳號

為要綁定的平台建立 OAuth 授權 URL。

POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/{platform}

路徑參數

參數類型必填說明
platformstring社群媒體平台。可用值:youtubetiktoktwitterinstagramfacebooklinkedin

請求體

不需要請求體。

請求示例

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/oauth/youtube \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2" \
  --data ''

回應示例

{
  "data": {
    "auth_url": "https://example.com/oauth2/auth?xxxxxx",
    "state": "a49bc736-xxxxx"
  }
}

回應欄位

欄位類型說明
auth_urlstring第三方 OAuth 授權頁面 URL。請在瀏覽器中開啟完成授權。
statestring授權狀態識別值。

注意

  • 每個 auth_url 只能使用一次。若授權失敗或 URL 過期,請重新呼叫此接口取得新的 URL。
  • 授權成功後,呼叫取得社群媒體帳號確認帳號可用。
  • 同一平台可以綁定多個帳號。例如多次呼叫 YouTube OAuth 接口即可綁定多個 YouTube 頻道。
  • 如果帳號未成功綁定,不會扣除 API Units。

取得社群媒體帳號

取得目前 API Key 所屬使用者已綁定的社群媒體帳號。發布前可透過此接口取得 publish_configs 需要使用的帳號 id

GET https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only={active_only}

查詢參數

參數類型必填預設值說明
active_onlybooleanfalsetrue 時,只回傳 token 有效的帳號。

請求示例

curl -X GET "https://wayinvideo-api.wayin.ai/api/v2/social-media/accounts?active_only=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2"

未綁定帳號時的回應

{
  "data": []
}

如果 data 為空,請先呼叫綁定社群媒體帳號

已綁定帳號時的回應

{
  "data": [
    {
      "id": "smaccxxx",
      "platform": "youtube",
      "platform_username": "MyChannel",
      "platform_avatar": "https://example.com/avatar.jpg",
      "token_valid": true,
      "token_expiring_soon": false
    }
  ]
}

回應欄位

欄位類型說明
idstring社群帳號唯一 ID。呼叫 /publish 時必須用作 publish_configs 的 key。
platformstring平台識別值。見平台值
platform_usernamestring該平台上的使用者名稱、頻道名稱或帳號名稱。
platform_avatarstring | null帳號頭像 URL。
token_validbooleantrue 表示授權 token 有效,可用於發布。
token_expiring_soonbooleantrue 表示 token 即將過期,建議重新授權。

使用建議

  • 建立發布任務前,請確認目標帳號的 token_validtrue

建立發布任務

將一個短片發布到一個或多個已綁定的社群媒體帳號。透過專案 ID 和短片索引定位短片。

必要條件: project_id 必須來自提交時設定了 enable_export = true 的 AI 剪輯或時刻搜尋任務。社群發布需要已匯出的短片影片;未啟用匯出的專案無法使用此接口發布。

POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish

請求欄位

欄位類型必填說明
project_idstring專案 ID。
idxinteger專案中的短片索引。
resolutionstring已匯出短片使用的解析度,例如 1080p720p
publish_configsobject發布設定,key 為社群帳號 ID。
scheduled_atinteger | null定時發布時間戳(毫秒)。傳 null 或省略表示立即發布。

如何生成 scheduled_at

scheduled_at 是毫秒級 Unix 時間戳,必須至少是 5 分鐘後,且不能超過 30 天後。

JavaScript 中生成 10 分鐘後的時間:

const scheduledAt = Date.now() + 10 * 60 * 1000;

指定某個具體時間:

const scheduledAt = new Date('2026-06-15T10:00:00Z').getTime();

平台發布設定

publish_configs 的每個 value 都是平台相關的發布設定物件。

欄位類型必填說明
titlestring條件必填影片標題。YouTube 必填。
descriptionstring條件必填影片描述或正文。TikTok 必填。
tagsstring[]標籤列表。
visibilitystring可見性:publicprivateunlisted。不同平台支援情況不同。
thumbnail_urlstring自訂封面圖 URL。
categorystring平台相關的影片分類。
allow_commentboolean是否允許評論。
allow_duetboolean是否允許合拍,僅 TikTok。
allow_stitchboolean是否允許拼接,僅 TikTok。
disclose_contentboolean是否披露推廣或廣告內容,僅 TikTok。

重要: publish_configs 的 key 必須是 /api/v2/social-media/accounts 回傳的帳號 ID,例如 smacct06ixxxxxxx。不要使用 youtubetiktok 等平台名稱作為 key。

請求示例

curl -sS -X POST https://wayinvideo-api.wayin.ai/api/v2/social-media/publish \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{
    "project_id": "prj06ixxxxxxx",
    "idx": 0,
    "resolution": "1080p",
    "publish_configs": {
      "smacct06ixxxxxxx": {
        "title": "API Test Video",
        "description": "Posted by curl test",
        "tags": ["api", "test"],
        "visibility": "public"
      }
    },
    "scheduled_at": null
  }'

回應示例

{
  "data": {
    "task_id": "pubtask06ixxxxxxx",
    "status": "PENDING",
    "created_at": 1781251687210
  }
}

你可以在 WayinVideo calendar 查看發布排程與即時任務結果。


平台值

平台網站
youtubeYouTubehttps://youtube.com
tiktokTikTokhttps://tiktok.com
twitterTwitter / Xhttps://twitter.com
instagramInstagramhttps://instagram.com
facebookFacebookhttps://facebook.com
linkedinLinkedInhttps://linkedin.com

發布狀態值

說明
PENDING任務已建立,等待排程。
SCHEDULED已排程,等待觸發。
PROCESSING發布進行中,包括影片上傳與平台處理。
DONE發布成功。
PARTIAL_DONE部分成功,僅多帳號發布時可能出現。
ERROR發布失敗。
CANCELLED已取消。

完整流程示例

  1. 呼叫 OAuth 接口並在瀏覽器開啟 auth_url 完成授權。
  2. 呼叫帳號列表接口,複製目標帳號的 id
  3. 使用 project_ididxpublish_configs 建立發布任務。

注意事項

  1. publish_configs 的 key 是已綁定帳號 ID,不是平台名稱。
  2. 定時發布請傳入未來毫秒時間戳;null 或省略表示立即發布。
  3. 定時發布時間必須至少為 5 分鐘後,且不超過 30 天後。
  4. 社群發布需要已匯出的短片影片。請使用 enable_export = true 建立的 AI 剪輯或時刻搜尋任務的 project_id
  5. 如果發布時回傳帳號 token 錯誤,請重新綁定該社群媒體帳號後再試。
  6. 同一短片可以多次發布;同一帳號重複發布同一短片會建立獨立任務。