---
title: "创建发布流程"
method: POST
path: "/api/v2/channels/publish/flows"
tags: ["渠道管理/内容发布"]
---

# 创建发布流程

`POST /api/v2/channels/publish/flows`

接口说明：创建多平台发布 Flow，一次请求可生成多个单平台任务。

调用本接口前，请先确保你已经了解完整发布流程，点击[了解完整发布流程](/zh/use/publish-flow)。

提示：除 X/Twitter（推特）发布外，其他平台发布目前都是免费的；关于 X/Twitter 发布计费，请[点击查看](https://aitoearn.ai/pricing#pricing-table-social-publishing)。

## Request body

- object
  - `flowId` string — 外部流水 ID
  - `content` object, required — 跨平台共享内容
    - `title` string — 标题
    - `body` string — 正文
    - `media` object[] — 主体媒体列表
      - `url` string, uri, required — 媒体 URL
      - `options` object — 媒体处理选项
        - `adaptation` object — 媒体格式转换选项
          - `imageFormat` 'off' | 'auto' | 'jpeg' | 'png' | 'webp' — 图片和封面格式转换目标
    - `cover` object — 封面
      - `url` string, uri, required — 封面 URL
      - `options` object — 媒体处理选项
        - `adaptation` object — 媒体格式转换选项
          - `imageFormat` 'off' | 'auto' | 'jpeg' | 'png' | 'webp' — 图片和封面格式转换目标
  - `publishAt` string, date-time, required — 目标发布时间
  - `context` object — 外部业务关联
    - `materialGroupId` string — 素材组 ID
    - `materialId` string — 素材 ID
  - `items` union[], required — 平台发布项
    - union
      - object
        - `platform` 'bilibili', required — 平台
        - `option` union, required — 哔哩哔哩发布选项
          - object
            - `tid` integer, required — 分区 ID
            - `no_reprint` 0 | 1 — 是否允许转载 0-允许，1-不允许
            - `topic_id` integer — 话题 ID
            - `mission_id` integer — 投稿活动 ID
            - `copyright` 1 — 1-原创，2-转载
            - `source` string — 转载来源
          - object
            - `tid` integer, required — 分区 ID
            - `no_reprint` 0 | 1 — 是否允许转载 0-允许，1-不允许
            - `topic_id` integer — 话题 ID
            - `mission_id` integer — 投稿活动 ID
            - `copyright` 2, required — 1-原创，2-转载
            - `source` string, required — 转载来源
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'youtube', required — 平台
        - `option` object — YouTube 发布选项
          - `privacyStatus` 'public' | 'unlisted' | 'private' — 隐私状态
          - `categoryId` string — 分类 ID
          - `publishAt` string, date-time — 定时发布时间，必须配合 private 隐私状态
          - `license` 'creativeCommon' | 'youtube' — 许可证
          - `embeddable` boolean — 是否可嵌入
          - `notifySubscribers` boolean — 是否通知订阅者
          - `selfDeclaredMadeForKids` boolean — 是否自认为适合儿童
          - `madeForKids` boolean — YouTube 审核后的儿童内容标记
          - `containsSyntheticMedia` boolean — 是否包含合成媒体内容
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'wxGzh', required — 平台
        - `option` object — 微信公众号发布选项
          - `author` string — 图文作者
          - `digest` string — 图文摘要
          - `open_comment` 0 | 1 — 是否开启评论
          - `only_fans_can_comment` 0 | 1 — 是否仅粉丝可评论
          - `showCoverPic` boolean — 是否显示封面
          - `sourceUrl` string, uri — 原文链接
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'facebook', required — 平台
        - `option` object — Facebook 发布选项
          - `content_category` 'post' | 'reel' | 'story' — 内容分类
          - `link` string, uri — Feed 链接
          - `content_tags` string[] — 内容标签
          - `custom_labels` string[] — 自定义标签
          - `direct_share_status` number — 直接分享状态
          - `embeddable` boolean — 是否可嵌入
          - `feed_targeting` object — Feed 定向
          - `video_state` 'DRAFT' | 'SCHEDULED' | 'PUBLISHED' — Reels/视频发布状态
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'instagram', required — 平台
        - `option` object — Instagram 发布选项
          - `alt_text` string — 替代文本
          - `caption` string — 标题
          - `collaborators` string[] — 协作者
          - `cover_url` string — 封面 URL
          - `image_url` string — 图片 URL
          - `location_id` string — 位置 ID
          - `media_type` 'IMAGE' | 'REELS' | 'STORIES' | 'CAROUSEL' — 媒体类型
          - `product_tags` object[] — 商品标签
            - `product_id` string, required — 商品 ID
            - `x` number, required — 标签横向位置
            - `y` number, required — 标签纵向位置
          - `user_tags` object[] — 用户标签
            - `username` string, required — 用户名称
            - `x` number, required — 标签横向位置
            - `y` number, required — 标签纵向位置
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'threads', required — 平台
        - `option` object — Threads 发布选项
          - `reply_control` 'everyone' | 'accounts_you_follow' | 'mentioned_only' | 'parent_post_author_only' | 'followers_only' — 回复控制
          - `location_id` string — 位置 ID
          - `allowlisted_country_codes` string[] — 允许的国家代码
          - `alt_text` string — 替代文本
          - `auto_publish_text` boolean — 是否自动发布文本
          - `link_attachment` string, uri — 链接附件 URL
          - `reply_to_id` string — 回复的 Threads 帖子 ID
          - `quote_post_id` string — 引用的 Threads 帖子 ID
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'pinterest', required — 平台
        - `option` object, required — Pinterest 发布选项
          - `boardId` string, required — 画板 ID
          - `link` string, uri — Pin 跳转链接
          - `altText` string — 替代文本
          - `coverImageUrl` string, uri — 视频 Pin 封面 URL
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'tiktok', required — 平台
        - `option` object — TikTok 发布选项
          - `privacy_level` 'PUBLIC_TO_EVERYONE' | 'MUTUAL_FOLLOW_FRIENDS' | 'SELF_ONLY' | 'FOLLOWER_OF_CREATOR' — 隐私级别，必须在 creator_info 返回的可选值内
          - `disable_duet` boolean — 是否禁用合拍
          - `disable_stitch` boolean — 是否禁用拼接
          - `disable_comment` boolean — 是否禁用评论
          - `brand_organic_toggle` boolean — 品牌有机内容
          - `brand_content_toggle` boolean — 品牌内容
          - `auto_add_music` boolean — 图文发布自动配乐
          - `photo_cover_index` integer — 图文封面图片下标
          - `source` 'FILE_UPLOAD' | 'PULL_FROM_URL' — 视频上传来源，FILE_UPLOAD 由后端上传，PULL_FROM_URL 由 TikTok 拉取已验证 URL
          - `is_aigc` boolean — 视频发布是否声明为 AI 生成内容
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'douyin', required — 平台
        - `option` object — 抖音发布选项
          - `short_title` string — 短标题
          - `cover_tsp` integer — 封面时间戳，单位毫秒
          - `download_type` 1 | 2 — 下载类型 1-允许，2-不允许
          - `private_status` 0 | 1 | 2 — 私密状态
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'twitter', required — 平台
        - `option` object — Twitter / X 发布选项
          - `reply_to_tweet_id` string — 回复的推文 ID
          - `reply_settings` 'following' | 'mentionedUsers' | 'subscribers' | 'verified' — 回复设置
          - `poll` object — 投票
            - `options` string[], required — 投票选项
            - `duration_minutes` integer, required — 投票持续分钟数
          - `quote_tweet_id` string — 引用推文 ID
          - `made_with_ai` boolean — 是否为 AI 生成内容
          - `paid_partnership` boolean — 是否为付费合作
          - `alt_text` string — 媒体替代文本
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'KWAI', required — 平台
        - `option` object — 快手发布选项
          - `cover` string — 封面 URL
          - `stereo_type` string — 视频类型
          - `merchant_product_id` string — 挂载商品 ID
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'linkedin', required — 平台
        - `option` object — LinkedIn 发布选项
          - `visibility` 'CONNECTIONS' | 'PUBLIC' — 可见性
          - `authorUrn` string — 发帖主体 URN，仅支持 person
          - `distribution` 'MAIN_FEED' | 'NONE' — 分发渠道
          - `commentary` string — 覆盖正文
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'xhs', required — 平台
        - `option` object, required — 小红书发布选项
          - `workLink` string, required — 已完成的小红书作品链接
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …
      - object
        - `platform` 'wxSph', required — 平台
        - `option` object — 微信视频号发布选项
          - `workId` string — 插件返回的作品锚点 ID
          - `workLink` string — 插件返回的作品链接
          - `linkStatus` 'pending' | 'ready' | 'failed' — 作品链接状态
          - `linkMeta` object — 作品链接扩展信息
            - `mediaMd5sum` string — 视频号媒体 MD5
            - `videoClipTaskId` string — 视频号剪辑任务 ID
            - `scheduledTime` number — 视频号定时发布时间戳
        - `accountId` string, required — 账号 ID
        - `overrides` object — 平台覆盖内容
          - `title` string — 标题覆盖
          - `body` string — 正文覆盖
          - `media` object[] — 主体媒体列表覆盖
            - `url` string, uri, required — 媒体 URL
            - `options` object — 媒体处理选项
              - …
          - `cover` object, nullable — 封面覆盖，传 null 表示清空封面
            - `url` string, uri, required — 封面 URL
            - `options` object — 媒体处理选项
              - …

## Response `200`

请求已被服务处理。业务是否成功以响应体 code === 0 为准。

- object
  - `data` ChannelPublishFlowVo
    - `flowId` string, required — 发布 Flow ID
    - `tasks` object[], required — 发布任务列表
      - `id` string, required — 发布任务 ID
      - `accountId` string, required — 账号 ID
      - `platform` 'douyin' | 'xhs' | 'wxSph' | 'KWAI' | 'youtube' | 'wxGzh' | 'bilibili' | 'twitter' | 'tiktok' | 'facebook' | 'instagram' | 'threads' | 'pinterest' | 'linkedin' | 'google_business', required — 平台
      - `status` -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 — 发布状态
      - `publishTime` string, date-time — 发布时间
      - `platformWorkId` string — 平台作品 ID
      - `workLink` string — 作品链接
      - `linkStatus` 'pending' | 'ready' | 'failed' — 作品链接状态
      - `linkError` string — 作品链接获取错误
      - `linkMeta` object — 作品链接扩展信息
      - `errorMsg` string — 错误信息
  - `code` integer, required — 业务状态码。0 表示成功，非 0 表示业务错误。
  - `message` string, required — 响应消息。
  - `requestId` string — 请求 ID。
  - `timestamp` integer — 错误响应时间戳，Unix 毫秒。

---

[API](https://skmtc.net/aitoearn/apis/aitoearn-api.md) · [All operations](https://skmtc.net/aitoearn/apis/aitoearn-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aitoearn/aitoearn-api/versions/19d860d9260d/schema)
