# 创建发布任务

- API 版本：1.10.0
- 最后更新：2026-09-29
- 服务地址：`https://api.ailingtu.com`
- 网页文档：[创建发布任务](/openapi/create-post)
- 完整接口约束：[JSON Schema](/openapi/operations/createCreatorPost.json)
- 接口发现：[接口索引](/openapi/operations/index.json)

## POST /v1/creator/post/create

接口标识：`createCreatorPost`

创建 TikTok Shop、TikTok 或 TikTok Business 发布任务；成功仅表示任务已接收，请在发布记录确认最终结果。

鉴权：请求头 `x-api-key: <YOUR_API_KEY>`；密钥仅保存在服务端。

成功判断：HTTP 2xx 且响应 code=0；异步任务还需查询最终状态。

### 请求参数

| 字段 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| `businessId` | body | string | 是 | FILE 传文件 ID；EXTERNAL_URL 传原始 HTTPS MP4 URL |
| `businessType` | body | FILE \| EXTERNAL_URL | 是 | 文件或外链视频来源 |
| `creatorId` | body | string | 是 | 达人接口返回的 creatorId |
| `title` | body | string | 是 | 发布文案，最长 4000 字符 |
| `platform` | body | TIKTOK_SHOP \| TIKTOK \| TIKTOK_BUSINESS | 是 | 发布平台 |
| `mediaType` | body | VIDEO \| PHOTO | 否 | 可选；显式指定视频或图文，不传时按请求内容识别 |
| `scheduledAt` | body | integer | 否 | Unix Epoch 毫秒 |
| `scheduledTz` | body | string | 否 | IANA 时区 |
| `oauthRegion` | body | string | 否 | 达人 OAuth 授权地区 |
| `coverFileId` | body | integer \| string | 否 | 自定义视频封面文件 ID；与 tiktokShop.coverUri 配套传递，图文不传 |
| `tiktokShop` | body | object | 条件必填 | TIKTOK_SHOP 视频参数，包含商品、封面、预审、音乐和 AI 标识 |
| `tiktokShop.preCheck` | body | boolean | 否 | 是否在发布前提交预审，默认 false |
| `tiktokShop.preCheckOvertime` | body | integer | 否 | 预审跳过时间，单位为秒，取值范围 600–3600（含边界）。官方预审超过指定时间仍未完成时，自动跳过预审并继续发布。 |
| `tiktokShop.isAiGenerated` | body | boolean | 否 | 是否标识为 AI 生成内容；为 true 时 TikTok 会添加“AI 生成”标签 |
| `tiktokShop.coverUri` | body | string | 否 | 封面上传接口返回的 URI；使用时同时传 coverFileId |
| `tiktokShop.coverTimestampMs` | body | integer | 否 | 从视频指定毫秒位置截帧作为封面；有 coverUri 时不传 |
| `tiktokShop.musicInfo` | body | object | 否 | 视频背景音乐；不需要音乐时不传 |
| `tiktokShop.musicInfo.id` | body | string | 条件必填 | 传 musicInfo 时必填的音乐 ID |
| `tiktokShop.productInfo.productId` | body | string | 条件必填 | VIDEO 时必填；商品接口返回的商品 ID |
| `tiktokShop.productInfo.title` | body | string | 条件必填 | VIDEO 时必填；购物车展示标题，最长 30 字符 |
| `tiktokShop.productInfo.source` | body | SHOP \| SHOWCASE | 条件必填 | VIDEO 时必填；店铺商品传 SHOP，橱窗商品传 SHOWCASE |
| `tiktokShopPhoto` | body | object | 条件必填 | TIKTOK_SHOP 图文参数 |
| `tiktokShopPhoto.postType` | body | MULTI_PHOTO_ONE_ANCHOR | 条件必填 | PHOTO 时固定传 MULTI_PHOTO_ONE_ANCHOR |
| `tiktokShopPhoto.businessIds` | body | string[] | 条件必填 | PHOTO 时必填；1～15 个图片 fileId，按最终展示顺序排列 |
| `tiktokShopPhoto.productLinks[0].productId` | body | string | 条件必填 | PHOTO 时必填；唯一挂车商品的商品 ID |
| `tiktokShopPhoto.productLinks[0].title` | body | string | 条件必填 | PHOTO 时必填；购物车展示标题，最长 30 字符 |
| `tiktokShopPhoto.productLinks[0].source` | body | SHOP \| SHOWCASE | 条件必填 | PHOTO 时必填；商品来源 |
| `tiktokShopPhoto.musicInfo` | body | object | 否 | 图文背景音乐；不需要音乐时不传 |
| `tiktokShopPhoto.musicInfo.id` | body | string | 条件必填 | 传 musicInfo 时必填的音乐 ID |
| `tiktokBusiness` | body | object | 否 | Business 视频设置：互动限制、封面、品牌、AI 标识、音乐及地域；不传隐私级别。 |
| `tiktokBusinessPhoto` | body | object | 条件必填 | Business 图文必填；1～15 个图片文件 ID，privacyLevel 必须来自发布配置。 |
| `tiktok` | body | object | 条件必填 | TikTok 视频发布设置 |
| `tiktokBusiness.musicSoundInfo.musicSoundId` | body | string | 否 | 商用音乐片段 ID（song_clip_id），不传则不加平台音乐 |
| `tiktokBusiness.musicSoundInfo.musicSoundVolume` | body | integer | 否 | 音乐音量 0–100，默认 50 |
| `tiktokBusiness.musicSoundInfo.videoOriginalSoundVolume` | body | integer | 否 | 原声音量 0–100，默认 50 |
| `tiktokBusiness.locationInfo` | body | object | 否 | locationId、locationName 必须成对；locationAddress 仅展示 |
| `tiktokBusinessPhoto.businessIds` | body | integer[] | 条件必填 | 按图序传 1～15 个图片文件 ID |
| `tiktokBusinessPhoto.privacyLevel` | body | string | 条件必填 | Business 图文必填，取发布配置允许值 |
| `tiktokBusinessPhoto.photoCoverIndex` | body | integer | 否 | 封面图下标，从 0 开始，默认 0 |
| `tiktokBusinessPhoto.autoAddMusic` | body | boolean | 否 | 自动配乐；指定 musicSoundInfo 后固定为 false |
| `tiktokBusinessPhoto.musicSoundInfo` | body | object | 否 | 音乐 ID、曲名、歌手；图文不传音量 |
| `tiktokBusinessPhoto.locationInfo` | body | object | 否 | 地域 ID 和名称必须成对 |

