You need to enable JavaScript to run this app.
文档中心
视频直播

视频直播

复制全文
下载 pdf
声影同传和字幕配置
CreateSpeechTask - 创建声影同传任务
复制全文
下载 pdf
CreateSpeechTask - 创建声影同传任务

调用 CreateSpeechTask 接口,创建声影同传任务。创建同传任务后,在转推时间段(StartTime 至 EndTime 期间)内,当您开始推流时,同传任务会自动拉取该直播流进行同传处理,并将经过同传处理的新直播流推送到指定的转推地址,从而实现在转推地址上直播同传处理后的内容。例如,您可以使用 OBS 开播,通过同传任务处理后,在抖音上直播同传处理后的内容。更多有关声影同传的内容,详见声影同传。

使用说明

根据使用场景,选择合适的功能。

使用场景

推荐功能

参数配置

说明

为直播提供基础字幕,方便静音或嘈杂环境下观看。

原文 ASR 字幕

  • 整句出字方式(字幕会一句一句地完整显示):Pipe 取值为 mix(纯字幕)且仅配置 Original(原文字幕),不配置 Translation(译文字幕)。
  • 实时流式出字方式(字幕会逐字或逐词地显示出来,而不会等待一句话结束):Pipe 取值为 realtime(实时同传模式)且仅配置 Original(原文字幕),不配置 Translation(译文字幕)。

通过语音识别,在视频画面叠加原文字幕。

说明

目前实时流式出字方式仅支持中文和英文字幕,整句出字方式则支持更多语言。

进行跨语言文字交流,触达全球观众。

字幕翻译

Pipe 取值为 mix(纯字幕)或 realtime(实时同传模式),并配置 Original(原文字幕)和 Translation(译文字幕)。

通过语音识别,在视频画面叠加翻译字幕,但保留原声音频。

提供配音式翻译体验,如同观看译制片。

同传声音

Pipe 取值为 realtime(实时同传模式)且 VoiceShow 取值为 true,或 Pipe 取值为 si(声影同传模式),并配置 Original(原文字幕)和 Translation(译文字幕)的 Language(语言)。

提供同传声音,并替换原声。实时同传模式下,您可以选择让同传声音与原声叠加,或直接替换原声。

追求沉浸式真人翻译体验,提升专业性。

同传声音 + 数字人口型

Pipe 取值为 si(声影同传模式),且 LipSync 取值为 true,并配置 Original(原文字幕)和 Translation(译文字幕)的 Language(语言)。

在同传声音的基础上,通过 AI 技术驱动说话人口型与翻译音频同步,效果以假乱真。

注意事项

  • 请求频率:单用户请求频率限制为 10 次/秒。
  • 计费说明:仅收取声影同传费用。声影同传按同传任务的实际推流时长计费。详见声影同传计费。
  • 并发限制:每个账号最多同时运行 2 个任务。如需同时运行更多任务,请创建工单联系技术支持。
  • 前提条件
    • 确保已在同一域名空间下,添加推流域名和拉流域名。详见 CreateDomain - 添加域名。

      注意

      仅在使用视频直播的推拉流地址时,必须完成该准备。

    • 准备源流地址和转推地址。
      • 源流地址:获取有效的拉流地址,用于拉取原始直播流,支持 RTMP、FLV 格式。
        如使用视频直播的拉流地址作为源流地址,请使用相同的 AppName 和 StreamName,通过 GeneratePushURL - 生成推流地址和 GeneratePlayURL - 生成拉流地址生成一对地址,即用作源流地址的拉流地址和推送原始直播流的推流地址。
      • 转推地址:用于推送经过同传处理的新直播流,支持 RTMP 格式。
        • 如使用视频直播的推流地址作为转推地址,使用相同的 AppName 和 StreamName,通过 GeneratePushURL - 生成推流地址和 GeneratePlayURL - 生成拉流地址生成一对地址,即用作转推地址的推流地址和拉取新直播流的拉流地址。
        • 如使用其他云厂商或抖音等直播平台的推流地址作为转推地址,请查看对应官网文档或联系官方客服获取有效的推流地址。

      说明

      推送原始直播流的推流地址和拉取新直播流的拉流地址对协议没有明确限制,可根据实际情况选择合适的协议。

    • 如需生成字幕 SRT 文件,请确保:

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=CreateSpeechTask&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。

Query

参数类型是否必选示例值描述
ActionString是CreateSpeechTask接口名称。当前 API 的名称为 CreateSpeechTask。
VersionString是2023-01-01接口版本。当前 API 的版本为 2023-01-01。

Body

参数类型是否必选示例值描述

Name

String

是

TaskA

