All Products
Search
Document Center

Intelligent Media Services:How to use AI to understand media asset content

Last Updated:Dec 04, 2025

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

  1. 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)
  2. 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)
  3. 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

  1. 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)
  2. 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)
  3. 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)
  4. 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.

  5. Submit an intelligent content understanding job.

    This step is the same as in the basic usage section.

  6. Query the job result.

    This step is the same as in the basic usage section.