Skip to content
Platform / Docs / Smart editing — voiceover montage API

API Reference

Smart editing — voiceover montage API

POST broadcast-mixcut-api ID 26

Voiceover montage: combine audio or a script with media and a template. Async, multiple resolutions.

POST https://xiaoapis.com/api/smartclip/broadcast_mixcut

Overview

  • 音频/文案口播
  • 素材列表
  • 模板成片
  • 异步回调

Use cases

  • 音频口播成片
  • 素材混剪短视频
  • 批量内容生产
Conventions
  • Gateway · https://xiaoapis.com
  • Auth · send key (query or JSON body, as this API specifies)
  • Response · JSON. Check the business code and the HTTP status, not only HTTP 200

Authentication

Send the platform API key (query parameter key or JSON field key, as this page specifies). Create one in API key management.

POST https://xiaoapis.com/api/smartclip/broadcast_mixcut
Content-Type: application/json

{
  "key": "YOUR_API_KEY"
}

Request example

https://xiaoapis.com/api/smartclip/broadcast_mixcut?key=你的密钥&action=create

Details

多规格计费:

720P 3(≈¥0.030) 点/输入秒,1080P 4(≈¥0.040) 点/输入秒

规格价格
720P3(≈¥0.030) 点/输入秒
1080P4(≈¥0.040) 点/输入秒

计费公式:ceil(输入秒) × 对应规格单价。有 audioUrl 时探测音频时长;否则汇总 materials(图片按 2 秒)。 可通过参数 resolution(720p / 1080p,默认 720p)指定输出规格。无法解析有效输入媒体时长时请求会被拒绝。

URL 参数 action:

通过 URL 参数 action 区分操作:

  • create — 创建任务(POST JSON)

  • query — 查询任务(GET/POST,需 task_id)

  • config — 获取配置(GET,不扣点)

create 请求示例 URL:

http://test.xiaobao.ink/api/smartclip/broadcast_mixcut?key=你的密钥&action=create

请求HEADER:

名称值
Content-Typeapplication/json

鉴权说明:请在 URL 参数或 JSON Body 中携带 key(平台 API 密钥)。使用 POST + JSON 时,key 必须写在 JSON Body 内。

create 请求参数说明(POST JSON):

名称必填类型示例值说明
key是string你的密钥平台 API 密钥
styleId是string68aebb91b8619ed6f4168f40视频模板 ID
materials是array[{type,fileUrl,soundSwitch}]素材列表,至少 1 项
audioUrl否stringhttps://example.com/a.mp3音频 URL(mp3/wav/m4a),与 content 二选一;有音频时优先按音频时长计费
resolution否string720p输出规格:720p / 1080p,影响单价
content否string
文本内容(3-1800 字);当前平台不支持 content+speakerId 定制声音分支
callback_url是stringhttps://example.com/hook用户回调地址
title否string
标题
language否stringzh-CN音频语种
subtitle否array
字幕数组
introduceCard否object
身份栏
packRules否object
包装规则
processRules否object
水印、首帧封面等
structLayers否array
图层修改

视频生成方式:

参考文档支持两种方式:

方式字段说明
文本内容 + 定制声音content + speakerId文本字符数要求 3-1800,声音 ID 为定制声音产生的声音 ID
音频文件audioUrl音频时长小于 5 分钟,格式 mp3、wav、m4a,文件大小小于等于 100MB,需要能够语音转文本

当前平台应用仅支持 audioUrl 或素材输入链路,不支持 content + speakerId 定制声音分支。若传入 content 或 speakerId,平台会返回 unsupported_speaker_branch。

speakerExtra:

字段类型必填默认值 / 范围说明
speedRationumber否默认 1,范围 0.5-2语速,支持 1 位小数,1 表示常速,例如 0.6、0.9、1.2
languagestring否-语种,特指该克隆声音文本(content)支持的语种
marksarray否-文本标记特殊处理处,传 content 时有效
marks[].typestring是break标记类型,break 表示停顿
marks[].indexinteger是从 0 开始文本索引处,最大值为 content 文本长度
marks[].timeinteger是100-10000时长,单位 ms

processRules:

字段类型必填默认值说明
watermarkShowboolean否false是否添加“AI生成”字样水印
metadataobject否-元水印数据,仅支持写入一组数据,且 value 值需为字符串
firstFrameCoverobject否-首帧封面配置

重要规则:

  • 音频驱动的 audioUrl、素材 materials[].fileUrl、背景音乐 packRules.backgroundMusic.audioUrl、AI 封面的 resultImageUrl 地址不能重名,重名会导致渲染异常。

  • packRules 仅用于控制标题、字幕、素材、背景音乐、关键词等图层是否参与效果包装,不能控制对应图层的显示/隐藏。

  • 如果期望生成的视频不显示标题,请不要设置标题值。

  • callback_url / callbackUrl 作为平台任务通知地址保存,任务完成或失败后由平台发起通知。

  • 如无法解析有效输入媒体时长,本次请求会被拒绝,不使用默认时长。