任务名称。该名称在所有运行中的任务中必须唯一。长度为 1-20 个字符。可包含以下字符:

  • 数字(0-9)
  • 大写字母(A-Z)
  • 小写字母(a-z)
  • 中文
  • 下划线(_)
  • 中划线(-)
RuleObject of Rule是-任务规则。

Rule

参数类型是否必选示例值描述

Pipe

String

是

si

任务类型。取值如下:

  • si:声影同传模式。字幕、同传音频与画面完全同步,支持数字人口型功能。适用于对同步性和沉浸感要求较高的会议直播等场景。该模式会产生一定延迟。
  • mix:仅字幕,包含整句出字方式原文 ASR 字幕。
  • realtime:实时同传模式,包含实时流式出字方式原文 ASR 字幕。延迟低,但画面可能与字幕、同传音频不同步。适用于对延迟敏感的赛事直播等场景。

说明

取值为 si 时,同传声音默认开启且不支持关闭。

Delay

Integer

否

20

播出延迟时长,以保证同传声音和字幕的翻译处理完成。取值范围为 [0,60],单位为秒。
不同的任务类型(Pipe)和功能,建议取值如下:

  • si:
    • 同时开启数字人口型、同传声音、字幕时:20。
    • 同时开启同传声音、字幕时:12。
  • mix:
    • 整句出字方式原文 ASR 字幕:15。
    • 字幕翻译:8。
  • realtime:2 或 3。
    有关具体功能的参数配置,详见使用说明。

说明

如果字幕出现的时间要早于原声或画面,可适当降低播出延迟时长,让字幕与原声或画面对齐,反之亦然。

SourceObject of Source是-源流配置。

StartTime

String

否

2025-11-17T11:30:06+08:00

任务开始时间。遵循 RFC3339 格式的东八区(UTC+8)时间,精度为秒。
如果未传该参数,任务会立即启动。

EndTime

String

否

2025-11-17T12:11:06+08:00

任务结束时间,必须晚于任务开始时间(StartTime),且两者之间的时间跨度不得超过 7 天。遵循 RFC3339 格式的东八区(UTC+8)时间,精度为秒。
如果未传该参数,任务会在开始时间的 7 天后结束。

说明

当任务结束、源流断开或拉流失败时,转推自动停止。

OutputObject of Output是-转推配置。

SI

Object of SI

否

-

声影同传模式配置。

说明

仅在 Pipe 取值为 si 时生效。

RealTime

Object of RealTime

否

-

实时同传模式配置。

说明

仅在 Pipe 取值为 realtime 时生效。

Extra

Object of Extra

否

-

额外配置。

说明

建议仅在开启同传声音时传入该参数。有关同传声音的相关参数配置,详见使用说明。

SubtitleObject of Subtitle否-字幕配置。

Source

参数类型是否必选示例值描述

Url

String

是

https://xxx/live/xxx.flv

源流地址,支持 RTMP 或 FLV 格式。从该地址拉取原始直播流,并进行同传处理。

说明

地址中不可直接包含多字节编码字符(如中文字符)。如需包含,必须对这些字符进行 URL 编码(URL-encode)。

Output

参数类型是否必选示例值描述

Url

Array of String

是

["rtmp://push.example.com/live/test01","rtmp://push.example.com/live/test02"]

转推地址,支持 RTMP 格式。同传任务会将经过同传处理的新直播流推送到该地址。
最多支持传入 8 个转推地址。

说明

  • 地址中不可直接包含多字节编码字符(如中文字符)。如需包含,必须对这些字符进行 URL 编码(URL-encode)。
  • 如需在抖音等第三方平台播放经过同传处理的新直播流,请确保使用的是第三方平台的推流地址。关于如何获取推流地址,请查看第三方平台的官网文档或联系其官方客服。
CallbackObject of Callback否-回调配置。

Sei

Array of String

否

["subtitle"]

如需将字幕内容写入直播流的 SEI 消息,将参数值设置为 ["subtitle"]。

说明

  • 仅当 Pipe 取值为 si 或 mix 时,该参数生效。
  • 视频直播将字幕内容写入 SEI 消息时,SEI type 取值为 100。如果您的推流工具或应用也会向直播流写入自定义 SEI 消息,请避免使用相同的 SEI type 取值,否则播放器可能会将自定义数据识别为字幕。

SI

参数类型是否必选示例值描述

LipSync

Boolean

否

true

是否开启数字人口型功能。默认值为 false。取值如下:

  • true:开启。开启后,说话人口型将与同传声音同步,提升直播的沉浸感。
  • false:关闭。

RealTime

参数类型是否必选示例值描述

VoiceShow

