通过阅读本文,您可以了解创建并使用普通模板的方法。

创建普通模板

通过控制台创建

您可以通过云剪辑中的导出模板功能创建普通模板。具体操作,请参见云剪辑。如果您需要编辑模板,请参见普通模板设计师手册

通过OpenAPI创建

  1. 自定义普通模板Config。

    普通模板Config是基于云剪辑Timeline的封装,自定义模板Config会更加灵活。如果您有特殊需求,建议熟悉Config结构并自定义模板,详情请参见普通模板Config详解

    以下以视频拼接模板Config举例说明。更多模板Config示例,请参见常见普通模板Config示例

    {
        "VideoTracks": [
            {
                "VideoTrackClips": [
                    {
                        "Sys_Type" : "ArrayItems",
                        "Sys_ArrayObject" : "$VideoArray",
                        "Sys_Template" : {
                            "MediaId" : "$MediaId"
                        }
                    }
                ]
            }
        ]
    }
  2. 创建普通模板。

    调用AddTemplate创建模板,传入模板Config。

    AddTemplateRequest request = new AddTemplateRequest();
    request.setType("Timeline"); //普通模板Type取值为Timeline
    request.setName("普通模板测试");
    request.setConfig("{\"VideoTracks\":[{\"VideoTrackClips\":[{\"Sys_Type\":\"ArrayItems\",\"Sys_ArrayObject\":\"$VideoArray\",\"Sys_Template\":{\"MediaId\":\"$MediaId\"}}]}]}");
    AddTemplateResponse response = iceClient.addTemplate(request);
    System.out.println("templateId : " + response.getBody().getTemplate().getTemplateId());

    创建成功后会返回模板ID,在合成作业时使用。

使用普通模板

通过控制台使用

您可以通过模板工厂中的使用模板功能使用普通模板。具体操作,请参见模板工厂

通过OpenAPI使用

  1. 获取模板信息。
    • 通过控制台获取

      如果模板由控制台创建,可通过模板工厂中的设置素材属性功能拼接生成ClipsParam

      001

      拼接规则为:ID命名为key,需要替换的文案或媒资ID为value。则上述对应拼接生成的ClipsParam示例如下所示:

      {
       "1": "替换后的字幕",
       "2": "****20b48fb04483915d4f2cd8ac****",
       "3": "****20b48fb04483915d4f2cd8ac****",
       "4": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video1.mp4",
       "5": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video2.mp4"
      }
    • 调用OpenAPI获取

      调用GetTemplate获取模板信息,并传入创建普通模板步骤 2生成的TemplateId

      返回结果中ClipsParam字段如下所示:

      {"1":"text","2":"mediaId","3":"mediaId","4":"mediaId","5":"mediaId"}
      说明 您也可以使用系统内置模板,使用方式与上述使用个人创建模板类似,不再重复介绍。系统内置模板请参见公共模板库——普通模板
  2. 根据实际需求替换以上步骤示例中ClipsParam参数的textmediaId字段。
    {
     "1": "替换后的字幕",
     "2": "****20b48fb04483915d4f2cd8ac****",
     "3": "****20b48fb04483915d4f2cd8ac****",
     "4": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video1.mp4",
     "5": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video2.mp4"
    }
    说明 ClipsParam为合成服务的参数,您可以根据实际需求替换text为指定的文案,替换mediaId为指定的媒资ID或对应的OSS地址(包括视频和图片),支持混合使用。
  3. 调用合成服务。

    调用SubmitMediaProducingJob提交剪辑合成作业,传入TemplateIdClipsParam

    SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest();
    request.setTemplateId("Your TemplateId");
    request.setClipsParam("{\"1\":\"替换的字幕\",\"2\":\"****20b48fb04483915d4f2cd8ac****\",\"3\":\"****20b48fb04483915d4f2cd8ac****\",\"4\":\"****20b48fb04483915d4f2cd8ac****\",\"5\":\"****20b48fb04483915d4f2cd8ac****\"}");
    request.setOutputMediaConfig("{\"MediaURL\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.mp4\"}");
    SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request);
    System.out.println("jobid : " + response.getBody().getJobId());