上传音乐
您可以使用本接口将音乐上传。上传成功后,您将会得到一个音乐ID。您还可以使用本接口将音乐添加至收藏列表,添加至历史列表,或从收藏列表中移除。
版权声明
请确保您对该音乐具有使用权。如果您侵犯了作者的版权,一切责任由您承担。
v1.2与v1.3版本对比
以下表格概括了 v1.2与v1.3接口的变化。
``xtable
|变化内容{30%}|v1.2{35%}|v1.3{35%}|
|---|---|---|
|接口路径|/v1.2/file/music/upload/|/v1.3/file/music/upload/|
|请求参数类型 |advertiser_id: number|advertiser_id: string|
|新增请求参数|/|music_scene<br>material_action<br>material_id|
|废弃返回参数 |/|name: string|
|新增返回参数|/|author<br>liked<br>cover_url`|
## 请求
**地址** https://business-api.tiktok.com/open_api/v1.3/file/music/upload/
**方法** POST
**请求Header**
``` xtable
|字段{25%}|类型{15%}|描述{60%}|
|--- |--- |--- |
|Access-Token {必填}|string|授权访问令牌。可以通过[获取访问令牌](https://ads.tiktok.com/marketing_api/docs?id=1738373164380162)接口获取。|
|Content-Type {必填}|string|请求消息类型。<br>若 `upload_type` 为`UPLOAD_BY_FILE`, 使用`multipart/form-data`。<br>若 `upload_type`为 `UPLOAD_BY_FILE_ID`,使用 `application/json`。|
参数
|字段{25%}|类型{15%}|描述{60%}|
|-|-|-|
|advertiser_id {必填}|string|广告账号ID。|
| music_scene | string | 音乐的使用场景。 <br>枚举值: <ul><li>`CREATIVE_ASSET`:创意工具场景。</li><li>`CAROUSEL_ADS`:非购物广告类型的轮播广告场景。</li><li>`CATALOG_CAROUSEL`:购物广告类型的轮播广告场景。 </li></ul>默认值:`CREATIVE_ASSET`。|
| upload_type {+条件必填}| string | 当 `music_scene` 设置为 `CAROUSEL_ADS`或 `CATALOG_CAROUSEL`时,需传入 `upload_type` 和 `material_action` 其中之一。<br>当 `music_scene` 设置为 `CREATIVE_ASSET` 或未传入时,本字段非必传,默认值为`UPLOAD_BY_FILE`。 <br> <br> 音乐上传方式。 <br>枚举值: <ul><li> `UPLOAD_BY_FILE`:通过文件将音乐上传。</li><li> `UPLOAD_BY_FILE_ID`: 通过文件ID将音乐上传。</li></ul>|
| material_action {+条件必填} | string | 当 `music_scene` 设置为 `CAROUSEL_ADS` 或 `CATALOG_CAROUSEL`时,需传入 `upload_type` 和 `material_action` 其中之一。 <br> 当 `music_scene` 设置为 `CREATIVE_ASSET` 或未传入 `music_scene` 时不支持本字段。 <br> 您想要对音乐进行的操作。您需同时传入 `material_id` 字段。 <br>枚举值: <ul><li>`ADD_TO_LIKED`:将音乐添加至收藏列表。 </li><li>`ADD_TO_HISTORY`:将音乐添加至历史列表。</li><li>`REMOVE_FROM_LIKED`:将音乐从收藏列表中移除。 </li></ul><p><span style="color:darkred"><b>注意</b></span>:单个广告账户的收藏列表中至多可添加1,000首音乐数量。到达数量上限后,不支持再将此字段设置为 `ADD_TO_LIKED` 再向收藏列表中添加音乐。 |
|music_file {+条件必填}| file | `upload_type` 为`UPLOAD_BY_FILE`或未传入`upload_type` 时必填。<br>音乐文件。<br><p><span style="color:darkred"><b>注意</b></span>:当 `music_scene` 设置为 `CAROUSEL_ADS`或 `CATALOG_CAROUSEL`时,您通过本字段指定的自定义音乐文件需满足以下规格要求:<ul><li>文件类型:MP3。</li><li>文件大小:不超过 10 MB。</li></ul> |
| music_signature {+条件必填} | string | `upload_type` 设置为 `UPLOAD_BY_FILE` 或未传入 `upload_type` 时必填。 <br> 音乐文件的MD5(用于服务端校验)。 |
| file_name | string | 仅当传入 `upload_type` 时生效。 <br>音乐名称。<br>长度限制: 1-100 个字符。缺省时为本地文件名称。 |
|file_id{+条件必填}| string | 当`upload_type`为`UPLOAD_BY_FILE_ID`时必填。<br>想要上传的文件的`file_id`。可从[文件上传](https://ads.tiktok.com/marketing_api/docs?id=1737719988918274)接口获取。<br><p><span style="color:darkred"><b>注意</b></span>:当 `music_scene` 设置为 `CAROUSEL_ADS`或 `CATALOG_CAROUSEL`时,您通过本字段指定的ID对应的自定义音乐文件需满足以下规格要求:<ul><li>文件类型:MP3。</li><li>文件大小:不超过 10 MB。</li></ul>|
| material_id {+条件必填} | string | 当 `music_scene` 设置为 `CAROUSEL_ADS`或 `CATALOG_CAROUSEL`且传入 `material_action` 时必填。<br> 当 `music_scene` 设置为 `CREATIVE_ASSET` 或未传入 `music_scene` 时不支持本字段。<br>音乐的素材ID,用于将音乐添加至收藏列表或历史列表,或将音乐从收藏列表中移除。 <br>若想获取有效的素材ID,您可以:<ul><li>通过本接口上传可用于轮播广告的自定义音乐,或</li><li>通过[/file/music/get/](https://ads.tiktok.com/marketing_api/docs?id=1740053909509122)返回的 `material_id` ,获取广告账号下可用于轮播广告的音乐对应的素材ID。</li></ul> |
示例
(code curl http)
curl --location --request GET 'https://ads.tiktok.com/open_api/v1.3/file/music/upload/' \
--header 'Access-Token: 3redfsdqewrefdv' \
--header 'Content-Type: multipart/form-data' \
--form 'advertiser_id="9999999"' \
--form 'upload_type="UPLOAD_BY_FILE"' \
--form 'music_file=@"/home/Desktop/test.mp3"' \
--form 'music_signature="34retrgdsfdaadzx"' \
--form 'file_name="test_file"'
(/code)
返回
|字段{35%}|类型{20%}|描述{45%}|
|-|-|-|
|code |number|返回码。完整返回码列表及描述,可查看[附录-返回码](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097)。|
|message |string|返回信息。更多信息可查看[附录-返回码](https://ads.tiktok.com/marketing_api/docs?id=1737172488964097)。|
|data |object|返回数据。|
#| music_id | string | 音乐 ID。 |
#| material_id | string | 素材 ID。 |
#| sources | string[] | 音乐来源。`USER`表示用户上传的音乐,`SYSTEM`表示系统音乐。 |
#| author | string |仅为可用于轮播广告的音乐返回本字段。 <br>音乐作者。 |
#| liked | boolean |仅为可用于轮播广告的音乐返回本字段。 <br>此音乐是否已添加至收藏列表中。 |
#| cover_url | string |仅为可用于轮播广告的音乐返回本字段。<br> 音乐的封面图片的URL。 |
#| url | string | 音乐试听链接。有效时长:12h。 |
#|duration{+ 条件返回} | float | 音乐时长,单位秒。仅系统音乐返回该字段。 |
#| style{+ 条件返回} | string | 音乐风格。仅系统音乐返回该字段。 |
#| signature | string | 音乐文件MD5。 |
#| file_name | string | 文件名称。 |
#| copyright | string | 版权信息。枚举值:`MUSIC_FORBID_VIDEO_ALLOW` (音乐不允许下载,但是生成的视频允许下载) ,`MUSIC_FORBID_VIDEO_FORBID`(音乐不允许下载,且生成的视频不允许下载)。|
#| create_time{+ 条件返回} | string | 创建时间。自定义音乐会返回该字段,系统音乐不返回该字段。UTC 时间,格式:2020-06-10T07:39:14Z |
#| modify_time{+ 条件返回} | string | 修改时间。自定义音乐会返回该字段,系统音乐不返回该字段。UTC 时间,格式:2020-06-10T07:39:14Z |
|request_id |string|请求的日志 ID,唯一标识一个请求。 |
示例
(code 返回示例 python)
HTTPS/1.1 200 OK
{
"message": "OK",
"code": 0,
"data": {
"copyright": "MUSIC_FORBID_VIDEO_ALLOW",
"url": "https://p9-dy.byteimg.com/obj/iesmusic-cn-local/v1/m/42b00000ca0384107766",
"file_name": "music_name_test",
"music_id": "6836297245562994693",
"material_id": "6836297245562994693",
"sources": [
"USER"
],
"create_time": "2020-12-06T07:08:09Z",
"modify_time": "2020-12-06T07:08:09Z",
"signature": "e360fd0e868c3183a0da849d38726739"
},
"request_id": "2020120607080801011515319101A3194C"
}
(/code)