智能标签

智能标签,是通过对视频中视觉、文字、语音、行为等信息进行分析,结合多模态信息融合及对齐技术,实现高准确率内容识别,自动输出视频的多维度内容标签,将非结构化信息转化为结构化信息。可应用于视频智能分析、视频审核、视频搜索、视频个性化推荐,助力视频智能生产。本文提供了Java SDK智能标签相关的API调用示例,包括提交智能标签作业、添加智能标签模板等。

接口调用说明

  • 本文提供的接口调用示例均通过AccessKey初始化客户端实例。

  • 接口的参数解释和返回字段的详细说明请访问阿里云OpenAPI门户,在各接口右侧的文档页签查看。

  • 本文仅提供部分复杂接口的代码示例,其余接口的SDK代码示例,可以通过阿里云OpenAPI门户获取。访问阿里云OpenAPI门户,在接口的左侧参数配置页签,填写需要的参数信息并发起调用后,在右侧的SDK示例页签,选择SDK版本,选择目标语言,查看并下载示例代码。

  • 本文均以V1.0版本的SDK为例进行接口调用,如需获取V2.0版本的SDK示例,请在通过阿里云OpenAPI门户获取SDK示例时,指定到对应的SDK版本。image.png

初始化客户端

使用前请先初始化客户端,请参见初始化

提交智能标签作业

调用SubmitAIJob接口,完成提交智能标签功作业能。

阿里云OpenAPI门户地址:SubmitAIJob

查询智能标签作业

调用ListAIJob接口,完成查询智能标签作业功能。

阿里云OpenAPI门户地址:ListAIJob

添加智能标签模板

调用AddAITemplate接口,完成添加智能标签模板功能。

阿里云OpenAPI门户地址:AddAITemplate

调用示例如下:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.vod.model.v20170321.AddAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.AddAITemplateResponse;

/**
 *读取AccessKey信息
 */
public static DefaultAcsClient initVodClient() throws ClientException {
    String regionId = "cn-shanghai";  // 点播服务接入地域
    // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。运行代码示例前,请配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
}

/**
 * 添加AI模板
 */
public static AddAITemplateResponse addAITemplate(DefaultAcsClient client) throws Exception {
        AddAITemplateRequest request = new AddAITemplateRequest();
        // 设置模板类型,以智能审核模板为例
        request.setTemplateType("AIMediaAudit");
        // 设置模板名称
        request.setTemplateName("myaitemplate");
        // 设置模板详细配置
        JSONObject templateConfig = new JSONObject();
        JSONArray auditItem = new JSONArray();
        auditItem.add("terrorism");
        auditItem.add("porn");
        templateConfig.put("AuditItem", auditItem);

        JSONArray auditRange = new JSONArray();
        auditRange.add("video");
        auditRange.add("image-cover");
        auditRange.add("text-title");
        templateConfig.put("AuditRange", auditRange);

        JSONArray auditContent = new JSONArray();
        auditContent.add("screen");
        templateConfig.put("AuditContent", auditContent);

        templateConfig.put("AuditAutoBlock", "no");
        request.setTemplateConfig(templateConfig.toString());

        // 返回结果
        return client.getAcsResponse(request);
}


/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) throws Exception {
        // 初始化客户端
        DefaultAcsClient client = initVodClient();

        try {
            // 获取执行结果
            AddAITemplateResponse response = addAITemplate(client);

            // 打印请求ID
            System.out.println("ResquestId:" + response.getRequestId());
            // 打印模板ID
            System.out.println("TemplateId:" + response.getTemplateId());
        } catch (Exception e) {
            System.out.println("ErrorMessage:" + e.getLocalizedMessage());
        }
}

修改智能标签模板

调用UpdateAITemplate接口,完成修改智能标签模板功能。

阿里云OpenAPI门户地址:UpdateAITemplate

调用示例如下:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.auth.AlibabaCloudCredentials;
import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider;
import com.aliyuncs.vod.model.v20170321.UpdateAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.UpdateAITemplateResponse;

/**
 *读取AccessKey信息
 */
public static DefaultAcsClient initVodClient() throws ClientException {
    String regionId = "cn-shanghai";  // 点播服务接入地域
    // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。运行代码示例前,请配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
    DefaultProfile profile = DefaultProfile.getProfile(regionId, System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
}

/**
 * 修改AI模板
 */
public static UpdateAITemplateResponse updateAITemplate(DefaultAcsClient client) throws Exception {
        UpdateAITemplateRequest request = new UpdateAITemplateRequest();
        // 设置模板ID
        request.setTemplateId("1d763dd8987a122ab8596eb7d257****");
        // 设置模板名称
        request.setTemplateName("myaitemplate1");
        // 设置模板详细配置
        JSONObject templateConfig = new JSONObject();
        JSONArray auditItem = new JSONArray();
        //auditItem.add("terrorism");
        auditItem.add("porn");
        templateConfig.put("AuditItem", auditItem);

        JSONArray auditRange = new JSONArray();
        auditRange.add("video");
        auditRange.add("image-cover");
        //auditRange.add("text-title");
        templateConfig.put("AuditRange", auditRange);

        JSONArray auditContent = new JSONArray();
        auditContent.add("screen");
        templateConfig.put("AuditContent", auditContent);

        templateConfig.put("AuditAutoBlock", "no");
        request.setTemplateConfig(templateConfig.toString());

        // 返回结果
        return client.getAcsResponse(request);
}

/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) throws Exception {
        // 初始化客户端
        DefaultAcsClient client = initVodClient();

        try {
            // 获取执行结果
            UpdateAITemplateResponse response = updateAITemplate(client);

            // 打印请求ID
            System.out.println("ResquestId:" + response.getRequestId());
            // 打印模板ID
            System.out.println("TemplateId:" + response.getTemplateId());
        } catch (Exception e) {
            System.out.println("ErrorMessage:" + e.getLocalizedMessage());
        }
}

查询智能标签模板

  • 调用GetAITemplate接口,查询单个智能标签模板信息。

    阿里云OpenAPI门户地址:GetAITemplate

  • 调用ListAITemplate接口,查询智能标签模板列表信息。

    阿里云OpenAPI门户地址:。

设置默认智能标签模板

调用SetDefaultAITemplate接口,完成设置默认智能标签模板功能。

阿里云OpenAPI门户地址:SetDefaultAITemplate

查询默认智能标签模板

调用GetDefaultAITemplate接口,完成查询默认智能标签模板功能。

阿里云OpenAPI门户地址:GetDefaultAITemplate

删除智能标签模板

调用DeleteAITemplate接口,完成删除智能标签模板功能。

阿里云OpenAPI门户地址:DeleteAITemplate

相关文档

  • 智能标签:介绍视频点播的智能标签功能更完整更详细的信息,包括功能特点、使用限制、费用说明等。

  • 智能标签管理AI模板管理:提供智能标签完整的SDK示例代码。