Skip to content

合成数字人视频

本能力用于将已选定的数字人形象定制数字人数字人模板库 中的公共形象)与脚本、配音、字幕等组合,生成最终成片。它是数字人能力闭环中的成片输出环节,与「定制数字人 / 模板库」「语音合成」等能力配合使用。

创建视频合成任务

说明

异步任务,具体进度通过查询接口查看

QPS   10/min

请求地址

http
POST /open/v1/create_video
http
access_token: {{access_token}}

请求参数 Body

字段类型Nested Key类型示例说明
personobjectidstringC-d1af99e0fee34978bc844d43078bf8c9形象列表返回的id
xint0x位置
yint480y位置
figure_typestring 非必传whole_body仅使用公共数字人时,需传该参数。
widthint1080
heightint1920
drive_modestring 非必传"" / random驱动模式。支持正常顺序驱动,和随机帧动作驱动random。默认正常顺序驱动
is_rgba_modebool 非必传,默认falsetrue是否驱动四通道webm 视频。
注意事项:
1. 需要数字人是 webm 格式四通道视频定制的

2. 2025年2月8号以及之后定制的数字人开始生效。

3. 该方式生成的数字人合成视频不含字幕以及背景
backwayint 非必传,默认11指定数字人驱动到素材末尾的播放顺序,1正放,2倒放
audioobjectttsobjecttext文本, 字符串数组,所有内容放到一个字符串上面。使用标点符号分割就行,不用分多个字符串。
文本长度限制为4000以下
多音字支持参考本页 《SSML》
speed浮点数类型,语速范围请在0.5和2之间
audio_man数字人中列表中的audio_man_id数字人的音色(支持api公共声音和api定制声音)
pitch音调,定制声音的音调范围参考《创建语音生成任务》
file_idstring通过文件管理上传的音频文件驱动数字人(如需支持字幕,请上传采样率为8000 Hz、16000 Hz,声道类型为单声道的音频),目前只支持以下两种编码:audio/x-wav, audio/mpeg
wav_urlstringmp3、m4a 或者 wav 视频文件,音频文件链接后缀需要带有文件类型,根据音频文件驱动数字人(如需支持字幕,请上传采样率为8000 Hz、16000 Hz,声道类型为单声道的音频),目前只支持以下四种编码:audio/x-wav, audio/mpeg, audio/m4a, video/mp4
typestringtts / audio 二选一生成声音类型,当前默认tts表示通过tts文本生成。 
audio表示通过音频文件生成。
volumeint100音量
languagestringcn语言类型,默认 cn
bg_colorstring背景颜色  #EDEDED
bgobject,可选src_urlstringhttps://res.chanjing.cc/chanjing/static/res/bg/2024-07-22/452976e919084de0abc8764b4ee5f800.png背景图片地址,仅支持 jpg,png格式
xint0x坐标
yint0y坐标
heightint1920图片高度
widthint1080图片宽度
file_idstring0通过文件管理上传的背景素材id
subtitle_configobject, 可选。
字体大小与字体宽高位置计算比较麻烦,相关参数都推荐使用默认值
xint31x坐标,字体显示范围的起始x坐标,推荐31(4K视频推荐80)
yint1521y坐标,字体显示范围的起始y坐标,推荐1521(4K视频推荐2840)
showbooltrue是否显示字幕
widthint1000字体显示范围的宽,推荐使用1000(4K视频推荐2000)
heightint200字体显示范围的高,推荐使用200(4K视频推荐1000)
font_sizeint64字体大小,推荐64(4K视频推荐150)
colorstring,可选#000000字体颜色值
stroke_colorstring,可选#000000字体描边颜色值
stroke_widthint,可选7字体描边宽度,推荐使用7
font_idstring,可选字体id《获取支持的字体列表》
asr_typeint,可选0字幕时间戳来源 0自动生成 1用户输入
subtitlesarray,可选时间轴数组自定义字幕时间轴
begin_timeint,可选0
end_timeint,可选0
textstring字幕内容
screen_widthint屏幕宽度默认 1080。
screen_heightint屏幕高度默认 1920。
modelint1非必填,默认0基础版[蝉镜lip-sync模型](1蝉豆/秒),1为高质版[蝉镜lip-sync pro模型](2蝉豆/秒),2为卡通形象专用[训练素材必须为卡通形象](3蝉豆/秒)
callbackstring任务结束后会向该地址发送一个 POST 请求。请求体的格式和拉取视频详情查询结果返回的 data 相同
add_compliance_watermarkbooltrue是否添加 AI 作品合规水印
compliance_watermark_positionint0-左上
1-右上
2-左下
3-右下
默认值为0,左上,支持自定义方位
resolution_rateint0-1080p
1-4K
默认0。进行4K视频合成时,请自行调整屏幕宽高,且需要数字人支持4K视频合成(即support_4k为true)

