音频重建算子既面向多个 AI 生成子视频的统一成片场景,也支持无视频的权威口播稿纯音频生成。视频模式按照 segments 的输入顺序合并画面,重新规划覆盖整片的音频时间轴,生成统一音频并替换原视频音轨;纯音频模式直接生成口播音频。最终返回输出模式、合成视频或音频、独立重建音频和 SRT 字幕。
算子 ID:las_video_merge_audio_rebuild
voiceover_script 时,严格以该脚本作为唯一朗读内容,不消费片段原音,也不进行语义改写或扩写。prompt 仅作为错字、专有名词、读音和声音风格的参考,不新增原音中不存在的句子。prompt 中提炼明确标注的台词、口播或旁白,并过滤动作、字幕、嘴型和画面说明;没有明确朗读内容时不会凭空生成台词。"data": { "segments": [ { "clip_id": "scene_001", "video_url": "tos://las-doctest/las-ai/input/video/Animation/xinqiji/clip01.mp4", "prompt": "视频是老年辛弃疾赋闲后饮酒吟诗的场景,音色为老年男音,饱含沧桑和无奈,音频为《破阵子》中 醉里挑灯看剑,梦回吹角连营 这两句,音频节奏需要符合吟诵中国古诗词的节奏。包含符合视频氛围的背景音乐。" }, { "clip_id": "scene_002", "video_url": "tos://las-doctest/las-ai/input/video/Animation/xinqiji/clip02.mp4", "prompt": "视频是老年辛弃疾赋闲后饮酒吟诗的场景,音色为老年男音,饱含岁月的流逝,音频为《破阵子》中 八百里分麾下炙,五十弦翻塞外声,沙场秋点兵 这三句,音频节奏需要符合吟诵中国古诗词的节奏。包含符合视频氛围的背景音乐。" } ] }
细分项 | 性能影响说明 |
|---|---|
最大 Submit RPM | 5 |
最大 Poll RPM | 300 |
细分 | 详细要求 |
|---|---|
支持的输入数据模态 |
|
输入格式:视频 |
|
输入格式:文本 |
|
输入路径要求 |
|
细分 | 详细要求 |
|---|---|
输出数据模态 |
|
输出格式:视频 |
|
输出格式:音频 |
|
输出路径:TOS | 通过请求参数
|
输出路径:预签名链接 |
|
计费标准
细分项 | 计费标准说明 |
|---|---|
计费项 | 基于重建音频的时长统计用量进行计费。 |
计费类型 | 按量计费,单位: |
单价 | 3.6 元/分钟 |
计费详情
计费公式:总费用 = 单价 * 用量
细分项 | 注意与前提 |
|---|---|
开通 LAS |
|
费用 | 调用算子前,您需先了解使用算子时的模型调用费用,详情请参见大模型调用计费。 |
鉴权(API Key) | 调用算子前,您需要先生成算子调用的API Key,并建议将API Key配置为环境变量,便于更安全地调用算子,详情请参见获取 API Key 并配置。 |
BaseURL | 调用算子前,您需要先根据您当前使用的LAS服务所在地域,了解算子调用的BaseURL,用于配置算子调用路径参数取值。 |
提交音频重建异步任务。算子可按输入顺序合并视频并重建统一音频,也可根据完整音频描述或兼容口播稿直接生成纯音频。提交成功后返回任务 ID,可通过 Poll 接口查询任务状态和结果。
参数 | 类型 | 是否必填 | 示例值 | 描述 |
|---|---|---|---|---|
operator_id | string | 是 | las_video_merge_audio_rebuild | 算子 ID |
operator_version | string | 是 | v1 | 算子版本 |
data | VideoMergeAudioRebuildRequest | 是 | 音频重建请求参数 |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
metadata | Metadata | 请求元信息 |
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/submit" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "operator_id": "las_video_merge_audio_rebuild", "operator_version": "v1", "data": { "segments": [ { "clip_id": "scene_001", "video_url": "https://${LAS_TOS_BUCKET}.${TOS_ENDPOINT}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_merge_audio_rebuild/v1/segments/scene_001.mp4", "prompt": "产品介绍视频,使用温和自然的旁白" }, { "video_url": "https://${LAS_TOS_BUCKET}.${TOS_ENDPOINT}/operator_cards_serving/public/${LAS_ENVIRONMENT}/las_video_merge_audio_rebuild/v1/segments/scene_002.mp4" } ], "audio_prompt": "舒缓音乐铺底,一位温和自然的女声说道:欢迎体验全新产品,让每一次使用都更加轻松。", "scene_mode": "voiceover", "output_object_storage_dir": "tos://${LAS_TOS_BUCKET}/audio-rebuild-output" } }'
{ "metadata": { "task_id": "task-20260809120000-abc123", "task_status": "PENDING", "business_code": "0", "error_msg": "", "request_id": "20260809120000ABCDEF" } }
HttpStatusCode | 错误码 | 错误信息 | 描述 |
|---|---|---|---|
400 | Parameter.Invalid | The parameter is invalid. | 请求参数不合法,包括条件必填字段缺失、字段越界、媒体或输出目录格式错误、片段 ID 重复、 |
400 | Operator.InvalidId | The operator is invalid. | 算子 ID 不合法 |
400 | Operator.InvalidVersion | The operator version is invalid. | 算子版本不合法 |
401 | Authorization.Missing | The authorization header is missing. | 缺少鉴权信息 |
401 | ApiKey.Invalid | The api key is invalid. | API Key 不合法 |
429 | Server.Busy | Server is Busy, please try again later. | 服务繁忙或请求被限流 |
500 | Server.InternalError | General Internal Error | 服务内部错误 |
根据任务 ID 查询音频重建任务的执行状态和结果。任务未进入终态时应继续轮询;任务完成后可获取输出模式、合成视频或纯音频、独立音频和字幕地址。
名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
operator_id | string | 是 | las_video_merge_audio_rebuild | 算子 ID |
operator_version | string | 是 | v1 | 算子版本 |
task_id | string | 是 | task-20260809120000-abc123 | Submit 返回的异步任务 ID |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
metadata | Metadata | 任务元信息 | |
data | VideoMergeAudioRebuildResponse | 任务结果。仅在 task_status=COMPLETED 时返回完整字段;非终态或失败状态下可能为空对象 |
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/poll" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "operator_id": "las_video_merge_audio_rebuild", "operator_version": "v1", "task_id": "task-20260809120000-abc123" }'
{ "metadata": { "task_id": "task-20260809120000-abc123", "task_status": "COMPLETED", "business_code": "0", "error_msg": "", "request_id": "20260809120100ABCDEF", "submit_time": "2026-08-09T12:00:00+08:00", "end_time": "2026-08-09T12:01:00+08:00" }, "data": { "output_mode": "video", "video_url": "https://example.com/final_video.mp4", "video_object_storage_path": "tos://bucket/output/final_video.mp4", "audio_url": "https://example.com/rebuilt_audio.m4a", "audio_object_storage_path": "tos://bucket/output/rebuilt_audio.m4a", "subtitle_url": "https://example.com/subtitle.srt", "subtitle_object_storage_path": "tos://bucket/output/subtitle.srt", "generation_mode": "direct_audio_prompt", "target_duration_sec": 24.313, "total_duration_sec": 24.313 } }
HttpStatusCode | 错误码 | 错误信息 | 描述 |
|---|---|---|---|
400 | TaskId.Invalid | The task id is invalid. | 任务 ID 为空、任务不存在或无权访问该任务 |
400 | Operator.InvalidId | The operator is invalid. | 算子 ID 不合法 |
400 | Operator.InvalidVersion | The operator version is invalid. | 算子版本不合法 |
401 | Authorization.Missing | The authorization header is missing. | 缺少鉴权信息 |
401 | ApiKey.Invalid | The api key is invalid. | API Key 不合法 |
429 | Server.Busy | Server is Busy, please try again later. | 服务繁忙或请求被限流 |
500 | Server.InternalError | General Internal Error | 任务执行失败、结果不完整或服务内部错误 |