Boolean

否

true

是否开启同传声音功能。默认值为 false。取值如下:

  • true:开启。开启后,将提供带有音色复刻效果的翻译语音。
  • false:关闭。

Extra

参数类型是否必选示例值描述
AMixObject of AMix否-混音配置。
SeparatorObject of Separator否-人声与背景音分离配置。

Subtitle

参数类型是否必选示例值描述
PositionObject of Position否-字幕位置。

Original

Object of Original

是

-

原文字幕配置。

说明

原文与译文必须配置不同的语言。

Translation

Array of Translation

否

-

译文字幕配置。

说明

  • 原文与译文必须配置不同的语言。
  • 目前每次调用仅支持传入一种语言的字幕。
SubtitleTosConfigObject of SubtitleTosConfig否-TOS 配置,用于生成字幕 SRT 文件。

GlossaryMap

JSON Map

否

{"字节跳动":"ByteDance","视频直播":"MediaLive"}

关键词列表。默认为空。
格式为"原文":"译文",每个"原文":"译文"之间用英文逗号(,)隔开。例如{"字节跳动":"ByteDance","视频直播":"MediaLive"}。总字符数不超过 3 万。
传入专有词汇及其期望译法,如品牌名、人名、产品名或功能名,供翻译模型参考,有助于提升专有词汇的翻译准确率,但不保证每次均采用配置的译法。如果使用关键词后仍出现错译,可通过 ReplaceMap 逐一配置可能出现的错译及其正确译法,对生成的译文进行强制纠正。

注意

  • 原文或译文本身不可包含英文逗号(,)。
  • 仅在配置译文字幕(Translation)时生效,且仅作用于译文字幕。

ReplaceMap

JSON Map

否

{"蒂姆":"Tim","提姆":"Tim"}

易错词列表。默认为空。
配置需要强制纠正的字幕文字。需逐一枚举可能出现的错译或识别错误及其正确写法。
格式为"目标词":"替换词",每个"目标词":"替换词"之间用英文逗号(,)隔开。每个目标词或替换词长度为 1-50 个字符,最多可传入 500 对"目标词":"替换词"。
系统匹配到目标词后,会将其强制替换为替换词。

  • 原文 ASR 字幕:纠正识别错误。例如,当视频直播被错误识别为视屏直播时,您可以传入{"视屏直播":"视频直播"}。
  • 译文字幕:纠正错译,仅修改译文,不修改原文或同传声音。例如,当 Tim 被错译为蒂姆或提姆时,您可以传入{"蒂姆":"Tim","提姆":"Tim"}。

注意

  • 目标词和替换词本身不可包含英文逗号(,)。
  • ReplaceMap 只按文字匹配,不判断上下文,因此仅适用于目标词本身可以明确判定为错误的场景,例如{"视屏直播":"视频直播"}。请勿将目标词替换为包含该目标词的文本。例如,配置{"颗粒":"颗粒感"}后,模型输出颗粒时会被替换为颗粒感。如果模型已输出正确的颗粒感,其中的颗粒仍会被替换,结果变为颗粒感感。

HotWords

Array of String

否

["视频直播","视频点播"]

热词列表。默认为空。
热词需与原文语言一致,总字符数不超过 3 万。
传入热词(如产品名、流行语)供语音识别模型参考,有助于提升识别准确率,但不保证每次均能准确识别。如果使用热词后仍出现识别错误,可通过 ReplaceMap 逐一配置可能出现的识别错误及其正确写法,对原文 ASR 字幕进行强制纠正。

注意

仅对原文 ASR 字幕生效。有关原文 ASR 字幕的相关参数配置,详见使用说明。

Callback

参数类型是否必选示例值描述
UrlString是https://xxx用于接收回调消息的地址。该地址需支持 HTTP 或 HTTPS 协议,并可通过公网访问。长度为 1 到 100 个字符。有关声影同传回调消息,详见声影同传回调消息。

AMix

参数类型是否必选示例值描述

BGVolume

Float

否

1.0

原声音量或背景音(非人声)的音量。默认值为 0.2。取值范围为 [0, 1.0]。

  • 当 Separator 取值为 true 时,可通过该参数调整背景音(非人声)的音量。
  • 当 Separator 取值为 false 时,可通过该参数调整原声音量。如果该参数取值为 0,则仅保留同传声音的人声。

说明

仅在 Pipe 取值为 realtime 时生效。

AudioEnhance

Boolean

否

true

是否开启音量均衡。默认值为 true。取值如下:

  • true:开启。开启后,系统会自动调节输出音频的音量,使其保持在稳定、舒适的水平,有效避免声音忽高忽低或出现刺耳的突然爆音,显著提升观众的听觉体验。
  • false:关闭。

