Todos os produtos
Search
Central de documentação

Intelligent Media Services:Criar e usar modelos avançados

Última atualização: Jun 28, 2026

A produção inteligente permite usar modelos avançados na edição de vídeo para obter efeitos sofisticados e estilos complexos de animação. Este tópico descreve como criar e utilizar esses modelos.

Criar um modelo avançado

Usar o console do IMS

  1. Use o VE Exporter para exportar o projeto do AE como um arquivo de modelo no formato ZIP.

  2. Carregue o arquivo de modelo na Template Factory.

Chamar uma operação de API

Chame a operação AddTemplate para criar um modelo e especifique a URL do OSS do modelo avançado.

AddTemplateRequest request = new AddTemplateRequest();
request.setType("VETemplate");
request.setName("Advanced template test");
request.setConfig("{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}");
AddTemplateResponse response = iceClient.addTemplate(request);
System.out.println("templateId : " + response.getBody().getTemplate().getTemplateId());
Nota

O valor de oss_url neste exemplo serve apenas como referência. Especifique a URL real do OSS.

Usar modelos avançados

Usar o console do IMS

Para obter mais detalhes sobre como editar vídeos com modelos avançados, consulte Usar modelos avançados para editar vídeos.

Chamar uma operação de API

  1. Obtenha as informações do modelo.

    Chame a operação GetTemplate para recuperar os dados do modelo. Especifique o ID do modelo no parâmetro TemplateId.

    GetTemplateRequest request = new GetTemplateRequest();
    request.setTemplateId("****20b48fb04483915d4f2cd8ac****");
    GetTemplateResponse response = iceClient.getTemplate(request);
    GetTemplateResponseBody.GetTemplateResponseBodyTemplate template = response.getBody().getTemplate();
    System.out.println("templateId : " + template.getTemplateId());
    System.out.println("clipsParam : " + template.getClipsParam());

    A saída retornada é semelhante ao exemplo abaixo:

    {
        "RequestId":"******11-DB8D-4A9A-875B-275798******",
        "Template":{
            "TemplateId":"****20b48fb04483915d4f2cd8ac****",
            "Name":"Advanced template test",
            "Type":"VETemplate",
            "Status":"Available",
            "ModifiedSource":"OpenAPI",
            "CreateSource":"OpenAPI",
            "Config":"{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}",
            "ClipsParam":"{\"Text7\":\"text\",\"Text6\":\"text\",\"Text5\":\"text\",\"Text4\":\"text\",\"Text3\":\"text\",\"Text2\":\"text\",\"Text1\":\"text\",\"Text0\":\"text\",\"Media3\":\"mediaId\",\"Media2\":\"mediaId\",\"Media1\":\"mediaId\",\"Media0\":\"mediaId\"}",
            "PreviewMedia":"",
            "CoverURL":""
        }
    }
    Nota

    Também é possível usar modelos integrados. O procedimento é semelhante ao descrito na seção anterior. Para mais informações sobre modelos integrados, consulte Modelos avançados.

  2. Substitua text e mediaId no parâmetro ClipsParam pelos valores reais.

    {
        "Text0":"Subtitle 0",
        "Text1":"Subtitle 1",
        "Text2":"Subtitle 2",
        "Text3":"Subtitle 3",
        "Text4":"Subtitle 4",
        "Text5":"Subtitle 5",
        "Text6":"Subtitle 6",
        "Text7":"Subtitle 7",
        "Media0":"****20b48fb04483915d4f2cd8ac****",
        "Media1":"****20b48fb04483915d4f2cd8ac****",
        "Media2":"****20b48fb04483915d4f2cd8ac****",
        "Media3":"****20b48fb04483915d4f2cd8ac****"
    }
    Nota
    • O parâmetro ClipsParam destina-se ao serviço de produção. Substitua o texto por legendas e o mediaId pelo ID ou URL do OSS de um ativo de mídia, como vídeo ou imagem. É possível combinar legendas e ativos de mídia.

    • Se você definir apenas alguns campos no parâmetro ClipsParam, as legendas não especificadas ficarão vazias por padrão e os ativos de mídia originais do modelo serão mantidos.

    • É possível configurar fontes para legendas e modos de adaptação para vídeos e imagens. Consulte Recursos estendidos para mais detalhes.

  3. Invoque o serviço de produção.

    Chame a operação SubmitMediaProducingJob para enviar um job de edição e produção. Defina os parâmetros TemplateId e ClipsParam.

    SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest();
    request.setTemplateId("****20b48fb04483915d4f2cd8ac****");
    request.setClipsParam("{\"Text7\":\" Subtitle 7\",\"Text6\":\" Subtitle 6\",\"Text5\":\" Subtitle 5\",\"Text4\":\" Subtitle 4\",\"Text3\":\" Subtitle 3\",\"Text2\":" Subtitle 2 "," Text1 ":" Subtitle 1 "," Text0 ":" Subtitle 0 "," Media3 ":"****20b48fb04483915d4f2cd8ac**** "," Media2 ":"****20b48fb04483915d4f2cd8ac**** "," Media1 ":"****20******** "," Media0 ":"****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());

