# 将视频发布至 YouTube、Instagram、Facebook 与 Threads

标准 URL： https://sosoapi.ai/zh-hans/docs/video-publishing

上传视频一次，然后为每个目标准备帖子。本指南涵盖媒体检查、平台选项、YouTube 隐私及检查帖子是否上线。发布契约审核于 2026年十月20日。

## 1. 准备一个就绪的视频素材

将本地视频上传或将公共视频 URL 导入工作区。持续检查该上传或导入，直到就绪，再在帖子中使用已登记的 asset_id 和规范 asset_url。

在平台有要求时，SosoAPI 会检查视频的实际容器、时长、尺寸和编解码器。文件名、调用方提供的 MIME 类型或可播放的预览，都不足以证明符合条件。排程前，请检查你对视频和音频的使用权，以及所有必要的披露要求。

- 将原始视频和封面素材保留在同一个已授权工作区中。

- 检查确切账号和预期格式的完整草稿资格。

- 如果准备失败，检查现有状态；不要仅因响应缓慢就重复启动导入。

## 2. 选择目标的视频格式

选择目标账号支持的格式和选项。可复用已就绪素材，但每个平台都需要自己的 provider_payload。

视频发布选项

| 目标 | provider_payload 选项 | 排程前审核 |

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

| Instagram | platform: instagram；依情况可选 VIDEO、REELS 或 STORY_VIDEO。 | 专业账号及已观测到的能力；限时动态需要 Business 资格。Reels 专用选项必须仅用于 Reels。 |

| Facebook Page | platform：facebook；按需使用 VIDEO、REELS 或 STORY_VIDEO。 | Page 身份、发布权限和 CREATE_CONTENT 任务；支持的媒体和格式选项。 |

| Threads | platform: threads；VIDEO。 | 符合资格的发布账号与已就绪视频；纯文字附件不适用于 VIDEO 载荷。 |

| YouTube 频道 | platform: youtube；VIDEO。 | 明确指定标题、类别、隐私及取消模式；平台原生排程需要管理权限。 |

## 3. 排程已审核的 YouTube 视频

使用 API 参考中的服务器辅助函数。将 asset_id 替换为已登记的正整数，asset_url 替换为其规范 URL。选择频道的实际账号 ID 和未来发布时间。

此示例请求在所选时间公开发布。运行前，请向用户确认此可见性设置。将 contains_synthetic_media 设置为符合实际视频的值；false 仅为示例。UNSCHEDULE_KEEP_PRIVATE 要求 YouTube 在取消未发布的原生排程后仍将其保持为私享。

```
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>"
});
```

- [发布 API 参考](https://sosoapi.ai/zh-hans/docs/publishing-api-reference)

## 4. 明确隐私设置、Shorts 和平台限制

YouTube 使用 post_type VIDEO。你可以设置 surface_expectation: SHORT，但上传是否符合 Short 条件仍由 YouTube 决定。仅凭文件名或竖屏方向不足以证明。

上传权限与管理原生排程的权限相互独立。请检查频道是否支持缩略图等可选功能；可用性可能未知。Google 的上传参考说明了授权和元数据要求，而 SosoAPI 也会检查自身支持的字段及已连接账号。

YouTube 及其他平台处理或审核视频可能需要时间，且其配额仍然适用。上传获接受不代表视频已公开可见。

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

- [账号与格式能力矩阵](https://sosoapi.ai/zh-hans/docs/publishing-capabilities)

## 5. 验证同一帖子的最终结果

存储排程帖子 ID，并检查发送进度与最终结果。可获取平台链接时，请开启检查。已排程或发布中表示最终结果仍待确认。

即使客户端中断连接，已接受排程仍会在服务器上继续。变更前，请先读取同一篇帖子。取消时使用当前版本及可用取消操作。删除已发布视频适用不同规则。

跨平台重复使用视频时，请检查各目标的要求。这些示例展示请求格式；本页不会执行或发布视频。

- [自有 agent 审核流程](https://sosoapi.ai/zh-hans/docs/claude-code-codex-social-publishing)

- [发布 API 参考](https://sosoapi.ai/zh-hans/docs/publishing-api-reference)
