阿里云首页 视频点播

视频AI

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

初始化客户端

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

提交AI作业

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 提交作业
 */
VodApiResponse submitAIJob(VodCredential authInfo) {
    string apiName = "SubmitAIJob";
    map<string, string> args;
    // 设置视频ID
    args["MediaId"] = "3eb19a4585bc475e995bddfd****";
    // 设置AI类型,请确保已开通该类型AI
    args["Types"] = "AIVideoCover";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = submitAIJob(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

查询AI作业

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 查询作业
 */
VodApiResponse listAIJob(VodCredential authInfo) {
    string apiName = "ListAIJob";
    map<string, string> args;
    // 设置作业ID
    args["JobIds"] = "979d4d7a36ae41b1a945a252****,3eb19a4585bc475e995bddea5****";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = listAIJob(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

添加AI模板

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 添加AI模板
 */
VodApiResponse addAITemplate(VodCredential authInfo) {
    string apiName = "AddAITemplate";
    map<string, string> args;
    // 设置模板类型,以智能审核模板为例
    args["TemplateType"] = "AIMediaAudit";
    // 设置模板名称
    args["TemplateName"] = "我的自定义模板";
    // 设置模板详细配置
    Json::Value templateConfig;
    Json::Value auditItem;
    auditItem.append("terrorism");
    auditItem.append("porn");
    templateConfig["AuditItem"] = auditItem;

    Json::Value auditRange;
    auditRange.append("video");
    auditRange.append("image-cover");
    auditRange.append("text-title");
    templateConfig["AuditRange"] = auditRange;

    Json::Value auditContent;
    auditContent.append("screen");
    templateConfig["AuditContent"] = auditContent;
    templateConfig["AuditAutoBlock"] = "no";
    args["TemplateConfig"] = templateConfig.toStyledString();
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = addAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

删除AI模板

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 删除AI模板
 */
VodApiResponse deleteAITemplate(VodCredential authInfo) {
    string apiName = "DeleteAITemplate";
    map<string, string> args;
    // 设置模板ID
    args["TemplateId"] = "1d763dd8987a122ab8596eb7d2c8****";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = deleteAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

修改AI模板

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 修改AI模板
 */
VodApiResponse updateAITemplate(VodCredential authInfo) {
    string apiName = "UpdateAITemplate";
    map<string, string> args;
    // 设置模板ID
    args["TemplateId"] = "1d763dd8987a122ab8596eb7d258****";
    // 设置模板名称
    args["TemplateName"] = "我的自定义模板";
    // 设置模板详细配置
    Json::Value templateConfig;
    Json::Value auditItem;
    auditItem.append("terrorism");
    auditItem.append("porn");
    templateConfig["AuditItem"] = auditItem;

    Json::Value auditRange;
    auditRange.append("video");
    auditRange.append("image-cover");
    auditRange.append("text-title");
    templateConfig["AuditRange"] = auditRange;

    Json::Value auditContent;
    auditContent.append("screen");
    templateConfig["AuditContent"] = auditContent;
    templateConfig["AuditAutoBlock"] = "no";
    args["TemplateConfig"] = templateConfig.toStyledString();
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = updateAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

查询AI模板

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 查询AI模板
 */
VodApiResponse getAITemplate(VodCredential authInfo) {
    string apiName = "GetAITemplate";
    map<string, string> args;
    // 设置模板ID
    args["TemplateId"] = "1d763dd8987a122ab8596eb7d2c832****";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = getAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

查询AI模板列表

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 查询AI模板列表
 */
VodApiResponse listAITemplate(VodCredential authInfo) {
    string apiName = "ListAITemplate";
    map<string, string> args;
    // 设置模板类型,以智能审核模板为例
    args["TemplateType"] = "AIMediaAudit";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = listAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

设置默认AI模板

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"

/**
 * 设置默认AI模板
 */
VodApiResponse setDefaultAITemplate(VodCredential authInfo) {
    string apiName = "SetDefaultAITemplate";
    map<string, string> args;
    // 设置模板ID
    args["TemplateId"] = "1d763dd8987a122ab8596eb7d2c8****";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = setDefaultAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}

查询默认AI模板

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

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

#include <stdio.h>
#include <string>
#include <map>
#include <jsoncpp/json/json.h>
#include "vod_sdk/openApiUtil.h"
/**
 * 查询默认AI模板
 */
VodApiResponse getDefaultAITemplate(VodCredential authInfo) {
    string apiName = "GetDefaultAITemplate";
    map<string, string> args;
    // 设置模板类型,以智能审核模板为例
    args["TemplateType"] = "AIMediaAudit";
    return getAcsResponse(authInfo, apiName, args);
}

// 请求示例
void main() {
    VodCredential authInfo = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    VodApiResponse response = getDefaultAITemplate(authInfo);
    printf("httpCode: %d, result: %s\n", response.httpCode, response.result.c_str());
}