:doc:`Rekognition <../../rekognition>` / Client / start_content_moderation

************************
start_content_moderation
************************



.. py:method:: Rekognition.Client.start_content_moderation(**kwargs)

  

  Starts asynchronous detection of inappropriate, unwanted, or offensive content in a stored video. For a list of moderation labels in Amazon Rekognition, see `Using the image and video moderation APIs <https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html#moderation-api>`__.

   

  Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use  Video to specify the bucket name and the filename of the video. ``StartContentModeration`` returns a job identifier ( ``JobId``) which you use to get the results of the analysis. When content analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in ``NotificationChannel``.

   

  To get the results of the content analysis, first check that the status value published to the Amazon SNS topic is ``SUCCEEDED``. If so, call  GetContentModeration and pass the job identifier ( ``JobId``) from the initial call to ``StartContentModeration``.

   

  For more information, see Moderating content in the Amazon Rekognition Developer Guide.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rekognition-2016-06-27/StartContentModeration>`_  


  **Request Syntax**
  ::

    response = client.start_content_moderation(
        Video={
            'S3Object': {
                'Bucket': 'string',
                'Name': 'string',
                'Version': 'string'
            }
        },
        MinConfidence=...,
        ClientRequestToken='string',
        NotificationChannel={
            'SNSTopicArn': 'string',
            'RoleArn': 'string'
        },
        JobTag='string'
    )
    
  :type Video: dict
  :param Video: **[REQUIRED]** 

    The video in which you want to detect inappropriate, unwanted, or offensive content. The video must be stored in an Amazon S3 bucket.

    

  
    - **S3Object** *(dict) --* 

      The Amazon S3 bucket name and file name for the video.

      

    
      - **Bucket** *(string) --* 

        Name of the S3 bucket.

        

      
      - **Name** *(string) --* 

        S3 object key name.

        

      
      - **Version** *(string) --* 

        If the bucket is versioning enabled, you can specify the object version.

        

      
    
  
  :type MinConfidence: float
  :param MinConfidence: 

    Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level lower than this specified value. If you don't specify ``MinConfidence``, ``GetContentModeration`` returns labels with confidence values greater than or equal to 50 percent.

    

  
  :type ClientRequestToken: string
  :param ClientRequestToken: 

    Idempotent token used to identify the start request. If you use the same token with multiple ``StartContentModeration`` requests, the same ``JobId`` is returned. Use ``ClientRequestToken`` to prevent the same job from being accidently started more than once.

    

  
  :type NotificationChannel: dict
  :param NotificationChannel: 

    The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the content analysis to. The Amazon SNS topic must have a topic name that begins with *AmazonRekognition* if you are using the AmazonRekognitionServiceRole permissions policy to access the topic.

    

  
    - **SNSTopicArn** *(string) --* **[REQUIRED]** 

      The Amazon SNS topic to which Amazon Rekognition posts the completion status.

      

    
    - **RoleArn** *(string) --* **[REQUIRED]** 

      The ARN of an IAM role that gives Amazon Rekognition publishing permissions to the Amazon SNS topic.

      

    
  
  :type JobTag: string
  :param JobTag: 

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use ``JobTag`` to group related jobs and identify them in the completion notification.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'JobId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **JobId** *(string) --* 

        The identifier for the content analysis job. Use ``JobId`` to identify the job in a subsequent call to ``GetContentModeration``.

        
  
  **Exceptions**
  
  *   :py:class:`Rekognition.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`Rekognition.Client.exceptions.IdempotentParameterMismatchException`

  
  *   :py:class:`Rekognition.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`Rekognition.Client.exceptions.InvalidS3ObjectException`

  
  *   :py:class:`Rekognition.Client.exceptions.InternalServerError`

  
  *   :py:class:`Rekognition.Client.exceptions.VideoTooLargeException`

  
  *   :py:class:`Rekognition.Client.exceptions.ProvisionedThroughputExceededException`

  
  *   :py:class:`Rekognition.Client.exceptions.LimitExceededException`

  
  *   :py:class:`Rekognition.Client.exceptions.ThrottlingException`

  