数字人 person.id 和 audio.tts.audio_man 请求id 参考《拉取形象列表》返回id

回调参数

json
{
    "id": "1914661228878233600",
    "status": 30,
    "progress": 100,
    "msg": "",
    "video_url": "https://res.chanjing.cc/chanjing/prod/dhaio/output/2025-04-22/1914661228878233600-1745325829-output.mp4",
    "subtitle_data_url": "",
    "create_time": 1745325784,
    "preview_url": "https://res.chanjing.cc/chanjing/prod/dhaio/output/2025-04-22/1914661228878233600-1745325829-cover.jpg",
    "duration": 45,
    "audio_urls": [
        "https://res.chanjing.cc/chanjing/res/upload/tts/2025-04-22/c316fca6f821df9ea8874f8fa106ce38.wav"
    ]
}

请求示例

json
{
  "person": {
    "id":"C-d1af99e0fee34978bc844d43078bf8c9",
    "x": 0,
    "y": 480,
    "width": 1080,
    "height": 1440
  },
  "audio": {
    "tts": {
      "text": [
           "君不见黄河之水天上来,奔流到海不复回。"
      ],
      "speed": 1,
      "audio_man": "C-f2429d07554749839849497589199916"
    },
    "wav_url":"http://chanjian.cc/2024-07-17/a7b3696424262c07add42b24dadfb08f.wav",
    "type": "tts",
    "volume": 100,
    "language": "cn"
  },
  "bg_color": "#EDEDED",
  "screen_width": 1080,
  "screen_height": 1920
}

响应JOSN

json
{
    "trace_id": "8d10659438827bd4d59eaa2696f9d391",
    "code": 0,
    "msg": "success",
    "data": "9499ed79995c4bdb95f0d66ca84419fd"
}

响应参数

字段说明
code响应状态码
msg响应消息
data创建视频id

响应状态码说明

code说明
0响应成功
400传入参数格式错误
10400AccessToken验证失败
APP状态错误
缺少 tts 文本
缺少音频文件
输入文本不可以包含 emoji
不支持的图片格式,支持png,jpeg,jpg格式图片
参数 screen_width 或者 screen_height 不合法
字幕宽度不能超过屏幕宽度
字幕高度不能超过屏幕高度
字幕颜色格式不正确,正确格式为 #RRGGBB
该数字人不是 webm 类型,无法生成四通道视频
该数字人需制定形态参数 figure_type
背景颜色格式不正确,正确格式为 #RRGGBB
40000参数错误
40001超出QPS限制
40002制作视频时长到达上限
50000系统内部错误
定制数字人不存在
该公共数字人没有选择正确的形象
数字人高不允许为奇数
没有找到对应的声ID
声音ID对应的audio_man不存在
50011作品存在不合法规文字内容

示例代码