Separator

参数类型是否必选示例值描述

HandleType

Integer

否

0

是否开启降噪模式。默认值为 0。取值如下:

  • 0:关闭。
  • 1:开启。开启后,可有效减轻翻译语音中的背景噪音(如电流声、环境杂音),提升最终输出音频的清晰度。

注意

  • 开启降噪模式可能导致背景音消失。
  • 当 Pipe 取值为 realtime 时,仅在 Separator 取值为 true 时生效。

Separator

Boolean

否

false

是否用同传声音替换原声。默认值为 false。取值如下:

  • true:完全移除原声,只输出翻译后的声音。适用于不需要听到原声的场景。
  • false:在保留原声的同时,叠加翻译声音。常用于赛事直播等需要保留现场感的场景。

说明

仅在 Pipe 取值为 realtime 时生效。

Position

参数类型是否必选示例值描述

Relative

String

否

bottom

字幕在画面中的位置。默认值为 bottom。取值如下:

  • top:字幕展示在画面顶部。
  • bottom:字幕展示在画面底部。

MarginTb

Float

否

0.05

字幕的上下边距,即字幕距离画面顶部或底部的距离。取值为画面高度的百分比,取值范围为 (0, 0.5]。

  • 当 Relative 取值为 top 时,表示上边距。
  • 当 Relative 取值为 bottom 时,表示下边距。
MarginLrFloat否0.2字幕的左右边距,即字幕距离画面左右边缘的距离。取值为画面宽度的百分比,取值范围为 (0, 0.3]。

Original

参数类型是否必选示例值描述
LanguageString是zh原文字幕语言。可通过 GetSpeechConfig 的 OriginalLang 获取当前账号字幕翻译和同传声音可使用的原文字幕语言,或通过该接口的AsrLang 获取当前账号可使用的原文 ASR 字幕语言,并传入 Key 值。
FontString否arial原文字幕字体,默认值为 arial。可通过 GetSpeechConfig 的 Font 获取当前账号下可使用的字体列表,并传入 Key 值。
FontSizeInteger否32原文字幕字号。默认值为 40。取值范围为 [1,100]。

FontColor

String

否

0xFF0000@0.5

原文字幕的字体颜色。
使用以下任一方式表示颜色值:

  • 以 0x 或 # 开头,后面跟十六进制 RGB 颜色值,再通过 @ 符号附加透明度,透明度支持十六进制(如 0x80)或小数(如 0.5)两种表示方式。例如,设置 RGB 值为 FF0000,透明度为 50% 的颜色时,可以传入 0xFF0000@0x80、0xFF0000@0.5、#FF0000@0x80 或 #FF0000@0.5。
  • 使用 FFmpeg 规定的颜色关键字,再通过 @ 符号附加透明度,透明度支持用小数(如 0.5)表示。例如,设置 RGB 值为 0xF0F8FF,透明度为 50% 的颜色时,可以传入 AliceBlue@0.5。

说明

  • 颜色定义方法及更多颜色关键字,详见 FFmpeg 的颜色定义语法。
  • 透明度数值越大,越不透明。
  • 用小数表示透明度时,取值范围为 [0,1],支持 2 位小数。

Alignment

Integer

否

0

原文字幕对齐方式。默认值为 0。取值如下:

  • 0:居中对齐。
  • 1:左对齐。
  • 2:右对齐。

MaxRowNumber

Integer

否

2

原文字幕最多显示的行数。默认值为 0。取值如下:

  • 0:根据字幕总字数和每行最大字符数自动换行,确保内容完整显示。
  • 1:每种语言的字幕最多显示一行,内容可能被截断。
  • 2:每种语言的字幕最多显示两行,内容可能被截断。

说明

原文和译文的行数限制单独计算。

MaxCharNumber

Integer

否

60

原文每行字幕的最大字符数。默认值为 60。建议取值 60。

说明

  • 系统会综合您传入的该参数取值以及 MarginLr(左右边距)、Font(字体)、FontSize(字号)和屏幕分辨率等因素,计算出每行最终可显示的最大字符数。
  • 每个文字、字母、符号或数字均为一个字符。
  • 当 MaxRowNumber 取值为 1 或 2 时,如果原文的字幕总字数超出显示范围,内容将会被截断。例如每行字幕的最大字符数为 10,MaxRowNumber 取值 2,则当原文字幕总字数超出 20 时,20 字后的内容会被截断。

Hidden

Boolean

否

false

是否隐藏原文字幕。默认值为 false。取值如下:

  • true:隐藏原文字幕。
  • false:显示原文字幕。