通用对象字段:

subtitle[]

字段类型必填说明
startMsinteger是时间戳开始,单位 ms
endMsinteger是时间戳结束,单位 ms,最大支持 310000ms
textstring是文本,只支持单字符级别

materials[]

字段类型必填可选值 / 默认值说明
typestring是image / video素材类型
fileUrlstring是-素材 url
soundSwitchboolean否false当素材为视频时原声开关,素材混剪和新闻体视频支持

introduceCard

字段类型必填说明
namestring否名称
descriptionstring否描述

packRules

字段类型必填默认值说明
headerSwitchboolean否-标题包装开关
materialSwitchboolean否-素材包装开关
subtitleSwitchboolean否-字幕包装开关
keywordSwitchboolean否-关键词包装开关
backgroundMusicobject否-背景音乐设置
backgroundMusic.audioSwitchboolean否-音乐开关
backgroundMusic.audioUrlstring否-音频 url,模板内置背景音乐和传递 audioUrl,优先使用 audioUrl
backgroundMusic.volumenumber否0.3音量,保留一位小数,范围 0-1

processRules.firstFrameCover

字段类型必填默认值说明
coverSwitchboolean否false封面开关
templateIdstring否-模版 ID,如果未设置则系统匹配
imageUrlstring否-图片地址,用于生成 AI 封面图的底图,imageUrl 和 resultImageUrl 二选一必填
resultImageUrlstring否-图片生成接口的结果图片地址或其他封面图片地址;传了此值将直接运用作为视频首帧封面,优先级更高

structLayers[]

字段类型必填可选值说明
markCodestring是headerLayer / subtitleLayer / ipLayer / backgroundLayer / figureLayer图层,对应模板详情接口返回的图层数据
showboolean否-是否显示,不设置时默认跟随模板;backgroundLayer、figureLayer 不支持设置,默认显示
showModestring否always / customize显示模式,markCode=headerLayer 时生效,不设置时默认跟随模板
showTimenumber条件必填大于 0显示时长,markCode=headerLayer 且 showMode=customize 时生效且必填,保留 3 位小数
layer.transform.positioninteger[]否-锚点定位,对应模板详情 transform.position
layer.uristring否-背景图片资源链接,仅 backgroundLayer 生效

素材与媒体要求:

  • 输入视频格式:mp4、mov;视频编码 h264、HEVC(h265);帧率 10-60fps,推荐 25;单边分辨率小于 2000px。

  • 真人口播 videoUrl 时长小于 5 分钟,文件大小小于 500MB,视频中的音频需要能够语音转文本。

  • 素材总量限制:单张图片计算为 2 秒,单个视频素材不能超过 60 秒,所有素材总时长不能超过 5 分钟。

  • 素材图片格式支持 jpg、png、webp 静态图,单边分辨率小于 2000px。

  • 素材视频格式支持 mp4、mov,单个视频小于 500MB,单边分辨率小于 2000px。

  • 背景音乐格式支持 mp3、wav、m4a,文件大小不超过 120MB,时长不超过 5 分钟。

  • 首帧封面 imageUrl、resultImageUrl 格式支持 jpg/jpeg、png,文件大小不超过 10MB,单边分辨率小于 2000px。

query / 回调:

query 需 task_id;回调字段同真人口播接口。

响应字段:

字段类型必返说明
task_idstring是平台任务 ID
statusstring / int是平台任务状态:上游多为 processing / queued;本平台 create/query 返回 1 处理中、2 完成、3 失败
appstring是应用编码,固定为 smart_clip(上游 data;本平台见 upstream 透传)
apistring是API 编码,固定为 broadcast_mixcut(上游 data;本平台见 upstream 透传)

任务结果:

任务完成后,平台任务查询结果 / 用户回调中的结果通常包含:

字段类型说明
video_urlstring视频 url 地址,视频生成类任务返回
cover_urlstring视频封面 url 地址
durationnumber生成的视频或音频时长,单位:秒
dataobject完整结果数据

任务失败时返回错误码和错误描述(本平台字段为 fail_reason)。

Response example

{    "code": 200,    "msg": "success",    "data": {        "task_id": "task_8b4125d2a045655f7b4d69d4",        "status": 1,        "progress": 0,        "power_cost": 150    }}

FAQ

口播混剪适合什么场景?

已有口播音频或文案,需要配上图片/视频素材并套模板出片的场景。

必填参数有哪些?

通常包括 styleId、materials、callback_url 等;音频与文案规则以文档为准。

计费依据是什么?

一般按输入秒与分辨率计费;有 audioUrl 时优先按音频时长,否则按素材规则汇总。

如何获取模板?

先调用模板列表,scene 选择口播混剪对应枚举。

任务失败怎么排查?

检查素材 URL 是否可达、格式是否支持、styleId 是否属于正确场景。

支持回调吗?

支持。create 时填写 callback_url,任务完成或失败后平台通知。

Full console doc (with the debugger):/doc/26