bash
curl -L 'https://www.chanjing.cc/api/open/v1/create_video' -H 'access_token: Yqmvg4SOinq+i0RLAHmwd03zuZxYrdT92gIwNluONtjOCr0FCVDCBWDFCTp8o4Y6' -H 'Content-Type: application/json' -d '{
  "person": {
    "id": "1421df93d7754ee19dcaa18e85b68f39",
    "x": 0,
    "y": 0,
    "width": 1080,
    "height": 1920,
    "figure_type": "sit_body",
    "drive_mode":"random"
  },
  "audio": {
    "tts": {
      "text": ["你好,这是测试蝉镜数字人,黄河之水天上来"],
      "speed": 1,
      "audio_man": "C-CASE-d8dfe5838e774124b04e0ad41c194847"
    },
    "wav_url": "",
    "type": "tts",
    "volume": 100,
    "language": "cn"
  },
  "bg_color": "#d92127",
  
  "screen_width": 1080,
  "screen_height": 1920
}
'
go
import requests
import json

url = "https://www.chanjing.cc/api/open/v1/create_video"

payload = json.dumps({
  "person": {
    "id": "1421df93d7754ee19dcaa18e85b68f39",
    "x": 0,
    "y": 0,
    "width": 1080,
    "height": 1920,
    "figure_type": "sit_body",
    "drive_mode": "random"
  },
  "audio": {
    "tts": {
      "text": [
        "你好,这是测试蝉镜数字人,黄河之水天上来"
      ],
      "speed": 1,
      "audio_man": "C-CASE-d8dfe5838e774124b04e0ad41c194847"
    },
    "wav_url": "",
    "type": "tts",
    "volume": 100,
    "language": "cn"
  },
  "bg_color": "#d92127",
  "screen_width": 1080,
  "screen_height": 1920
})
headers = {
  'access_token': 'Yqmvg4SOinq+i0RLAHmwd03zuZxYrdT92gIwNluONtjOCr0FCVDCBWDFCTp8o4Y6',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"person\": {\n    \"id\": \"1421df93d7754ee19dcaa18e85b68f39\",\n    \"x\": 0,\n    \"y\": 0,\n    \"width\": 1080,\n    \"height\": 1920,\n    \"figure_type\": \"sit_body\",\n    \"drive_mode\":\"random\"\n  },\n  \"audio\": {\n    \"tts\": {\n      \"text\": [\"你好,这是测试蝉镜数字人,黄河之水天上来\"],\n      \"speed\": 1,\n      \"audio_man\": \"C-CASE-d8dfe5838e774124b04e0ad41c194847\"\n    },\n    \"wav_url\": \"\",\n    \"type\": \"tts\",\n    \"volume\": 100,\n    \"language\": \"cn\"\n  },\n  \"bg_color\": \"#d92127\",\n  \n  \"screen_width\": 1080,\n  \"screen_height\": 1920\n}\n");
Request request = new Request.Builder()
  .url("https://www.chanjing.cc/api/open/v1/create_video")
  .method("POST", body)
  .addHeader("access_token", "Yqmvg4SOinq+i0RLAHmwd03zuZxYrdT92gIwNluONtjOCr0FCVDCBWDFCTp8o4Y6")
  .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_video"

