Updated on 2025-07-02 GMT+08:00

Creating a Video Moderation Job

  1. This section describes how to create a video moderation job using the video moderation SDK and AK/SK.

    In the sample code, you can use withUrls of the RunCreateVideoModerationJobRequest class to configure the URL of the video to be reviewed (only the URL mode is supported). After the configuration is complete, run the code.

    package com.huaweicloud.sdk.test;
     
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.BasicCredentials;
    import com.huaweicloud.sdk.core.exception.ConnectionException;
    import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
    import com.huaweicloud.sdk.core.exception.ServiceResponseException;
    import com.huaweicloud.sdk.moderation.v3.region.ModerationRegion;
    import com.huaweicloud.sdk.moderation.v3.*;
    import com.huaweicloud.sdk.moderation.v3.model.*;
     
    import java.util.List;
    import java.util.ArrayList;
     
    public class RunCreateVideoModerationJobSolution {
     
        public static void main(String[] args) {
           // Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
           // In this example, the AK and SK are stored in environment variables for identity authentication. Before running this example, configure environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK.
            String ak = System.getenv("HUAWEICLOUD_SDK_AK");
            String sk = System.getenv("HUAWEICLOUD_SDK_SK");
     
            ICredential auth = new BasicCredentials()
                    .withAk(ak)
                    .withSk(sk);
     
            ModerationClient client = ModerationClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(ModerationRegion.valueOf("xxx")) //Replace xxx with the service region, for example, ap-southeast-3.
                    .build();
            RunCreateVideoModerationJobRequest request = new RunCreateVideoModerationJobRequest();
            VideoCreateRequest body = new VideoCreateRequest();
            List<VideoCreateRequest.AudioCategoriesEnum> listbodyAudioCategories = new ArrayList<>();
            listbodyAudioCategories.add(VideoCreateRequest.AudioCategoriesEnum.fromValue("porn"));
            List<VideoCreateRequest.ImageCategoriesEnum> listbodyImageCategories = new ArrayList<>();
            listbodyImageCategories.add(VideoCreateRequest.ImageCategoriesEnum.fromValue("porn"));
            VideoCreateRequestData databody = new VideoCreateRequestData();
            databody.withUrl("http://xxx.xx.xxxx")
                .withFrameInterval(5.5f);
            body.withCallback("http://xxx.xx.xxxx");
            body.withAudioCategories(listbodyAudioCategories);
            body.withImageCategories(listbodyImageCategories);
            body.withEventType(VideoCreateRequest.EventTypeEnum.fromValue("default"));
            body.withData(databody);
            request.withBody(body);
            try {
                RunCreateVideoModerationJobResponse response = client.runCreateVideoModerationJob(request);
                System.out.println(response.toString());
            } catch (ConnectionException e) {
                e.printStackTrace();
            } catch (RequestTimeoutException e) {
                e.printStackTrace();
            } catch (ServiceResponseException e) {
                e.printStackTrace();
                System.out.println(e.getHttpStatusCode());
                System.out.println(e.getErrorCode());
                System.out.println(e.getErrorMsg());
            }
        }
    }
  2. The console returns the submission result of the creation request and the video moderation job creation result.
    class RunCreateVideoModerationJobResponse {
        requestId: 5e353de1badd90049a2ac3d2e3ee925e
        jobId: 01663171200_48ce5a21498e47af8f2a49773c3d0fce
    }