Intelligent Media Services (IMS) lets you understand the content of media assets, such as videos, audio, and images. You can analyze specific assets as needed. This topic describes how to call OpenAPI operations to perform content understanding.
Prerequisites
IMS is activated. For more information, see Activate a service.
The IMS server-side software development kit (SDK) is installed. For more information, see SDK installation.
Basic usage
Create an intelligent content understanding algorithm template.
You can call the CreateCustomTemplate API operation to create a custom AI-based intelligent analysis template.
Sample code:
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config( credential=credential ) # For the endpoint, see https://api.aliyun.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_custom_template_request = ice20201109_models.CreateCustomTemplateRequest( name='face_template_001', template_config='{"AnalyseTypes":"face","FaceCategoryIds":"celebrity,politician,sensitive"}', type=11 ) runtime = util_models.RuntimeOptions() response = client.create_custom_template_with_options(create_custom_template_request, runtime) print(response)Submit an intelligent content understanding job.
You can call the SubmitSmarttagJob API operation to submit an intelligent content understanding job.
Sample code:
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config( credential=credential ) # For the endpoint, see https://api.aliyun.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) submit_smarttag_job_request_input = ice20201109_models.SubmitSmarttagJobRequestInput( type='URL', media='https://xxx.jpeg' ) submit_smarttag_job_request = ice20201109_models.SubmitSmarttagJobRequest( title='face_test-001', input=submit_smarttag_job_request_input, template_id='xxx' ) runtime = util_models.RuntimeOptions() response = client.submit_smarttag_job_with_options(submit_smarttag_job_request, runtime) print(response)Query the job result.
You can call the QuerySmarttagJob API operation to query the intelligent content understanding job.
Sample code:
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config( credential=credential ) # For the endpoint, see https://api.aliyun.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) query_smarttag_job_request = ice20201109_models.QuerySmarttagJobRequest( job_id='xxx' ) runtime = util_models.RuntimeOptions() response = client.query_smarttag_job_with_options(query_smarttag_job_request, runtime) print(response)
Advanced usage
Create a custom library.
You can call the CreateRecognitionLib API operation to create a custom recognition library.
Sample code:
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config( credential=credential ) # For the endpoint, see https://api.aliyun.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_recognition_lib_request = ice20201109_models.CreateRecognitionLibRequest( algorithm='face', lib_name='face_lib_001' ) runtime = util_models.RuntimeOptions() response = client.create_recognition_lib_with_options(create_recognition_lib_request, runtime) print(response)Create a custom entity.
You can call the CreateRecognitionEntity API operation to create a new entity in the specified custom recognition library.
Sample code:
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config( credential=credential ) # For the endpoint, see https://api.aliyun.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_recognition_entity_request = ice20201109_models.CreateRecognitionEntityRequest( algorithm='face', lib_id='xxx', entity_name='Xiao Shuai' ) runtime = util_models.RuntimeOptions() response = client.create_recognition_entity_with_options(create_recognition_entity_request, runtime) print(response)Create a custom object.
You can call the CreateRecognitionSample API operation to add a sample image or text tag for the specified custom entity.
Sample code:
# -*- coding: utf-8 -*- from alibabacloud_ice20201109.client import Client as ICE20201109Client from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ice20201109 import models as ice20201109_models from alibabacloud_tea_util import models as util_models # For production environments, use a more secure authentication method, such as RAM roles. For more information about how to configure credentials, see https://www.alibabacloud.com/help/document_detail/378659.html. credential = CredentialClient() config = open_api_models.Config( credential=credential ) # For the endpoint, see https://api.aliyun.com/product/ICE config.endpoint = 'ice.cn-xxx.aliyuncs.com' client = ICE20201109Client(config) create_recognition_sample_request = ice20201109_models.CreateRecognitionSampleRequest( algorithm='face', lib_id='xxx', entity_id='xxx', image_url='https://xxx.jpg' ) runtime = util_models.RuntimeOptions() response = client.create_recognition_sample_with_options(create_recognition_sample_request, runtime) print(response)Create a content understanding algorithm template.
This step is the same as in the basic usage section. You can also specify the analysis type operator and the corresponding custom library ID for items such as faces, landmarks, objects, logos, and custom tags.
Submit an intelligent content understanding job.
This step is the same as in the basic usage section.
Query the job result.
This step is the same as in the basic usage section.