payload = json.dumps({
  "person": {
    "id": "1421df93d7754ee19dcaa18e85b68f39",
    "x": 0,
    "y": 0,
    "width": 1080,
    "height": 1920,
    "figure_type": "sit_body",
    "drive_mode": "random"
  },
  "audio": {
    "tts": {
      "text": [
        "你好,这是测试蝉镜数字人,黄河之水天上来"
      ],
      "speed": 1,
      "audio_man": "C-CASE-d8dfe5838e774124b04e0ad41c194847"
    },
    "wav_url": "",
    "type": "tts",
    "volume": 100,
    "language": "cn"
  },
  "bg_color": "#d92127",
  "screen_width": 1080,
  "screen_height": 1920
})
headers = {
  'access_token': 'Yqmvg4SOinq+i0RLAHmwd03zuZxYrdT92gIwNluONtjOCr0FCVDCBWDFCTp8o4Y6',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

获取视频列表

请求地址

http
POST /open/v1/video_list

Header

http
access_token: {{access_token}}

请求参数 Body

json
{
  "page": 1,
  "page_size": 2
}

响应

响应示例

json
{
    "trace_id": "",
    "code": 0,
    "msg": "",
    "data": {
        "List": [
              {
                "id": "e971e4d68fd14bfe8b48eaa8353fa7b0",
                "status": 30,
                "progress": 100,
                "msg": "",
                "video_url": "https://chanjin.cc/1721187131363-31e83acd98766ab783e8ee10085c922c66d43d32-video.mp4",
                "create_time": 1721187066,
                "preview_url": "https://chanjin.cc/1721187131363-31e83acd98766ab783e8ee10085c922c66d43d32-cover.png"
            },
        ],
        "PageInfo": {
            "page": 1,
            "size": 5,
            "total_count": 5,
            "total_page": 1
        }
    }
}

响应字段说明

一级字段二级字段三级字段说明
code响应状态码
msg响应消息
data响应数据
List视频列表
id视频id
status状态,10,生成中;30成功; 4X参数异常;5X服务异常;
progress任务进度 0-100
msg异常或失败的错误信息
video_url视频播放地址
subtitle_data_url字幕时间轴链接,需要下载该文件获取,时间轴字段说明参考:《获取视频详情》
create_time视频生成时间,时间戳
preview_url视频预览图片
duration视频时长(单位秒)
queue_status排队状态,枚举值:queued 排队中、processing 处理中、completed 已完成、failed 失败、other 其他
queue_desc排队/处理说明文案,与 msg(错误信息)分离
PageInfo分页信息
page当前页码
size页面大小
total_count视频总数
total_page总页数

响应状态码说明

code说明
0响应成功
400传入参数格式错误
10400AccessToken验证失败
APP状态错误
40000参数错误
50000系统内部错误

示例代码

bash
curl -L -X POST 'https://www.chanjing.cc/api/open/v1/video_list' -H 'access_token: NPSMe0G338uGmGEIAWfjfoI+YaGFquongf70BsiOOUifE+icRi3tEae1G2TaH/Db' -H 'Content-Type: application/json' -d '{"page":1,"page_size":5}'
go
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "https://www.chanjing.cc/api/open/v1/video_list"
  method := "POST"

  payload := strings.NewReader(`{"page":1,"page_size":5}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("access_token", "NPSMe0G338uGmGEIAWfjfoI+YaGFquongf70BsiOOUifE+icRi3tEae1G2TaH/Db")
  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, "{\"page\":1,\"page_size\":5}");
Request request = new Request.Builder()
  .url("https://www.chanjing.cc/api/open/v1/video_list")
  .method("POST", body)
  .addHeader("access_token", "NPSMe0G338uGmGEIAWfjfoI+YaGFquongf70BsiOOUifE+icRi3tEae1G2TaH/Db")
  .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/video_list"

payload = json.dumps({
  "page": 1,
  "page_size": 5
})
headers = {
  'access_token': 'NPSMe0G338uGmGEIAWfjfoI+YaGFquongf70BsiOOUifE+icRi3tEae1G2TaH/Db',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

获取视频详情

请求地址

http
GET /open/v1/video

Header

http
access_token: {{access_token}}

请求参数 Query Params

KeyValue
idd5183e2974c2453a84173a8bdb556504视频id,创建任务时返回

响应

字幕时间轴字段说明

json
[
    {
        "min_time": 0,// 开始时间 毫秒
        "max_time": 734,// 结束时间 毫秒
        "subtitles": "James Morgan", // 字幕内容
        "start_frame": 0,// 开始的帧位置
        "end_frame": 18,// 结束的帧位置
        "fps": 25, // 帧率
        "key": "cbfd3f7722c81fd00dfb1782e960038810944de3"
    },
    {
        "min_time": 734,
        "max_time": 1454,
        "subtitles": "Jimmy McGill",
        "start_frame": 18,
        "end_frame": 36,
        "fps": 25,
        "key": "94a2f234fb26fe53495b69fca7d0800e078815bc"
    }
]

响应示例

json
{
    "trace_id": "536f686fcf0c7d1067b22739bf02cde6",
    "code": 0,
    "msg": "success",
    "data": {
        "id": "d5183e2974c2453a84173a8bdb556504",
        "status": 30,
        "progress": 100,
        "msg": "",
        "video_url": "https://test/2024-08-08/1723102332817-66d7b17c0dabaa1d826afc0ff6b5587a21d0a8e7-video.mp4",
        "create_time": 1723102269,
        "subtitle_data_url" : "",
        "preview_url": "https://test/2024-08-08/1723102332817-66d7b17c0dabaa1d826afc0ff6b5587a21d0a8e7-cover.png",
        "duration": 34,
        "queue_status": "completed",
        "queue_desc": ""
    }
}

响应字段说明

一级字段二级字段说明
code响应状态码
msg响应消息
data响应数据
id视频id
status状态,10,生成中;30成功; 4X参数异常;5X服务异常;
progress任务进度 0-100
msg异常或失败的错误信息
枚举:
蝉豆不足扣费失败
您需要至少输入1S以上的内容
音频中没有人声,请检查是否为单声道
不支持的音频格式,仅支持:audio/x-wav,audio/mpeg,audio/m4a,video/mp4
不支持纯数字文本
上传音频文件失败
上传背景文件失败, 请检查网络
暂不支持该语种
video_url视频播放地址
subtitle_data_url字幕时间轴链接,需要下载该文件获取
create_time视频生成时间,时间戳
preview_url视频预览图片
duration视频时长(单位秒)
queue_status排队状态,枚举值:queued 排队中、processing 处理中、completed 已完成、failed 失败、other 其他
queue_desc排队/处理说明文案,与 msg(错误信息)分离

响应状态码说明

code说明
0响应成功
10400AccessToken验证失败
APP状态错误
40000参数错误
50000系统内部错误

示例代码

shell
curl -L 'https://www.chanjing.cc/api/open/v1/video?id=d5183e2974c2453a84173a8bdb556504' -H 'access_token: HjKpDp6o3o2P2el7VHaMKwpHIJs+rkYNspNBRAZ7VU8WC/bz93oUKUNhHENRt28x'
go
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "https://www.chanjing.cc/api/open/v1/video?id=d5183e2974c2453a84173a8bdb556504"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("access_token", "HjKpDp6o3o2P2el7VHaMKwpHIJs+rkYNspNBRAZ7VU8WC/bz93oUKUNhHENRt28x")

  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("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://www.chanjing.cc/api/open/v1/video?id=d5183e2974c2453a84173a8bdb556504")
  .method("GET", body)
  .addHeader("access_token", "HjKpDp6o3o2P2el7VHaMKwpHIJs+rkYNspNBRAZ7VU8WC/bz93oUKUNhHENRt28x")
  .build();
Response response = client.newCall(request).execute();
py
import requests

url = "https://www.chanjing.cc/api/open/v1/video?id=d5183e2974c2453a84173a8bdb556504"

payload = {}
headers = {
  'access_token': 'HjKpDp6o3o2P2el7VHaMKwpHIJs+rkYNspNBRAZ7VU8WC/bz93oUKUNhHENRt28x'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

视频删除

说明

异步任务

QPS   10/min

请求地址

http
POST /open/v1/delete_video

Header

http
access_token: {{access_token}}
Content-Type: application/json

请求参数 Body

参数名称类型是否必传示例说明
idstring23a553a3-e9bb-4049-a106-d651231c149f视频ID

请求示例

json
{
    "id":"23a553a3-e9bb-4049-a106-d651231c149f"
}

响应JSON

json
{
    "trace_id": "26965518b54aeccc6a34dfc49c1ca7c8",
    "code": 0,
    "msg": "success"
}

响应参数

字段说明
code响应状态码
msg响应消息

响应状态号说明

code说明
0响应成功
400传入参数格式错误
40000参数错误
40001超出QPS限制
50000系统内部错误
没有找到对应的视频

获取支持的字体列表

请求地址

http
GET /open/v1/font_list

Header

http
access_token: {{access_token}}

请求参数 Query Params

响应

响应示例

json
{
    "trace_id": "66d968c8861396c03226a01156fb6279",
    "code": 0,
    "msg": "success",
    "data": [
        {
            "id": "67761743410e421bbd0ea50739c9b1ee",
            "name": "得意黑",
            "preview": "https://www.chanjing.cc/prj/chanying/res/font/9bd89969.png",
            "ttf_path": "https://www.chanjing.cc/public/res/font/cccc24d2-7324-4342-93d7-367e071179e5.ttf"
        },
        {
            "id": "55e7a4d323374b1686fc3330bbb00d0f",
            "name": "MiSans",
            "preview": "https://www.chanjing.cc/public/res/font/fefe0e6c.png",
            "ttf_path": "https://www.chanjing.cc/public/res/font/d5b02524-6e98-40f7-bbf8-7e7094007ce1.ttf"
        }
    ]
}

响应字段说明

一级字段二级字段说明
code响应状态码
msg响应消息
data响应数据列表
id字体id
name字体名称
preview字体预览
ttf_path字体链接

响应状态码说明

code说明
0响应成功
400传入参数格式错误
10400AccessToken验证失败
40000参数错误
50000系统内部错误

示例代码

bash
curl -L 'https://www.chanjing.cc/api/open/v1/font_list' -H 'access_token: 7iMxZ8sJ0ZX6ywrXzqvb/5qWuXKYulc7K3euSde2RyVrKvk+twv72v9S8EOSf40d' -H 'Content-Type: application/json'
go
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "https://www.chanjing.cc/api/open/v1/font_list"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("access_token", "7iMxZ8sJ0ZX6ywrXzqvb/5qWuXKYulc7K3euSde2RyVrKvk+twv72v9S8EOSf40d")
  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, "");
Request request = new Request.Builder()
  .url("https://www.chanjing.cc/api/open/v1/font_list")
  .method("GET", body)
  .addHeader("access_token", "7iMxZ8sJ0ZX6ywrXzqvb/5qWuXKYulc7K3euSde2RyVrKvk+twv72v9S8EOSf40d")
  .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/font_list"

payload = {}
headers = {
  'access_token': '7iMxZ8sJ0ZX6ywrXzqvb/5qWuXKYulc7K3euSde2RyVrKvk+twv72v9S8EOSf40d',
  'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

SSML

<phoneme>指定字词发音(音素)

描述

<phoneme>用于手动指定部分字词的发音。通常用于纠正TTS为多音字自动生成的不准确发音。

属性

参数类型功能取值
alphabetenum指定表示发音(音素)的格式* 中文

* py拼音

* 英文

* cmu CMU音标格式

* ipa柯林斯美音音标
phstring指定发音(音素)* 不同的

* 参见下文“注意事项”部分

拼音

注意事项
  • 用于中文前端。
  • 使用空格分隔多个拼音。
  • 不区分大小写。
  • 子元素必须为纯文本,且为一个或多个汉字,不应出现标点符号。
  • 声母是可选的。
  • 音调包括:
    • 1 - 阴平、2 - 阳平、3 - 上声、4 - 去声
    • 5 - 轻声

示例

xml
《茜茜公主》是奥地利拍摄的历史题材的德语三部曲电影。
xml
<phoneme alphabet="py" ph="xi1">茜</phoneme><phoneme alphabet="py" ph="xi1">茜</phoneme>公主》是奥地利拍摄的历史题材的德语三部曲电影。

<break time>插入停顿时间

描述

<break time = 停顿秒数" />用于手动插入句子的停顿点以及需要停顿的时间。

示例

xml
《茜茜公主》是奥地利(停顿0.5秒)拍摄的历史题材的(停顿0.5秒)德语三部曲电影。
xml
《茜茜公主》是奥地利<break time=\"0.5s\"/>拍摄的历史题材的<break time=\"0.5s\"/>德语三部曲电影。

<ttnumber pronounce>自定义文字读法

描述

<ttnumber pronounce="自定义读法">用于自定义文字读法。

示例

xml
《茜茜公主》于1955年首映,片长约105分钟。
xml
《茜茜公主》于<ttnumber pronounce=\"一九五五\">1955</ttnumber>年首映,片长约<ttnumber pronounce=\"一百零五\">105</ttnumber>分钟。