ShowPriority

Integer

否

100

原文字幕的展示优先级。默认原文字幕在上,译文字幕在下。
取值越大,优先级越高。例如原文字幕的 ShowPriority 为 1,译文字幕的 ShowPriority 为 2,则译文字幕在上,原文字幕在下。

BoxObject of Box否-原文字幕字体背景。
BorderObject of Border否-原文字幕字体阴影。

Translation

参数类型是否必选示例值描述
LanguageString是en译文字幕语言。可通过 GetSpeechConfig 的 Lang 获取当前账号下可使用的译文字幕语言,并传入 Key 值。
FontString否arial译文字幕字体,默认值为 arial。可通过 GetSpeechConfig 的 Font 获取当前账号下可使用的字体列表,并传入 Key 值。
FontSizeInteger否32译文字幕字号。默认值为 40。取值范围为 [1,100]。

FontColor

String

否

0xFF0000@0.5

译文字幕的字体颜色。
使用以下任一方式表示颜色值:

  • 以 0x 或 # 开头,后面跟十六进制 RGB 颜色值,再通过 @ 符号附加透明度,透明度支持十六进制(如 0x80)或小数(如 0.5)两种表示方式。例如,设置 RGB 值为 FF0000,透明度为 50% 的颜色时,可以传入 0xFF0000@0x80、0xFF0000@0.5、#FF0000@0x80 或 #FF0000@0.5。
  • 使用 FFmpeg 规定的颜色关键字,再通过 @ 符号附加透明度,透明度支持用小数(如 0.5)表示。例如,设置 RGB 值为 0xF0F8FF,透明度为 50% 的颜色时,可以传入 AliceBlue@0.5。

说明

  • 颜色定义方法及更多颜色关键字,详见 FFmpeg 的颜色定义语法。
  • 透明度数值越大,越不透明。
  • 用小数表示透明度时,取值范围为 [0,1],支持 2 位小数。

Alignment

Integer

否

0

译文字幕对齐方式。默认值为 0。取值如下:

  • 0:居中对齐。
  • 1:左对齐。
  • 2:右对齐。

MaxRowNumber

Integer

否

2

译文字幕最多显示的行数。默认值为 0。取值如下:

  • 0:根据字幕总字数和每行最大字符数自动换行,确保内容完整显示。
  • 1:每种语言的字幕最多显示一行,内容可能被截断。
  • 2:每种语言的字幕最多显示两行,内容可能被截断。

说明

原文和译文的行数限制单独计算。

MaxCharNumber

Integer

否

60

译文每行字幕的最大字符数。默认值为 60。建议取值 60。

说明

  • 系统会综合您传入的该参数取值以及 MarginLr(左右边距)、Font(字体)、FontSize(字号)和屏幕分辨率等因素,计算出每行最终可显示的最大字符数。
  • 每个文字、字母、符号或数字均为一个字符。
  • 当 MaxRowNumber 取值为 1 或 2 时,如果译文的字幕总字数超出显示范围,内容将会被截断。例如每行字幕的最大字符数为 10,MaxRowNumber 取值 2,则当译文字幕总字数超出 20 时,20 字后的内容会被截断。

Hidden

Boolean

否

false

是否隐藏译文字幕。默认值为 false。取值如下:

  • true:隐藏译文字幕。
  • false:显示译文字幕。

ShowPriority

Integer

否

100

译文字幕的展示优先级。默认原文字幕在上,译文字幕在下。
取值越大,优先级越高。例如原文字幕的 ShowPriority 为 1,译文字幕的 ShowPriority 为 2,则译文字幕在上,原文字幕在下。

BoxObject of Box否-译文字幕字体背景。
BorderObject of Border否-译文字幕字体阴影。

SubtitleTosConfig

参数类型是否必选示例值描述

Enable

Boolean

否

true

是否生成字幕 SRT 文件。默认值为 false。取值如下:

  • true:生成。
  • false:不生成。
BucketString否bucketa存储字幕 SRT 文件的 TOS 桶名称。长度为 3-63 个字符,只能包含小写字母(a-z)、数字(0-9)和连字符(-),且必须以小写字母(a-z)或数字(0-9)开头和结尾。

Region

String

否

cn-beijing

存储字幕 SRT 文件的 TOS 桶区域。取值如下:

  • cn-beijing:华北2(北京)
  • cn-guangzhou:华南1(广州)
  • cn-shanghai:华东2(上海)

StorageDir

String

否

FolderA

存储字幕 SRT 文件的 TOS 桶文件夹名称。长度为 1-255 个字符,

  • 支持中文、英文(a-z,A-Z)、数字(0-9)及常见字符。
  • 不能以 .. 作为目录名。
  • 可使用 / 表示子文件夹层级,例如 a/b/c。
  • 不能以 / 或 \ 开头,也不能包含连续的 /。

