全部产品

视频AI

本篇文档提供了Node.js SDK视频AI模块相关功能的API调用示例。包含提交AI作业、查询AI作业、添加AI模板、修改AI模板、删除AI模板、查询AI模板、查询设置默认AI模板等。

初始化客户端

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

提交AI作业

调用SubmitAIJob接口,完成提交AI作业功能。

接口参数和返回字段请参见SubmitAIJob。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("SubmitAIJob", {
    MediaId: '584625a507a44d0eaa7424afd56****',
    Types: 'AIVideoCover'
}, {}).then(function (response) {
    if (response.AIJobList && response.AIJobList.AIJob && response.AIJobList.AIJob.length > 0){
        for(var i=0; i<response.AIJobList.AIJob.length; i++){
            var job = response.AIJobList.AIJob[i];
            // 视频ID
            console.log('MediaId = ' + job.MediaId);
            // 作业ID
            console.log('JobId = ' + job.JobId);
            // AI类型
            console.log('Type = ' + job.Type);
        }
    }
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

查询AI作业

调用ListAIJob接口,完成查询AI作业功能。

接口参数和返回字段请参见ListAIJob。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("ListAIJob", {
    JobIds: 'JobId1,JobId2'
}, {}).then(function (response) {
    // 打印作业列表
    console.log("============ AIJobList ============");
    if (response.AIJobList && response.AIJobList.AIJob && response.AIJobList.AIJob.length > 0){
        for(var i=0; i<response.AIJobList.AIJob.length; i++){
            var job = response.AIJobList.AIJob[i];
            // 视频ID
            console.log('MediaId = ' + job.MediaId);
            // 作业ID
            console.log('JobId = ' + job.JobId);
            // AI类型
            console.log('Type = ' + job.Type);
            // 作业状态
            console.log('Status = ' + job.Status);
            // 作业结果
            console.log('Data = ' + job.Data);
        }
    }
    // 打印不存在的作业ID
    console.log("============ NonExistAIJobIds ============");
    if (response.NonExistAIJobIds && response.NonExistAIJobIds.String && response.NonExistAIJobIds.String.length > 0) {
        for (var i=0; i<response.NonExistAIJobIds.String.length; i++) {
            // 作业ID
            console.log('NonExistAIJobId = ' + response.NonExistAIJobIds.String[i]);
        }
    }
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

添加AI模板

调用AddAITemplate接口,完成添加AI模板功能。

接口参数和返回字段请参见AddAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

// 模板详细配置, 以审核模版为例
var templateConfig = {
    AuditAutoBlock: "no",
    AuditContent: ["screen"],
    AuditRange:["video", "image-cover", "text-title"],
    AuditItem: ["terrorism", "porn"]
};
client.request("AddAITemplate", {
    TemplateType: 'AIMediaAudit',   // 设置模板类型,以智能审核模板为例
    TemplateName: 'myaitemplate',   // 设置模板名称
    TemplateConfig: JSON.stringify(templateConfig)   // 设置模板详细配置
}, {}).then(function (response) {
    console.log(response);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

删除AI模板

调用DeleteAITemplate接口,完成删除AI模板功能。

接口参数和返回字段请参见DeleteAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("DeleteAITemplate", {
    TemplateId: '584625a507a44d0eaa7424afd56****' // 设置模板ID
}, {}).then(function (response) {
    console.log('TemplateId = ' + response.TemplateId);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

修改AI模板

调用UpdateAITemplate接口,完成修改AI模板功能。

接口参数和返回字段请参见UpdateAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

// 模板详细配置, 以审核模版为例
var templateConfig = {
    AuditAutoBlock: "no",
    AuditContent: ["screen"],
    AuditRange:["video", "image-cover"],
    AuditItem: ["terrorism", "porn"]
};
client.request("UpdateAITemplate", {
    TemplateId: '584625a507a44d0eaa7424afd56****',  // 模板ID
    TemplateName: 'myaitemplatemodify',              // 模板名称
    TemplateConfig: JSON.stringify(templateConfig)   // 模板详细配置
}, {}).then(function (response) {
    console.log('TemplateId = ' + response.TemplateId);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

查询AI模板

调用GetAITemplate接口,完成查询AI模板功能。

接口参数和返回字段请参见GetAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("GetAITemplate", {
    TemplateId: '584625a507a44d0eaa7424afd56****'  // 模板ID
}, {}).then(function (response) {
    console.log(response);
    // 模板信息
    if (response.TemplateInfo){
        console.log('TemplateId = ' + response.TemplateInfo.TemplateId);
        console.log('TemplateType = ' + response.TemplateInfo.TemplateType);
        console.log('TemplateName = ' + response.TemplateInfo.TemplateName);
        console.log('TemplateConfig = ' + response.TemplateInfo.TemplateConfig);
    }
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

查询AI模板列表

调用ListAITemplate接口,完成查询AI模板列表功能。

接口参数和返回字段请参见ListAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("ListAITemplate", {
    TemplateType: 'AIMediaAudit'  // 模板类型
}, {}).then(function (response) {
    console.log(response);
    // 模板信息列表
    if (response.TemplateInfoList && response.TemplateInfoList.length > 0){
        for (var i=0; i<response.TemplateInfoList.length; i++){
            console.log("The " + i + " Template.");
            console.log('TemplateId = ' + response.TemplateInfoList[i].TemplateId);
            console.log('TemplateType = ' + response.TemplateInfoList[i].TemplateType);
            console.log('TemplateName = ' + response.TemplateInfoList[i].TemplateName);
            console.log('TemplateConfig = ' + response.TemplateInfoList[i].TemplateConfig);
        }
    }
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

设置默认AI模板

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

接口参数和返回字段请参见SetDefaultAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("SetDefaultAITemplate", {
    TemplateId: '584625a507a44d0eaa7424afd56****' // 模板ID
}, {}).then(function (response) {
    console.log('TemplateId = ' + response.TemplateId);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

查询默认AI模板

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

接口参数和返回字段请参见GetDefaultAITemplate。调用示例如下:

// 调用样例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("GetDefaultAITemplate", {
    TemplateType: 'AIMediaAudit'   // 模板类型
}, {}).then(function (response) {
    if (response.TemplateInfo){
        console.log('TemplateId = ' + response.TemplateInfo.TemplateId);
        console.log('TemplateType = ' + response.TemplateInfo.TemplateType);
        console.log('TemplateName = ' + response.TemplateInfo.TemplateName);
        console.log('IsDefault = ' + response.TemplateInfo.IsDefault);
        console.log('TemplateConfig = ' + response.TemplateInfo.TemplateConfig);
    }
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});