请求格式：`application/json`

### 请求示例：TikTok Shop 带货视频

```json
{
  "businessId": "1465129",
  "businessType": "FILE",
  "coverFileId": 1465137,
  "creatorId": "2077242233106595840",
  "title": "Womens midlength Tshirt",
  "platform": "TIKTOK_SHOP",
  "scheduledAt": 1787752245233,
  "scheduledTz": "America/New_York",
  "tiktokShop": {
    "preCheck": true,
    "preCheckOvertime": 1800,
    "isAiGenerated": false,
    "coverUri": "tos-useast5-i-photomode-tx/owJB0AmAiCIAINiw1WSCmp1ftJzwBqxROEB5w5",
    "productInfo": {
      "productId": "1729452608393351351",
      "title": "Womens midlength Tshirt",
      "source": "SHOWCASE"
    }
  }
}
```

### 请求示例：TikTok Shop 带货图文

```json
{
  "businessId": "591",
  "businessType": "FILE",
  "creatorId": "2077242233106595840",
  "title": "Summer Sale 2026 #summer",
  "platform": "TIKTOK_SHOP",
  "mediaType": "PHOTO",
  "scheduledAt": 1784896665989,
  "scheduledTz": "America/New_York",
  "oauthRegion": "USA",
  "tiktokShopPhoto": {
    "postType": "MULTI_PHOTO_ONE_ANCHOR",
    "businessIds": [
      "591",
      "592"
    ],
    "productLinks": [
      {
        "productId": "1732280564607717841",
        "title": "Summer Vibes Cord",
        "source": "SHOP"
      }
    ],
    "musicInfo": {
      "id": "7567668059796720391",
      "title": "original sound",
      "author": "Ivan",
      "duration": "15"
    }
  }
}
```

### 请求示例：TikTok Business 视频

```json
{
  "creatorId": "2077242233106595840",
  "businessType": "FILE",
  "businessId": "591",
  "title": "New collection",
  "platform": "TIKTOK_BUSINESS",
  "mediaType": "VIDEO",
  "tiktokBusiness": {
    "musicSoundInfo": {
      "musicSoundId": "7123456789012345678",
      "musicSoundVolume": 50,
      "videoOriginalSoundVolume": 50
    },
    "locationInfo": {
      "locationId": "loc-1",
      "locationName": "London"
    }
  }
}
```

