智能媒体服务支持对媒资素材(视频、音频、图片)进行内容理解。用户可以根据实际需求对指定素材进行内容理解。通过阅读本文,您将了解调用OpenAPI进行内容理解的流程。
前提条件
基础使用
创建智能内容理解算法模板。
调用接口CreateCustomTemplate - 创建用户自定义模板,创建自定义AI智能分析模板。
示例代码:
#!/usr/bin/env python #coding=utf-8 import os from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkcore.auth.credentials import StsTokenCredential # Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']) # use STS Token # credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']) client = AcsClient(region_id='cn-xxx', credential=credentials) request = CommonRequest() request.set_accept_format('json') request.set_domain('ice.cn-xxx.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2020-11-09') request.set_action_name('CreateCustomTemplate') request.add_query_param('Name', "face_template_001") request.add_query_param('Type', "11") request.add_query_param('TemplateConfig', "{\"AnalyseTypes\":\"face\",\"FaceCategoryIds\":\"celebrity,politician,sensitive\"}") response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
提交智能内容理解任务。
调用接口SubmitSmarttagJob - 提交智能标签作业,提交智能内容理解任务。
示例代码:
#!/usr/bin/env python #coding=utf-8 import os, json from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkcore.auth.credentials import StsTokenCredential # Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']) # use STS Token # credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']) client = AcsClient(region_id='cn-xxx', credential=credentials) request = CommonRequest() request.set_accept_format('json') request.set_domain('ice.cn-xxx.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2020-11-09') request.set_action_name('SubmitSmarttagJob') request.add_query_param('Title', '人脸测试-001') input = { "Type": "URL", "Media": "https://xxx.jpeg" } request.add_query_param('Input', json.dumps(input)) request.add_query_param('TemplateId', "xxx") response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
查询任务结果。
调用接口QuerySmarttagJob - 智能标签任务查询接口, 查询智能内容理解任务。
示例代码:
#!/usr/bin/env python #coding=utf-8 import os, json from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkcore.auth.credentials import StsTokenCredential # Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']) # use STS Token # credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']) client = AcsClient(region_id='cn-xxx', credential=credentials) request = CommonRequest() request.set_accept_format('json') request.set_domain('ice.cn-xxx.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2020-11-09') request.set_action_name('QuerySmarttagJob') request.add_query_param('JobId', 'xxx') response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
进阶使用
创建自定义库。
调用接口CreateRecognitionLib - 创建自定义识别库,创建自定义识别库。
示例代码:
#!/usr/bin/env python #coding=utf-8 import os from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkcore.auth.credentials import StsTokenCredential # Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']) # use STS Token # credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']) client = AcsClient(region_id='cn-xxx', credential=credentials) request = CommonRequest() request.set_accept_format('json') request.set_domain('ice.cn-xxx.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2020-11-09') request.set_action_name('CreateRecognitionLib') request.add_query_param('Algorithm', 'face') request.add_query_param('LibName', 'face_lib_001') response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
创建自定义实体。
调用接口CreateRecognitionEntity - 创建自定义识别库中的待识别实体,在指定的自定义识别库中创建一个新的实体。
示例代码:
#!/usr/bin/env python #coding=utf-8 import os from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkcore.auth.credentials import StsTokenCredential # Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']) # use STS Token # credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']) client = AcsClient(region_id='cn-xxx', credential=credentials) request = CommonRequest() request.set_accept_format('json') request.set_domain('ice.cn-xxx.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2020-11-09') request.set_action_name('CreateRecognitionEntity') request.add_query_param('Algorithm', 'face') request.add_query_param('LibId', 'xxx') request.add_query_param('EntityName', '小帅') response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
创建自定义对象
调用接口CreateRecognitionSample - 注册自定义实体的识别样本,为指定的自定义实体添加识别样本图片或文本标签。
示例代码:
#!/usr/bin/env python #coding=utf-8 import os from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from aliyunsdkcore.auth.credentials import AccessKeyCredential from aliyunsdkcore.auth.credentials import StsTokenCredential # Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set. credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']) # use STS Token # credentials = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN']) client = AcsClient(region_id='cn-xxx', credential=credentials) request = CommonRequest() request.set_accept_format('json') request.set_domain('ice.cn-xxx.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') # https | http request.set_version('2020-11-09') request.set_action_name('CreateRecognitionSample') request.add_query_param('Algorithm', 'face') request.add_query_param('LibId', 'xxx') request.add_query_param('EntityId', 'xxx') request.add_query_param('ImageUrl', 'https://xxx.jpg') response = client.do_action(request) # python2: print(response) print(str(response, encoding = 'utf-8'))
创建内容理解算法模板。
与基础使用相同,需要根据需求输入分析类型的算子以及相应的自定义库ID(如人脸、地标、物体、logo、自定义标签等)。
提交智能内容理解任务。
与基础使用相同。
查询任务结果。
与基础使用相同。
该文章对您有帮助吗?