生成数字人形象
说明
异步任务,具体进度通过查询接口查看
QPS 10/min
请求地址
http
POST /open/v1/create_customised_person
Header
http
access_token: {{access_token}}
Content-Type: application/json; charset=utf-8
请求参数 Body
json
{
"name": "open_api_测试",
"callback":"https://xx.com",
"train_type":"",
"file_id":"XXXX",
"error_skip":false
}
参数说明
字段 | 说明 | 限制 |
---|---|---|
name | 定制数字人名称 | |
callback | 回调地址 | 任务结束后会向该地址发送一个 POST 请求。请求体的格式和拉取数字人详情查询结果返回的data相同 |
train_type | 训练类型 【可选】 | 参数可选择 - figure 【仅生成形象形象,允许传递无声视频】 |
language | 语种【可选】 | 需生成声音时可传,默认为cn,支持en英文,其他语种暂不支持,如有特殊语种需要支持,请联系客服 |
file_id | 文件管理获取的id | 《文件管理》 |
error_skip | 是否跳过定制数字人部分失败 | 目前支持跳过声音克隆失败(声音分离失败、高质量音频裁剪失败),跳过后定制数字人列表/详情的audio_id将为空值 |
响应示例
json
{
"trace_id": "4820a8cb9078e39656c387458de79954",
"code": 0,
"msg": "success",
"data": "C-ef91f3a6db3144ffb5d6c581ff13c7ec"
}
响应字段说明
字段 | 说明 |
---|---|
code | 响应状态码 |
data | 定制的数字人id |
响应状态码说明
code | 说明 |
---|---|
0 | 响应成功 |
400 | 传入参数格式错误 |
10400 | AccessToken验证失败 |
train_type参数错误,支持的值为: ["voice", "figure", "both"] | |
APP状态有误 | |
不支持的视频格式,请上传 mp4, webm 或者 mov 并请确认文件URL的扩展名(如.mp4)位于路径末尾,示例格式: https://domain.com/your_file.mp4?key=xxxxx | |
获取视频信息失败,请检查视频 | |
视频时长过长,请重新上传,上限5分钟 | |
40000 | 参数错误 |
40001 | 超出QPS限制 |
40002 | 定制数字人数量到达上限 |
50000 | 系统内部错误 |
51000 | 系统内部错误 |
请求示例
shell
curl -L 'https://www.chanjing.cc/api/open/v1/create_customised_person' -H 'access_token: token' -H 'Content-Type: application/json' -d '{"name":"数字人","callback":"","train_type":"","file_id":""}'
go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.chanjing.cc/api/open/v1/create_customised_person"
method := "POST"
payload := strings.NewReader(`{"name":"数字人","callback":"","train_type":"","file_id":""}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("access_token", "token")
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
java
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"name\":\"数字人\",\"callback\":\"\",\"train_type\":\"\",\"file_id\":\"\"}");
Request request = new Request.Builder()
.url("https://www.chanjing.cc/api/open/v1/create_customised_person")
.method("POST", body)
.addHeader("access_token", "token")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
py
import requests
import json
url = "https://www.chanjing.cc/api/open/v1/create_customised_person"
payload = "{\"name\":\"数字人\",\"callback\":\"\",\"train_type\":\"\",\"file_id\":\"\"}"
headers = {
'access_token': 'token',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)