Box

参数类型是否必选示例值描述
WFloat是1.0宽度。单位为 px。建议取值范围为 [1,10]。

Color

String

是

0xFF0000@0.5

颜色。
使用以下任一方式表示颜色值:

  • 以 0x 或 # 开头,后面跟十六进制 RGB 颜色值,再通过 @ 符号附加透明度,透明度支持十六进制(如 0x80)或小数(如 0.5)两种表示方式。例如,设置 RGB 值为 FF0000,透明度为 50% 的颜色时,可以传入 0xFF0000@0x80、0xFF0000@0.5、#FF0000@0x80 或 #FF0000@0.5。
  • 使用 FFmpeg 规定的颜色关键字,再通过 @ 符号附加透明度,透明度支持用小数(如 0.5)表示。例如,设置 RGB 值为 0xF0F8FF,透明度为 50% 的颜色时,可以传入 AliceBlue@0.5。

说明

  • 颜色定义方法及更多颜色关键字,详见 FFmpeg 的颜色定义语法。
  • 透明度数值越大,越不透明。
  • 用小数表示透明度时,取值范围为 [0,1],支持 2 位小数。

Border

参数类型是否必选示例值描述
WFloat是1.0宽度。单位为 px。建议取值范围为 [1,10]。

Color

String

是

0xFF0000@0.5

颜色。
使用以下任一方式表示颜色值:

  • 以 0x 或 # 开头,后面跟十六进制 RGB 颜色值,再通过 @ 符号附加透明度,透明度支持十六进制(如 0x80)或小数(如 0.5)两种表示方式。例如,设置 RGB 值为 FF0000,透明度为 50% 的颜色时,可以传入 0xFF0000@0x80、0xFF0000@0.5、#FF0000@0x80 或 #FF0000@0.5。
  • 使用 FFmpeg 规定的颜色关键字,再通过 @ 符号附加透明度,透明度支持用小数(如 0.5)表示。例如,设置 RGB 值为 0xF0F8FF,透明度为 50% 的颜色时,可以传入 AliceBlue@0.5。

说明

  • 颜色定义方法及更多颜色关键字,详见 FFmpeg 的颜色定义语法。
  • 透明度数值越大,越不透明。
  • 用小数表示透明度时,取值范围为 [0,1],支持 2 位小数。

返回参数

下表仅列出本接口特有的返回参数。更多信息请见返回结构。

参数类型示例值描述
CodeInteger0状态码。
MessageStringsuccess状态信息。
DataObject of Data-任务信息。

Data

参数类型示例值描述
TaskIDStringab5d68****257f3f任务 ID。

请求示例 1

原文 ASR 字幕(整句出字)

POST https://live.volcengineapi.com?Action=CreateSpeechTask&Version=2023-01-01
{
    "Name": "TaskA",
    "Rule": {
        "Pipe": "mix",
        "Delay": 15,
        "Source": {
            "Url": "https://pull.example.com/live/test.flv"
        },
        "StartTime": "2026-11-17T11:30:06+08:00",
        "EndTime": "2026-11-17T13:30:06+08:00",
        "Output": {
            "Url": [
                "rtmp://push.example.com/live/test01",
                "rtmp://push.example.com/live/test02"
            ],
            "Callback": {
                "Url": "https://example.com/callback"
            },
            "Sei": [
                "subtitle"
            ]
        },
        "Subtitle": {
            "Position": {
                "Relative": "bottom",
                "MarginTb": 0.05,
                "MarginLr": 0.2
            },
            "Original": {
                "Language": "zh",
                "Font": "arial",
                "FontSize": 32,
                "FontColor": "0xFFFFFF@1",
                "Alignment": 0,
                "MaxRowNumber": 2,
                "MaxCharNumber": 60,
                "Hidden": false,
                "ShowPriority": 100,
                "Box": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                },
                "Border": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                }
            },
            "SubtitleTosConfig": {
                "Enable": true,
                "Bucket": "bucketa",
                "Region": "cn-beijing",
                "StorageDir": "speech-task/asr"
            },
            "HotWords": [
                "视频直播",
                "赛事直播"
            ],
            "ReplaceMap": {
                "视屏直播": "视频直播"
            }
        }
    }
}

返回示例 1

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "CreateSpeechTask",
        "Version": "2023-01-01",
        "Service": "live",
        "Region": "cn-north-1"
    },
    "Result": {
        "Code": 0,
        "Message": "success",
        "Data": {
            "TaskID": "ab5d68****257f3f"
        }
    }
}

