API Reference
Smart editing — news remix API
News remix: build a news short from a title, media, and a template. Async.
Overview
- 标题驱动
- 素材混剪
- 模板成片
- 异步任务
Use cases
- 新闻资讯片
- 热点快讯视频
- 媒体自动化
- 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/news_mixcut
Content-Type: application/json
{
"key": "YOUR_API_KEY"
}
Request example
https://xiaoapis.com/api/smartclip/news_mixcut?key=你的密钥&action=create
Details
多规格计费:
720P 2(≈¥0.020) 点/输入秒,1080P 2.6(≈¥0.026) 点/输入秒
| 规格 | 价格 |
|---|---|
| 720P | 2(≈¥0.020) 点/输入秒 |
| 1080P | 2.6(≈¥0.026) 点/输入秒 |
计费公式:ceil(输入秒) × 对应规格单价。输入秒汇总自 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/news_mixcut?key=你的密钥&action=create
请求HEADER:
| 名称 | 值 |
|---|---|
| Content-Type | application/json |
鉴权说明:请在 URL 参数或 JSON Body 中携带 key(平台 API 密钥)。使用 POST + JSON 时,key 必须写在 JSON Body 内。
create 请求参数说明(POST JSON):
| 名称 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|
| key | 是 | string | 你的密钥 | 平台 API 密钥 |
| styleId | 是 | string | 68aebb91b8619ed6f4168f40 | 视频模板 ID |
| title | 是 | string | 聊AI行业 | 标题,3-1800 字符 |
| materials | 是 | array | [{type,fileUrl,soundSwitch}] | 素材列表;探测时长用于计费,图片按 2 秒 |
| resolution | 否 | string | 720p | 输出规格:720p / 1080p,影响单价 |
| callback_url | 是 | string | https://example.com/hook | 用户回调地址 |
| introduceCard | 否 | object | 身份栏 | |
| packRules | 否 | object | 包装规则 | |
| processRules | 否 | object | watermarkShow、videoDuration(5-300秒)、materialComposition(random/order) 等 | |
| structLayers | 否 | array | 图层修改 |
processRules:
| 字段 | 类型 | 必填 | 默认值 | 可选值 / 范围 | 说明 |
|---|---|---|---|---|---|
| watermarkShow | boolean | 否 | false | true / false | 是否添加“AI生成”字样水印 |
| videoDuration | integer | 否 | 跟随素材资源时长 | 5-300 | 视频时长,单位:秒 |
| metadata | object | 否 | - | - | 元水印数据,仅支持写入一组数据,且 value 值需为字符串 |
| materialComposition | string | 否 | random | random / order | 素材组合方式,random 随机,order 顺序 |
| firstFrameCover | object | 否 | - | - | 首帧封面配置 |
重要规则:
素材
materials[].fileUrl、背景音乐packRules.backgroundMusic.audioUrl、AI 封面的resultImageUrl地址不能重名,重名会导致渲染异常。packRules仅用于控制标题、字幕、素材、背景音乐、关键词等图层是否参与效果包装,不能控制对应图层的显示/隐藏。如果期望生成的视频不显示标题,请不要设置标题值。
callback_url/callbackUrl作为平台任务通知地址保存,任务完成或失败后由平台发起通知。如无法解析有效输入媒体时长,本次请求会被拒绝,不使用默认时长。
通用对象字段:
subtitle[]
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| startMs | integer | 是 | 时间戳开始,单位 ms |
| endMs | integer | 是 | 时间戳结束,单位 ms,最大支持 310000ms |
| text | string | 是 | 文本,只支持单字符级别 |
materials[]
| 字段 | 类型 | 必填 | 可选值 / 默认值 | 说明 |
|---|---|---|---|---|
| type | string | 是 | image / video | 素材类型 |
| fileUrl | string | 是 | - | 素材 url |
| soundSwitch | boolean | 否 | false | 当素材为视频时原声开关,素材混剪和新闻体视频支持 |
introduceCard
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 名称 |
| description | string | 否 | 描述 |
packRules
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| headerSwitch | boolean | 否 | - | 标题包装开关 |
| materialSwitch | boolean | 否 | - | 素材包装开关 |
| subtitleSwitch | boolean | 否 | - | 字幕包装开关 |
| keywordSwitch | boolean | 否 | - | 关键词包装开关 |
| backgroundMusic | object | 否 | - | 背景音乐设置 |
| backgroundMusic.audioSwitch | boolean | 否 | - | 音乐开关 |
| backgroundMusic.audioUrl | string | 否 | - | 音频 url,模板内置背景音乐和传递 audioUrl,优先使用 audioUrl |
| backgroundMusic.volume | number | 否 | 0.3 | 音量,保留一位小数,范围 0-1 |
processRules.firstFrameCover
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| coverSwitch | boolean | 否 | false | 封面开关 |
| templateId | string | 否 | - | 模版 ID,如果未设置则系统匹配 |
| imageUrl | string | 否 | - | 图片地址,用于生成 AI 封面图的底图,imageUrl 和 resultImageUrl 二选一必填 |
| resultImageUrl | string | 否 | - | 图片生成接口的结果图片地址或其他封面图片地址;传了此值将直接运用作为视频首帧封面,优先级更高 |
structLayers[]
| 字段 | 类型 | 必填 | 可选值 | 说明 |
|---|---|---|---|---|
| markCode | string | 是 | headerLayer / subtitleLayer / ipLayer / backgroundLayer / figureLayer | 图层,对应模板详情接口返回的图层数据 |
| show | boolean | 否 | - | 是否显示,不设置时默认跟随模板;backgroundLayer、figureLayer 不支持设置,默认显示 |
| showMode | string | 否 | always / customize | 显示模式,markCode=headerLayer 时生效,不设置时默认跟随模板 |
| showTime | number | 条件必填 | 大于 0 | 显示时长,markCode=headerLayer 且 showMode=customize 时生效且必填,保留 3 位小数 |
| layer.transform.position | integer[] | 否 | - | 锚点定位,对应模板详情 transform.position |
| layer.uri | string | 否 | - | 背景图片资源链接,仅 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_id | string | 是 | 平台任务 ID |
| status | string / int | 是 | 平台任务状态:上游多为 processing / queued;本平台 create/query 返回 1 处理中、2 完成、3 失败 |
| app | string | 是 | 应用编码,固定为 smart_clip(上游 data;本平台见 upstream 透传) |
| api | string | 是 | API 编码,固定为 news_mixcut(上游 data;本平台见 upstream 透传) |
任务结果:
任务完成后,平台任务查询结果 / 用户回调中的结果通常包含:
| 字段 | 类型 | 说明 |
|---|---|---|
| video_url | string | 视频 url 地址,视频生成类任务返回 |
| cover_url | string | 视频封面 url 地址 |
| duration | number | 生成的视频或音频时长,单位:秒 |
| data | object | 完整结果数据 |
任务失败时返回错误码和错误描述(本平台字段为 fail_reason)。
Response example
{ "code": 200, "msg": "success", "data": { "task_id": "task_ddf1834a9ce60a065bf516c1", "status": 1, "progress": 0, "power_cost": 100 }}
FAQ
新闻混剪和口播混剪有何不同?
新闻混剪强调标题/资讯向结构;口播混剪强调口播音频或文案驱动。
标题有长度限制吗?
有。文档通常要求标题字数在指定区间内,请按参数说明填写。
如何创建任务?
action=create,提交 styleId、title、materials、callback_url 等字段。
计费怎么算?
按分辨率对应单价与素材汇总输入秒计费,以文档为准。
能否自定义包装?
可通过 packRules、processRules、structLayers 等字段控制,详见文档。
如何查询结果?
使用 action=query 与 task_id,或接收回调中的视频地址。
Related APIs
- Smart editing — presenter video API
- Smart editing — voiceover montage API
- Smart editing — template list API
Full console doc (with the debugger):/doc/27