开发者文档 / 带货内容发布
创建发布任务
创建 TikTok Shop、TikTok 或 TikTok Business 发布任务;成功仅表示任务已接收,请在发布记录确认最终结果。
POST
/v1/creator/post/create- 鉴权:
- 请求头 x-api-key: <YOUR_API_KEY>;密钥仅保存在服务端。
- 成功判断:
- HTTP 2xx 且响应 code=0;异步任务还需查询最终状态。
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
businessId | string | 是 | FILE 传文件 ID;EXTERNAL_URL 传原始 HTTPS MP4 URL |
businessType | FILE | EXTERNAL_URL | 是 | 文件或外链视频来源 |
creatorId | string | 是 | 达人接口返回的 creatorId |
title | string | 是 | 发布文案,最长 4000 字符 |
platform | TIKTOK_SHOP | TIKTOK | TIKTOK_BUSINESS | 是 | 发布平台 |
mediaType | VIDEO | PHOTO | 否 | 可选;显式指定视频或图文,不传时按请求内容识别 |
scheduledAt | integer | 否 | Unix Epoch 毫秒 |
scheduledTz | string | 否 | IANA 时区 |
oauthRegion | string | 否 | 达人 OAuth 授权地区 |
coverFileId | integer | string | 否 | 自定义视频封面文件 ID;与 tiktokShop.coverUri 配套传递,图文不传 |
tiktokShop | object | 条件 | TIKTOK_SHOP 视频参数,包含商品、封面、预审、音乐和 AI 标识 |
tiktokShop.preCheck | boolean | 否 | 是否在发布前提交预审,默认 false |
tiktokShop.preCheckOvertime | integer | 否 | 预审跳过时间,单位为秒,取值范围 600–3600(含边界)。官方预审超过指定时间仍未完成时,自动跳过预审并继续发布。 |
tiktokShop.isAiGenerated | boolean | 否 | 是否标识为 AI 生成内容;为 true 时 TikTok 会添加“AI 生成”标签 |
tiktokShop.coverUri | string | 否 | 封面上传接口返回的 URI;使用时同时传 coverFileId |
tiktokShop.coverTimestampMs | integer | 否 | 从视频指定毫秒位置截帧作为封面;有 coverUri 时不传 |
tiktokShop.musicInfo | object | 否 | 视频背景音乐;不需要音乐时不传 |
tiktokShop.musicInfo.id | string | 条件 | 传 musicInfo 时必填的音乐 ID |
tiktokShop.productInfo.productId | string | 条件 | VIDEO 时必填;商品接口返回的商品 ID |
tiktokShop.productInfo.title | string | 条件 | VIDEO 时必填;购物车展示标题,最长 30 字符 |
tiktokShop.productInfo.source | SHOP | SHOWCASE | 条件 | VIDEO 时必填;店铺商品传 SHOP,橱窗商品传 SHOWCASE |
tiktokShopPhoto | object | 条件 | TIKTOK_SHOP 图文参数 |
tiktokShopPhoto.postType | MULTI_PHOTO_ONE_ANCHOR | 条件 | PHOTO 时固定传 MULTI_PHOTO_ONE_ANCHOR |
tiktokShopPhoto.businessIds | string[] | 条件 | PHOTO 时必填;1~15 个图片 fileId,按最终展示顺序排列 |
tiktokShopPhoto.productLinks[0].productId | string | 条件 | PHOTO 时必填;唯一挂车商品的商品 ID |
tiktokShopPhoto.productLinks[0].title | string | 条件 | PHOTO 时必填;购物车展示标题,最长 30 字符 |
tiktokShopPhoto.productLinks[0].source | SHOP | SHOWCASE | 条件 | PHOTO 时必填;商品来源 |
tiktokShopPhoto.musicInfo | object | 否 | 图文背景音乐;不需要音乐时不传 |
tiktokShopPhoto.musicInfo.id | string | 条件 | 传 musicInfo 时必填的音乐 ID |
tiktokBusiness | object | 否 | Business 视频设置:互动限制、封面、品牌、AI 标识、音乐及地域;不传隐私级别。 |
tiktokBusinessPhoto | object | 条件 | Business 图文必填;1~15 个图片文件 ID,privacyLevel 必须来自发布配置。 |
tiktok | object | 条件 | TikTok 视频发布设置 |
tiktokBusiness.musicSoundInfo.musicSoundId | string | 否 | 商用音乐片段 ID(song_clip_id),不传则不加平台音乐 |
tiktokBusiness.musicSoundInfo.musicSoundVolume | integer | 否 | 音乐音量 0–100,默认 50 |
tiktokBusiness.musicSoundInfo.videoOriginalSoundVolume | integer | 否 | 原声音量 0–100,默认 50 |
tiktokBusiness.locationInfo | object | 否 | locationId、locationName 必须成对;locationAddress 仅展示 |
tiktokBusinessPhoto.businessIds | integer[] | 条件 | 按图序传 1~15 个图片文件 ID |
tiktokBusinessPhoto.privacyLevel | string | 条件 | Business 图文必填,取发布配置允许值 |
tiktokBusinessPhoto.photoCoverIndex | integer | 否 | 封面图下标,从 0 开始,默认 0 |
tiktokBusinessPhoto.autoAddMusic | boolean | 否 | 自动配乐;指定 musicSoundInfo 后固定为 false |
tiktokBusinessPhoto.musicSoundInfo | object | 否 | 音乐 ID、曲名、歌手;图文不传音量 |
tiktokBusinessPhoto.locationInfo | object | 否 | 地域 ID 和名称必须成对 |
视频封面可传 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。
成功响应
{
"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"
}请求示例 · TikTok Shop 带货视频
{
"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 带货图文
{
"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 视频
{
"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 图文
{
"creatorId": "2077242233106595840",
"businessType": "FILE",
"businessId": "591",
"title": "New collection",
"platform": "TIKTOK_BUSINESS",
"mediaType": "PHOTO",
"tiktokBusinessPhoto": {
"businessIds": [
591,
592
],
"privacyLevel": "SELF_ONLY",
"photoCoverIndex": 0
}
}响应与错误
主要响应字段来自接口规范;完整层级、联合类型和校验规则见 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 | 否 | 响应时间戳,单位毫秒。 |
HTTP 400请求参数或请求体无效,请修正后重试。HTTP 401API 密钥缺失或无效,请检查 x-api-key。HTTP 403API 密钥没有此接口的调用权限。HTTP 429请求过于频繁,请采用指数退避重试。HTTP 500服务端发生错误;对于暂时性故障采用指数退避重试。
参数、权限或授权错误需先修正。创建发布或生成任务超时后先查询已有任务,避免重复创建;不要因轮询中断而重复提交。
最后更新 · 2026-09-29