请求示例 2

原文 ASR 字幕(实时流式出字)

POST https://live.volcengineapi.com?Action=CreateSpeechTask&Version=2023-01-01
{
    "Name": "TaskB",
    "Rule": {
        "Pipe": "realtime",
        "Delay": 2,
        "Source": {
            "Url": "https://pull.example.com/live/test.flv"
        },
        "StartTime": "2026-11-17T11:30:06+08:00",
        "EndTime": "2026-11-17T13:30:06+08:00",
        "Output": {
            "Url": [
                "rtmp://push.example.com/live/test01",
                "rtmp://push.example.com/live/test02"
            ],
            "Callback": {
                "Url": "https://example.com/callback"
            }
        },
        "Subtitle": {
            "Position": {
                "Relative": "bottom",
                "MarginTb": 0.05,
                "MarginLr": 0.2
            },
            "Original": {
                "Language": "zh",
                "Font": "arial",
                "FontSize": 32,
                "FontColor": "0xFFFFFF@1",
                "Alignment": 0,
                "MaxRowNumber": 2,
                "MaxCharNumber": 60,
                "Hidden": false,
                "ShowPriority": 100,
                "Box": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                },
                "Border": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                }
            },
            "HotWords": [
                "视频直播",
                "赛事直播"
            ],
            "ReplaceMap": {
                "视屏直播": "视频直播"
            }
        }
    }
}

返回示例 2

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "CreateSpeechTask",
        "Version": "2023-01-01",
        "Service": "live",
        "Region": "cn-north-1"
    },
    "Result": {
        "Code": 0,
        "Message": "success",
        "Data": {
            "TaskID": "ab5d68****257f3f"
        }
    }
}

请求示例 3

字幕翻译

POST https://live.volcengineapi.com?Action=CreateSpeechTask&Version=2023-01-01
{
    "Name": "TaskC",
    "Rule": {
        "Pipe": "mix",
        "Delay": 8,
        "Source": {
            "Url": "https://pull.example.com/live/test.flv"
        },
        "StartTime": "2026-11-17T11:30:06+08:00",
        "EndTime": "2026-11-17T13:30:06+08:00",
        "Output": {
            "Url": [
                "rtmp://push.example.com/live/test01",
                "rtmp://push.example.com/live/test02"
            ],
            "Callback": {
                "Url": "https://example.com/callback"
            },
            "Sei": [
                "subtitle"
            ]
        },
        "Subtitle": {
            "Position": {
                "Relative": "bottom",
                "MarginTb": 0.05,
                "MarginLr": 0.2
            },
            "Original": {
                "Language": "en",
                "Font": "arial",
                "FontSize": 32,
                "FontColor": "0xFFFFFF@1",
                "Alignment": 0,
                "MaxRowNumber": 2,
                "MaxCharNumber": 60,
                "Hidden": false,
                "ShowPriority": 100,
                "Box": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                },
                "Border": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                }
            },
            "Translation": [
                {
                    "Language": "zh",
                    "Font": "arial",
                    "FontSize": 32,
                    "FontColor": "0xFFFFFF@1",
                    "Alignment": 0,
                    "MaxRowNumber": 2,
                    "MaxCharNumber": 60,
                    "Hidden": false,
                    "ShowPriority": 90,
                    "Box": {
                        "W": 1.0,
                        "Color": "0x000000@0.5"
                    },
                    "Border": {
                        "W": 1.0,
                        "Color": "0x000000@0.5"
                    }
                }
            ],
            "GlossaryMap": {
                "ByteDance": "字节跳动",
                "MediaLive": "视频直播"
            },
            "ReplaceMap": {
                "蒂姆": "Tim",
                "提姆": "Tim"
            }
        }
    }
}

返回示例 3

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "CreateSpeechTask",
        "Version": "2023-01-01",
        "Service": "live",
        "Region": "cn-north-1"
    },
    "Result": {
        "Code": 0,
        "Message": "success",
        "Data": {
            "TaskID": "ab5d68****257f3f"
        }
    }
}

请求示例 4

同传声音 + 双语字幕

