All Products
Search
Document Center

Intelligent Media Services:Media asset review

Last Updated:Nov 28, 2024

This topic describes the sample code that is used to call API operations by using the server SDK to review media assets in Intelligent Media Services (IMS).

Sample code

You can use Alibaba Cloud OpenAPI Explorer to perform online debugging.

package com.aliyun.ice.sample;

import com.aliyun.ice20201109.Client;
import com.aliyun.ice20201109.models.*;
import com.aliyun.teaopenapi.models.Config;

public class Sample {

    public static void main(String[] args) throws Exception {

        // An AccessKey pair of an Alibaba Cloud account has access permissions on all API operations. We recommend that you use an AccessKey pair of a RAM user to call API operations or perform routine O&M. 
        // In this example, the AccessKey ID and AccessKey secret are obtained from the environment variables. For more information, visit https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials?spm=a3c0i.23458820.2359477120.17.332f6e9bDw0ggo.
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        Config config = new Config();
        config.setCredential(credentialClient);

        // To hard-code your AccessKey ID and AccessKey secret, use the following code. However, we recommend that you do not save the AccessKey ID and the AccessKey secret in your project code. Otherwise, the AccessKey pair may be leaked and the security of resources within your account may be compromised. 
        // config.accessKeyId = <yourAccessKeyId>;
        // config.accessKeySecret = <yourAccessKeySecret>;

        config.endpoint = "ice.cn-shanghai.aliyuncs.com";
        Client client = new Client(config);

        // Create a review template.
        String censorTemplateConfig = "{\"Scene\":[\"porn\",\"terrorism\"],\"Scope\":[\"title\",\"video\",\"audio\",\"cover\"]}";
        CreateCustomTemplateRequest createCustomTemplateRequest = new CreateCustomTemplateRequest()
            .setName("sdk_sample_censor_template")
            .setType(7)
            .setSubtype(1)
            .setTemplateConfig(censorTemplateConfig);
        CreateCustomTemplateResponse createCustomTemplateResponse = client.createCustomTemplate(createCustomTemplateRequest);
        String templateId = createCustomTemplateResponse.getBody().getCustomTemplate().getTemplateId();
        System.out.println("template id: " + templateId);

        // Initiate a review job.
        SubmitMediaCensorJobRequest submitMediaCensorJobRequest = new SubmitMediaCensorJobRequest()
            .setInput(new SubmitMediaCensorJobRequest.SubmitMediaCensorJobRequestInput()
                      .setType("Media")
                      .setMedia("3945e42d01823498****"))
            .setOutput("oss://testbucket/censor/snapshot-{Count}.jpg")
            .setTemplateId(templateId);
        SubmitMediaCensorJobResponse submitMediaCensorJobResponse = client.submitMediaCensorJob(submitMediaCensorJobRequest);
        String jobId = submitMediaCensorJobResponse.getBody().getJobId();
        System.out.println("job id: " + jobId);

        // Query the details of the review job.
        QueryMediaCensorJobDetailRequest queryMediaCensorJobDetailRequest = new QueryMediaCensorJobDetailRequest()
            .setJobId(jobId);
        QueryMediaCensorJobDetailResponse queryMediaCensorJobDetailResponse = client.queryMediaCensorJobDetail(queryMediaCensorJobDetailRequest);
        System.out.println("request id: " + queryMediaCensorJobDetailResponse.getBody().getRequestId());

        // Query the review job list.
        QueryMediaCensorJobListRequest queryMediaCensorJobListRequest = new QueryMediaCensorJobListRequest()
            .setJobIds(jobId);
        QueryMediaCensorJobListResponse queryMediaCensorJobListResponse = client.queryMediaCensorJobList(queryMediaCensorJobListRequest);
        System.out.println("request id: " + queryMediaCensorJobListResponse.getBody().getRequestId());
    }
}

Related API operations