短视频 超级混剪 API
一键成片 API 对接方案;
通过接口,实现内容商业视频批量生成
超级剪
API

一键成片 API 方案简介

概述

我们提供标准化“一键成片API对接方案”,第三方通过API对接,实现内容商业视频AI一键批量生成。

对接合作流程

  • 1、提交合作申请,等待审核
  • 2、平台将在1-2天内完成审核,审核完成后安排技术服务人员对接沟通
  • 3、平台进行授权,第三方调用接口,试用视频生成
  • 4、完成试用后,开始商务对接,签订合同并投入正式使用
申请流程表

对接方式/视频生产流程

  • 1.第三方系统一键提交素材及内容关键词信息
  • 2. 系统 接收素材及相关内容信息
  • 3. 系统 完成视频生成,同时返回已合成的视频至第三方系统
  • 4.第三方系统接收视频,进行保存并使用
对接方式

API验权方案

请求 API 时,需要在 headers 中额外添加 3 个参数:appId, sign, timestamp
名称说明
appId[系统分配]形如:dwioo0tp3be3
timestamp[10位数字时间戳]形如:1606097093
sign生成规则:sha1( appKey +'-'+ timestamp +'-'+ JSON.stringify( bodyData ) )形如:sha1( '1x6U0UyY0kVr-1606096852-{"current":1,"pageSize":20}'

公共请求域名

  • 生产环境/线上地址:https://open-api.shipinlv.com
  • 测试地址:https://open-api-test.shipinlv.com

通用返回结果:

// typescript interface
interface ApiResult{
  success: boolean;
  code: string; 
  data: any,
  requestId: string;
}

成功响应结果:

失败响应结果:

业务接口

请求公用 API Header

系统会预先分配:appId, appKey;

超级混剪 - 创建

各类素材混剪规则

素材类型详情说明图片示例注意事项
画面混剪规则视频轨道素材从每个分镜中随机抽取 1 个合并的视频/图片素材组合成片

合并 每个分镜视频栏中最多可以添加8个素材,混剪时将合并符合分镜时长的素材作为1个素材
超出分镜时长的素材会自动裁剪
短于分镜时长的素材会自动跳过空余时长,组合下个分镜素材
画面混剪规则画中画轨道素材跟随轨道时间线组合,应用于时间线内所有视频,即每个视频都存在
超出成片时长的画中画素材会自动裁剪
当有多条画中画轨道时,相同时间线若有素材则会做叠加处理
音乐混剪规则轨道内音乐每个成片随机匹配 1 条音乐轨道中的音频
超出成片时长的音乐会自动裁剪
当有多条画中画轨道时,相同时间线若有素材则会做叠加处理
音乐混剪规则随机音乐风格每个成片随机匹配 1 个已选音乐风格中的音乐
短于成片时长的音乐不会使用
当有多个音乐时,将会按照音乐使用次数进行匹配,不会重复多次只匹配到一个音乐
贴纸混剪规则全局贴纸每个成片随机匹配 1 个已选音乐风格中的音乐
短于成片时长的音乐不会使用
当有多个音乐时,将会按照音乐使用次数进行匹配,不会重复多次只匹配到一个音乐
音效规则混剪 根据设置的时间展示
超出分镜时长的贴纸会自动裁剪
音效规则混剪 根据设置的时间展示
超出分镜时长的音效会自动裁剪

图例

接口路径:/mixedCut/create

请求方法:POSTRequest-Body

字段描述类型必传?说明
asyncCallbackUrl 调用 你方服务器 通知任务结果https?://...
任务状态变化后,用于通知结果;
如果 此调用接口失败,我方服务器会重试;
重试时间为:5分钟, 30分钟,1小时,3小时,6小时
sourceList输入视频、图片资源信息;
支持的文件类型:

图片:jpg/jpeg/png/webp/gif

视频:mp4

音频:mp3/wav/ogg/aac/ogg/flac

字幕:srt

interface Option{
  splitShots: {
    durationList: number[];
  },
  clips: {
    type?: "split-shots";
    layers: {
      "type": 'video' | 'image' | 'audio';
      "path": string;
      cutTo?: number;
      cutToType?: "all-end" | 'video-main-end'
    }[]
  }[],
}
用于制作视频/图片的物料,形如:
outputCount生成视频个数int
生成范围:[1, 200]
videoRepeatPercent分镜头重复率[int, int]
[0, 30 ] 表示只挑选重复率0-30%的视频;
[30, 50 ] 表示只挑选重复率30%-50%的视频;
voiceId配音角色[]int
从数组里随机选择
originalOption去重/伪原创参数
形如:
{ "brightness": [ -0.01, 0 ], "//...": "......" }
设置伪原创参数,可以极大的避免视频重复/非原创的问题;
设置伪原创参数的原则:在尽可能不改变视频视觉效果的前提下,尽可能修改视频是本身,为了让平台认为视频是原创;
此参数比较复杂,需要用工具生成

返回结果

超级混剪 - 查询任务结果

接口路径:/mixedCut/result?idKey= ?

请求方法:GET

返回结果

超级混剪 - asyncCallbackUrl

接口路径:[你方接口提交的 asyncCallbackUrl]

请求方法:POSTRequest-Body

为了数据安全,需要你方校验来源数据 headers 中的 sign

headers 参数:

提交参数:

期望 asyncCallbackUrl 返回结果

如果没有返回结果 success 不为 true,则认为失败,会继续重试

模板视频 - 创建


接口路径:/templateVideo/create

请求方法:POSTRequest-Body

字段描述类型必传?说明
asyncCallbackUrl 调用 你方服务器 通知任务结果https?://...
任务状态变化后,用于通知结果;
如果 此调用接口失败,我方服务器会重试;
重试时间为:5分钟, 30分钟,1小时,3小时,6小时
sourceList输入视频、图片资源信息;
支持的文件类型:

图片:jpg/jpeg/png/webp/gif

视频:mp4

音频:mp3/wav/ogg/aac/ogg/flac

字幕:srt

{
  videoList: string[],
  imageList: string[];
  audioList: string[];
  textList: string[];
  subtitleList: string[];
}
用于制作视频/图片的物料,形如:
isRewriteText使用ChatGPT重写sourceList.textListbool
一般用于用GPT4重写 商品标题/内容,防止和别人重复
rewriteTextPrompt用ChatGPT重写sourceList.textList的提示词string
暂未对外开放,可申请
outputCount生成视频个数int
默认:1; 生成范围:[1, 200]
templateKey模板编号string
一切都在万能的模板里,我们可以根据你们的需求编写模板;
模板渲染能力很强大,无论是带货视频,还是超级混剪,在剪映基础上,实现批量,高速、渲染视频;
超级混剪,接入各种AI能力,亦或随机删帧、缩放、旋转、抠像、倒放、跑马灯,以及颜色属性光感度、锐化、饱和度等等,都可以在模板中设置

返回结果

模板视频 - 查询任务结果

接口路径:/templateVideo/result?idKey= ?

请求方法:GET

返回结果

模板视频 - asyncCallbackUrl

接口路径:[你方接口提交的 asyncCallbackUrl]

请求方法:POSTRequest-Body

为了数据安全,需要你方校验来源数据 headers 中的 sign

headers 参数:

提交参数:

期望 asyncCallbackUrl 返回结果

如果没有返回结果 success 不为 true,则认为失败,会继续重试

关于部署

系统支持私有化部署,支持CPU、GPU渲染;
并且系统也支持部分私有化,比如仅渲染能力私有化部署(视频渲染综合成本较低);

SDK 下载

待完善...

关于模板能力题外话

模板渲染能力很强大,完全具备精简版的剪映能力;
关于具体能力,可查看内部文档:http://doc.douxidong.com/auto-video-template
此文档魏内部文档,很快会被重新整理,对外做可视化能力展示;