POST https://live.volcengineapi.com?Action=CreateSpeechTask&Version=2023-01-01
{
    "Name": "TaskD",
    "Rule": {
        "Pipe": "realtime",
        "Delay": 3,
        "Source": {
            "Url": "https://pull.example.com/live/test.flv"
        },
        "StartTime": "2026-11-17T11:30:06+08:00",
        "EndTime": "2026-11-17T13:30:06+08:00",
        "Output": {
            "Url": [
                "rtmp://push.example.com/live/test01",
                "rtmp://push.example.com/live/test02"
            ],
            "Callback": {
                "Url": "https://example.com/callback"
            }
        },
        "RealTime": {
            "VoiceShow": true
        },
        "Extra": {
            "AMix": {
                "BGVolume": 0.2,
                "AudioEnhance": true
            },
            "Separator": {
                "HandleType": 1,
                "Separator": true
            }
        },
        "Subtitle": {
            "Position": {
                "Relative": "bottom",
                "MarginTb": 0.05,
                "MarginLr": 0.2
            },
            "Original": {
                "Language": "en",
                "Font": "arial",
                "FontSize": 32,
                "FontColor": "0xFFFFFF@1",
                "Alignment": 0,
                "MaxRowNumber": 2,
                "MaxCharNumber": 60,
                "Hidden": false,
                "ShowPriority": 100,
                "Box": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                },
                "Border": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                }
            },
            "Translation": [
                {
                    "Language": "zh",
                    "Font": "arial",
                    "FontSize": 32,
                    "FontColor": "0xFFFFFF@1",
                    "Alignment": 0,
                    "MaxRowNumber": 2,
                    "MaxCharNumber": 60,
                    "Hidden": false,
                    "ShowPriority": 90,
                    "Box": {
                        "W": 1.0,
                        "Color": "0x000000@0.5"
                    },
                    "Border": {
                        "W": 1.0,
                        "Color": "0x000000@0.5"
                    }
                }
            ],
            "GlossaryMap": {
                "ByteDance": "字节跳动",
                "MediaLive": "视频直播"
            },
            "ReplaceMap": {
                "蒂姆": "Tim",
                "提姆": "Tim"
            }
        }
    }
}

返回示例 4

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "CreateSpeechTask",
        "Version": "2023-01-01",
        "Service": "live",
        "Region": "cn-north-1"
    },
    "Result": {
        "Code": 0,
        "Message": "success",
        "Data": {
            "TaskID": "ab5d68****257f3f"
        }
    }
}

请求示例 5

同传声音 + 数字人口型 + 双语字幕

POST https://live.volcengineapi.com?Action=CreateSpeechTask&Version=2023-01-01
{
    "Name": "TaskE",
    "Rule": {
        "Pipe": "si",
        "Delay": 20,
        "Source": {
            "Url": "https://pull.example.com/live/test.flv"
        },
        "StartTime": "2026-11-17T11:30:06+08:00",
        "EndTime": "2026-11-17T13:30:06+08:00",
        "Output": {
            "Url": [
                "rtmp://push.example.com/live/test01",
                "rtmp://push.example.com/live/test02"
            ],
            "Callback": {
                "Url": "https://example.com/callback"
            },
            "Sei": [
                "subtitle"
            ]
        },
        "SI": {
            "LipSync": true
        },
        "Subtitle": {
            "Position": {
                "Relative": "bottom",
                "MarginTb": 0.05,
                "MarginLr": 0.2
            },
            "Original": {
                "Language": "en",
                "Font": "arial",
                "FontSize": 32,
                "FontColor": "0xFFFFFF@1",
                "Alignment": 0,
                "MaxRowNumber": 2,
                "MaxCharNumber": 60,
                "Hidden": false,
                "ShowPriority": 100,
                "Box": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                },
                "Border": {
                    "W": 1.0,
                    "Color": "0x000000@0.5"
                }
            },
            "Translation": [
                {
                    "Language": "zh",
                    "Font": "arial",
                    "FontSize": 32,
                    "FontColor": "0xFFFFFF@1",
                    "Alignment": 0,
                    "MaxRowNumber": 2,
                    "MaxCharNumber": 60,
                    "Hidden": false,
                    "ShowPriority": 90,
                    "Box": {
                        "W": 1.0,
                        "Color": "0x000000@0.5"
                    },
                    "Border": {
                        "W": 1.0,
                        "Color": "0x000000@0.5"
                    }
                }
            ],
            "GlossaryMap": {
                "ByteDance": "字节跳动",
                "MediaLive": "视频直播"
            },
            "ReplaceMap": {
                "蒂姆": "Tim",
                "提姆": "Tim"
            }
        }
    }
}

返回示例 5

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "CreateSpeechTask",
        "Version": "2023-01-01",
        "Service": "live",
        "Region": "cn-north-1"
    },
    "Result": {
        "Code": 0,
        "Message": "success",
        "Data": {
            "TaskID": "ab5d68****257f3f"
        }
    }
}

错误码

您可访问公共错误码,获取更多错误码信息。

最近更新时间:2026.10.23 16:25:04
这个页面对您有帮助吗?
有用
有用
无用
无用