本文档适用于第三方系统接入飞影数字人的技术文档
所有接口采用 Bearer Token 认证方式,需要在请求的 Header 中填入"Authorization":"Bearer ${token}"。
在调用前请先联系商务获取 token。在调用接口时,如果 token 验证失败,会返回 401 状态,其他业务异常时会返回 200 状态,需要通过响应体中的 code 错误码来识别具体的异常原因。
支持使用音频驱动和文本驱动两种方式创作作品。此接口会产生积分消耗。
POST /api/v1/hifly/task/create
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
audio_url | url | 音频文件地址,音频驱动时必填,支持 mp3、m4a、wav 等格式,100M 以内,时长范围 5 秒 ~ 30 分钟 |
voice_id | int | 声音 ID,文本驱动/输出仅音频时必填,参考声音克隆 ,或通过声音列表 获取公版声音 |
voice_type | int | 声音类型,文本驱动/输出仅音频时必填,9:声音克隆基础版 10:公版声音, 20:高保真声音,默认为 20 |
text | string | 文本内容,文本驱动/输出仅音频时必填,不超过 10000 字,不支持 html 标签 |
video_url | url | 视频文件地址,视频驱动必填,支持 mp4、mov 格式且使用 h264 编码,500MB 以内,分辨率范围 360p ~ 4K,时长范围 5 秒~ 30 分钟。注意:相同 URL 视为同一个数字人。 字符长度不超过 500 |
title | string | 作品名称,默认"未命名",不超过 20 个字。 |
only_generate_audio | int | 数字人输出驱动模式,输出仅音频时必填,1:仅合成声音, 0: 合成视频 |
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
job_id | int | 作品 id |
request_id | string | 请求码 |
入参
{
"audio_url": "string",
"video_url": "string"
}
{
"voice_id": 1,
"text": "string",
"video_url": "string"
}
出参
{
"code":0,
"message":"",
"job_id":10000,
"request_id":""
}
POST /api/v1/hifly/task/inspect
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
job_id | int | 作品 ID,必填。 |
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
status | int | 作品状态, 1:等待中 2:处理中 3:完成 4:失败 |
video_Url | url | 合成的视频地址。这是一个临时地址,请尽快转存。url 中会带有 query 参数,下载视频时请确保已兼容。 |
duration | int | 作品时长,单位:秒 |
request_id | string | 请求码 |
入参
{
"job_id": 10000
}
出参
{
"code":0,
"message":"",
"duration":0,
"status":2,
"video_Url":"",
"request_id":""
}
在作品处理完成或失败时,触发作品状态回调。调用时使用相同的 Bearer Token 认证。
method: post
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
job_id | int | 作品 ID |
status | int | 作品状态,3:完成 4:失败 |
video_Url | url | 合成的视频地址。这是一个临时地址,请尽快转存。 url 中会带有 query 参数,下载视频时请确保已兼容。 |
duration | int | 作品时长,单位:秒 |
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
title | string | 作品名称 |
如果响应状态码不为 200,则视为通知失败, 5 分钟内会重试,之后不再重试。
入参
{
"title":"",
"job_id": 1,
"status": 3,
"video_Url": "string",
"duration":0,
"message": "string",
"code": 0
}
出参
{}
克隆自己的声音,操作步骤为先创建声音、然后训练声音、再确认声音,完成确认后即可使用这个声音创建作品。此接口创建高保真声音时会产生积分消耗。
POST /api/v1/hifly/voice/create
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
type | int | 声音类型,必填,9:声音克隆基础版, 20:高保真声音 |
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
voice_id | int | 声音 id |
request_id | string | 请求码 |
入参
{
"type": 20
}
出参
{
"code":0,
"message":"",
"voice_id":1,
"request_id":""
}
支持中文、英文
POST /api/v1/hifly/voice/train
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
voice_id | int | 声音 id ,必填 |
audio_url | url | 声音文件 URL,必填,支持 mp3、m4a、wav 格式,20M 以内,时长范围 5 秒~ 3 分钟 |
voice_type | int | 声音类型,9:声音克隆基础版, 20:高保真声音,默认为 20 |
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
demo_url | url | 试听声音文件地址 |
remained_times | int | 剩余训练次数,基础版声音最多训练 1 次,高保真声音最多训练 3 次 |
request_id | string | 请求码 |
入参
{
"voice_id": 1
"audio_url":"url"
}
出参
{
"code":0,
"message":"",
"demo_url":"url",
"remained_times":1,
"request_id":""
}
确认使用最后一次的训练音频对声音进行克隆操作,克隆后声音不再支持重新训练。基础版声音在训练后会自动确认。
POST /api/v1/hifly/voice/confirm
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
voice_id | int | 声音 id,必填 |
title | string | 声音名称,必填,不超过 20 个字 |
voice_type | int | 声音类型,9:声音克隆基础版, 20:高保真声音,默认为 20 |
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
request_id | string | 请求码 |
入参
{
"voice_id": 1
"title":"专属声音"
}
出参
{
"code":0,
"message":"",
"request_id":""
}
修改高保真声音的参数
POST /api/v1/hifly/voice/edit
content-type: application/json
参数 | 类型 | 描述 |
---|---|---|
voice_id | int | 声音 id,必填 |
rate | string | 语速,必填,值为 0.5 和 2.0 之间,默认 1.0,字符串格式 |
volume | string | 音量,必填,值为 0.1 和 2.0 之间,默认 1.0,字符串格式 |
pitch | string | 语调,必填,值为 0.1 和 2.0 之间,默认 1.0,字符串格式 |
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
request_id | string | 请求码 |
入参
{
"voice_id": 1,
"rate":"1.0",
"volume":"1.0",
"pitch":"1.0"
}
出参
{
"code":0,
"message":"",
"request_id":""
}
查询已完成克隆的声音、以及公版声音
GET /api/v1/hifly/voice/list
content-type: application/json
无
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
data | array | 声音数组 |
voice_id |
int | 声音 ID |
type |
int | 声音类型,10:公版声音, 20:高保真声音 |
title |
string | 声音名称 |
rate |
string | 语速 |
volume |
string | 音量 |
pitch |
string | 语调 |
request_id | string | 请求码 |
入参
{
}
出参
{
"code":0,
"message":"",
"data":[{
"voice_id": 213,
"type": 10,
"title": "黑土 东北老铁",
"rate": "",
"pitch": "",
"volume": ""
}],
"request_id":""
}
GET /api/v1/hifly/account/credit
无
参数 | 类型 | 描述 |
---|---|---|
message | string | 失败时返回错误信息 |
code | int | 失败时错误码 |
left | int | 积分余额 |
request_id | string | 请求码 |
入参:无
出参
{
"code":0,
"message":"",
"left":10000,
"request_id":""
}
值 | 描述 |
---|---|
11 | 参数不正确 |
14 | 找不到资源 |
1001 | 正在生成中的作品数量达到上限 |
1002 | 积分不足 |
1005 | 开通会员 |
1009 | 高保真声音已售罄 |
1011 | 声音与名人相似 |
1013 | 高保真声音达到克隆数量上限 |
1015 | 提交的作品数量达到上限 |
2003 | 无效 Token |
2011 | 文件大小超过限制 |
2012 | 文件类型不支持 |
2013 | 获取音频资源失败 |
2014 | 获取视频资源失败 |
2015 | 数字人克隆失败 |