### 请求示例：TikTok Business 图文

```json
{
  "creatorId": "2077242233106595840",
  "businessType": "FILE",
  "businessId": "591",
  "title": "New collection",
  "platform": "TIKTOK_BUSINESS",
  "mediaType": "PHOTO",
  "tiktokBusinessPhoto": {
    "businessIds": [
      591,
      592
    ],
    "privacyLevel": "SELF_ONLY",
    "photoCoverIndex": 0
  }
}
```

### 成功响应

```json
{
  "code": 0,
  "data": {
    "id": 100,
    "postId": "post_xxx",
    "platform": "TIKTOK_SHOP",
    "title": "Summer Sale 2026 #summer",
    "videoUrl": "https://cdn.ailingtu.com/media/video.mp4",
    "status": "SCHEDULED"
  },
  "message": "success"
}
```

### 响应字段

以下列出主要层级；完整结构、联合类型及校验规则以接口 JSON Schema 为准。必填指字段所在对象中的约束。

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `code` | integer | 是 | 固定值：0 |
| `message` | string | 否 | — |
| `data` | object | 是 | — |
| `data.id` | union | 是 | — |
| `data.postId` | string | 是 | — |
| `data.platform` | string | 是 | 可选值：TIKTOK_SHOP、TIKTOK、TIKTOK_BUSINESS |
| `data.title` | string | 是 | — |
| `data.videoUrl` | string \| null | 否 | — |
| `data.status` | string | 是 | — |
| `timestamp` | integer | 否 | 响应时间戳，单位毫秒。 |

### 接入说明与限制

- 视频封面可传 tiktokShop.coverTimestampMs 截帧；自定义封面则同时传 coverFileId 与 tiktokShop.coverUri，两种方式不要混用。
- TikTok Shop 图文支持 1～15 张图片和 1 个商品；businessId 必须等于 businessIds[0]，首图即封面。
- 保存 postId 和 status，并前往发布记录确认最终状态。
- Business 地域 ID 与名称必须成对；音乐使用 musicSoundId（song_clip_id），不能用 commercialMusicId。视频两种音量 0–100，默认均为 50；图文不传音量，指定音乐后 autoAddMusic 不生效。
- Business 视频封面优先使用 coverFileId，否则按 coverTimestampMs 截帧；账号已禁用的互动不能重新开启。
- EXTERNAL_URL 仅支持 Pro/Elite（含同等级历史套餐）的 TikTok Shop 视频；URL 最长 256 字符，必须为 HTTPS MP4，Content-Length 严格小于 200 MiB。

### 错误处理

| HTTP | 说明 |
|---|---|
| 400 | 请求参数或请求体无效，请修正后重试。 |
| 401 | API 密钥缺失或无效，请检查 x-api-key。 |
| 403 | API 密钥没有此接口的调用权限。 |
| 429 | 请求过于频繁，请采用指数退避重试。 |
| 500 | 服务端发生错误；对于暂时性故障采用指数退避重试。 |

业务 code 非零时也应按失败处理。不要对参数、权限或授权错误盲目重试。创建发布或生成任务超时后先查询原任务，避免重复创建。

### 相关接口

- [获取 TikTok 发布配置](/openapi/tiktok-publish-config) · [Markdown](/openapi/operations/getTikTokPublishConfig.md)
- [查询 Business 热门音乐](/openapi/business-trending-music) · [Markdown](/openapi/operations/listTikTokBusinessTrendingMusic.md)
- [搜索 Business 地域](/openapi/business-locations) · [Markdown](/openapi/operations/searchTikTokBusinessLocations.md)
- [查询发布任务详情](/openapi/post-detail) · [Markdown](/openapi/operations/getCreatorPost.md)
- [搜索音乐](/openapi/search-music) · [Markdown](/openapi/operations/searchTikTokShopMusic.md)
- [上传 TikTok 视频封面](/openapi/upload-tiktok-cover) · [Markdown](/openapi/operations/uploadTikTokShopVideoCover.md)
- [带货视频立即发布](/openapi/submit-post) · [Markdown](/openapi/operations/submitCreatorPost.md)
- [查询发布记录](/openapi/post-records) · [Markdown](/openapi/operations/listCreatorPosts.md)