Recursos estendidos

Definir o modo de adaptação de vídeos e imagens

Use o campo .adapt_type para configurar o modo de dimensionamento de vídeos e imagens. Valores válidos:

  • 0: O material é redimensionado.

  • 1: O material mantém a proporção original e preenche a dimensão especificada centralizado.

  • 2: A proporção do material é preservada, mas ele é ajustado para caber dentro da dimensão definida, centralizado.

  • 3: O conteúdo é dimensionado para ocupar toda a dimensão informada, ignorando a proporção original.

{
    "Text7":"Subtitle 7",
    "Text6":"Subtitle 6",
    "Text5":"Subtitle 5",
    "Text4":"Subtitle 4",
    "Text3":"Subtitle 3",
    "Text2":"Subtitle 2",
    "Text1":"Subtitle 1",
    "Text0":"Subtitle 0",
    "Media3":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object01.jpg",
    "Media2":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object02.jpg",
    "Media1":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object03.jpg",
    "Media0":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object04.jpg",
    "Media3.adapt_type":0,
    "Media2.adapt_type":1,
    "Media1.adapt_type":2,
    "Media0.adapt_type":3
}

Modificar a fonte das legendas

Use o campo .font_file para definir a tipografia das legendas. Também é possível informar uma URL do OSS para aplicar fontes personalizadas. Para saber mais sobre fontes .

{
    "Text7.font_file":"SimSun",
    "Text6.font_file":"Yuanti",
    "Text5.font_file":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font1.ttf",
    "Text4.font_file":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font2.ttf",
    "Text7":"Subtitle 7",
    "Text6":"Subtitle 6",
    "Text5":"Subtitle 5",
    "Text4":"Subtitle 4",
    "Text3":"Subtitle 3",
    "Text2":"Subtitle 2",
    "Text1":"Subtitle 1",
    "Text0":"Subtitle 0",
    "Media3":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object01.jpg",
    "Media2":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object02.jpg",
    "Media1":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object03.jpg",
    "Media0":"https://your-bucket.oss-cn-shanghai.aliyuncs.com/object04.jpg"
}

Outras configurações

O parâmetro ClipsParam aceita ainda as seguintes opções para editar materiais:

{
  // Media asset
  "Media1": "a8f5f167f44f4964e6c998dee827110c",
  "Media1.loop": 1, // This setting applies to videos and GIFs. 0: uses the default loop logic of the engine. 1: loops the material. 2: does not loop the material.
  "Media1.volume": 0.5, //This setting applies to videos. You must specify a value greater than or equal to 0. Valid values: 0 to 1. Default value: 0.
  "Media1.adapt_type": 0, // The adaptation mode. 0: The material is not scaled. 1: The material keeps its aspect ratio and fills the given dimension in the center. 2: The material keeps its aspect ratio, but is scaled to fit within the given dimension in the center. 3: The material is scaled to fill the given dimension, regardless of the aspect ratio. 4: uses the matrix specified by the transform field. Default value: 1.
  "Media1.transform": [a,c,e,b,d,f], //The row matrix in the [scale, skewX, transX, skewY, scaleY, transY] format. The matrix is the local coordinate system of the original image. A unit matrix is used by default.
  "Media1.clip_start": 0.0, // Optional. The start time of video cropping. The value of clip_end must be greater than the value of clip_start.
  "Media1.clip_end": 10.0, // The end time of video cropping. A value greater than 0 indicates that video cropping is required. A value less than or equal to 0 indicates that video cropping is not required at the end of the video.
  
  // Subtitles
  "Text1":"Test subtitles",
  "Text1.adapt": true, // Specifies whether to enable text adaptation. This parameter is valid only for text of the text box type. By default, the adaptation method in the template is used.
  "Text1.fill": "#FFFFFF", // The fill color of the text.
  "Text1.stroke": "#FFFFFF", //The color of the text outline.
  "Text1.stroke_width": 0.0, // The width of the text outline.
  "Text1.stroke_over_fill": false, // Specifies whether the outline color is above the fill color.
  "Text1.size": 10, // The text size in pixels.
  "Text1.font_file": "SimSun" // The name of the font family.
}