视频AI
本篇文档提供了Java SDK视频AI模块相关功能的API调用示例。包含提交AI作业、添加AI模板、修改AI模板、删除AI模板、查询AI模板、查询AI模板列表、查询设置AI模板等。
初始化客户端
使用前请先初始化客户端,请参见初始化。
提交AI作业
调用SubmitAIJob接口,完成提交AI作业功能。
接口参数和返回字段请参见SubmitAIJob。调用示例如下:
import com.aliyuncs.vod.model.v20170321.SubmitAIJobRequest;
import com.aliyuncs.vod.model.v20170321.SubmitAIJobResponse;
/**
* 提交作业
*/
public static SubmitAIJobResponse submitAIJob(DefaultAcsClient client) throws Exception {
SubmitAIJobRequest request = new SubmitAIJobRequest();
// 设置视频ID
request.setMediaId("3eb19a4585bc475e995bdd4a5c****");
// 设置AI类型,请确保已开通该类型AI
request.setTypes("AIVideoCover");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 提交作业
SubmitAIJobResponse response = submitAIJob(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印结果信息
if (response.getAIJobList() != null && response.getAIJobList().size() != 0) {
for (SubmitAIJobResponse.AIJob aiJob : response.getAIJobList()) {
// 视频ID
System.out.println("MediaId:" + aiJob.getMediaId());
// 作业ID
System.out.println("JobId:" + aiJob.getJobId());
// AI类型
System.out.println("Type:" + aiJob.getType());
}
}
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}
查询AI作业
调用ListAIJob接口,完成查询AI作业功能。
接口参数和返回字段请参见ListAIJob。调用示例如下:
import com.aliyuncs.vod.model.v20170321.ListAIJobRequest;
import com.aliyuncs.vod.model.v20170321.ListAIJobResponse;
/**
* 查询作业
*/
public static ListAIJobResponse listAIJob(DefaultAcsClient client) throws Exception {
ListAIJobRequest request = new ListAIJobRequest();
// 设置作业ID
request.setJobIds("979d4d7a36ae41b1a945a2xxxxx,3eb19a4585bc475e995bddea****");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws Exception {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 查询作业
ListAIJobResponse response = listAIJob(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印作业列表
System.out.println("============ AIJobList:");
if (response.getAIJobList() != null && response.getAIJobList().size() != 0) {
for (ListAIJobResponse.AIJob aiJob: response.getAIJobList()) {
// 视频ID
System.out.println("MediaId:" + aiJob.getMediaId());
// 作业ID
System.out.println("JobId:" + aiJob.getJobId());
// AI类型
System.out.println("Type:" + aiJob.getType());
// 作业状态
System.out.println("Status:" + aiJob.getStatus());
// 作业结果
System.out.println("Data:" + aiJob.getData());
}
}
// 打印不存在的作业ID
System.out.println("============ NonExistAIJobIds:");
if (response.getNonExistAIJobIds() != null && response.getNonExistAIJobIds().size() != 0) {
for (String jobId: response.getNonExistAIJobIds()) {
// 作业ID
System.out.println("NonExistAIJobId:" + jobId);
}
}
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}
添加AI模板
调用AddAITemplate接口,完成添加AI模板功能。
接口参数和返回字段请参见AddAITemplate。调用示例如下:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.vod.model.v20170321.AddAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.AddAITemplateResponse;
/**
* 添加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("<Your AccessKeyId>", "<Your AccessKeySecret>");
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());
}
}
删除AI模板
调用DeleteAITemplate接口,完成删除AI模板功能。
接口参数和返回字段请参见DeleteAITemplate。调用示例如下:
import com.aliyuncs.vod.model.v20170321.DeleteAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.DeleteAITemplateResponse;
/**
* 删除AI模板
*/
public static DeleteAITemplateResponse deleteAITemplate(DefaultAcsClient client) throws Exception {
DeleteAITemplateRequest request = new DeleteAITemplateRequest();
// 设置模板ID
request.setTemplateId("1d763dd8987a122ab8596eb7d57****");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws Exception {
// 初始化客户端
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 获取执行结果
DeleteAITemplateResponse response = deleteAITemplate(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印模板ID
System.out.println("TemplateId:" + response.getTemplateId());
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}
修改AI模板
调用UpdateAITemplate接口,完成修改AI模板功能。
接口参数和返回字段请参见UpdateAITemplate。调用示例如下:
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.vod.model.v20170321.UpdateAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.UpdateAITemplateResponse;
/**
* 修改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("<Your AccessKeyId>", "<Your AccessKeySecret>");
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());
}
}
查询AI模板
调用GetAITemplate接口,完成查询AI模板功能。
接口参数和返回字段请参见GetAITemplate。调用示例如下:
import com.aliyuncs.vod.model.v20170321.GetAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.GetAITemplateResponse;
/**
* 查询AI模板
*/
public static GetAITemplateResponse getAITemplate(DefaultAcsClient client) throws Exception {
GetAITemplateRequest request = new GetAITemplateRequest();
// 设置模板ID
request.setTemplateId("1d763dd8987a122ab8596eb7d257****");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws Exception {
// 初始化客户端
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 获取执行结果
GetAITemplateResponse response = getAITemplate(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印模板信息
System.out.println("TemplateId:" + response.getTemplateInfo().getTemplateId());
System.out.println("TemplateType:" + response.getTemplateInfo().getTemplateType());
System.out.println("TemplateName:" + response.getTemplateInfo().getTemplateName());
System.out.println("TemplateConfig:" + response.getTemplateInfo().getTemplateConfig());
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}
查询AI模板列表
调用ListAITemplate接口,完成查询AI模板列表功能。
接口参数和返回字段请参见ListAITemplate。调用示例如下:
import com.aliyuncs.vod.model.v20170321.ListAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.ListAITemplateResponse;
/**
* 查询AI模板列表
*/
public static ListAITemplateResponse listAITemplate(DefaultAcsClient client) throws Exception {
ListAITemplateRequest request = new ListAITemplateRequest();
// 设置模板类型,以智能审核模板为例
request.setTemplateType("AIMediaAudit");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws Exception {
// 初始化客户端
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 查询结果
ListAITemplateResponse response = listAITemplate(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印模板信息
if (response.getTemplateInfoList() != null) {
for (ListAITemplateResponse.TemplateInfoListItem templateInfo : response.getTemplateInfoList()) {
System.out.println("================");
System.out.println("TemplateId:" + templateInfo.getTemplateId());
System.out.println("TemplateType:" + templateInfo.getTemplateType());
System.out.println("TemplateName:" + templateInfo.getTemplateName());
System.out.println("TemplateConfig:" + templateInfo.getTemplateConfig());
}
}
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}
设置默认AI模板
调用SetDefaultAITemplate接口,完成设置默认AI模板功能。
接口参数和返回字段请参见SetDefaultAITemplate。调用示例如下:
import com.aliyuncs.vod.model.v20170321.SetDefaultAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.SetDefaultAITemplateResponse;
/**
* 设置默认AI模板
*/
public static SetDefaultAITemplateResponse setDefaultAITemplate(DefaultAcsClient client) throws Exception {
SetDefaultAITemplateRequest request = new SetDefaultAITemplateRequest();
// 设置模板ID
request.setTemplateId("1d763dd8987a122ab8596eb757****");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws Exception {
// 初始化客户端
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 获取执行结果
SetDefaultAITemplateResponse response = setDefaultAITemplate(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印模板ID
System.out.println("TemplateId:" + response.getTemplateId());
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}
查询默认AI模板
调用GetDefaultAITemplate接口,完成查询默认AI模板功能。
接口参数和返回字段请参见GetDefaultAITemplate。调用示例如下:
import com.aliyuncs.vod.model.v20170321.GetDefaultAITemplateRequest;
import com.aliyuncs.vod.model.v20170321.GetDefaultAITemplateResponse;
/**
* 查询默认AI模板
*/
public static GetDefaultAITemplateResponse getDefaultAITemplate(DefaultAcsClient client) throws Exception {
GetDefaultAITemplateRequest request = new GetDefaultAITemplateRequest();
// 设置模板类型,以智能审核模板为例
request.setTemplateType("AIMediaAudit");
// 返回结果
return client.getAcsResponse(request);
}
/**
* 以下为调用示例
* @param args
* @throws ClientException
*/
public static void main(String[] args) throws Exception {
// 初始化客户端
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
try {
// 获取执行结果
GetDefaultAITemplateResponse response = getDefaultAITemplate(client);
// 打印请求ID
System.out.println("ResquestId:" + response.getRequestId());
// 打印模板信息
System.out.println("TemplateId:" + response.getTemplateInfo().getTemplateId());
System.out.println("TemplateType:" + response.getTemplateInfo().getTemplateType());
System.out.println("TemplateName:" + response.getTemplateInfo().getTemplateName());
System.out.println("IsDefault:" + response.getTemplateInfo().getIsDefault());
System.out.println("TemplateConfig:" + response.getTemplateInfo().getTemplateConfig());
} catch (Exception e) {
System.out.println("ErrorMessage:" + e.getLocalizedMessage());
}
}