> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gcore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get AI task result

> This is the single method to check the execution status of an AI task, and obtain the result of any type of AI task.


Based on the results of processing, the “result” field will contain an answer corresponding to the type of the initially created task:
- ASR: Transcribe video
- ASR: Translate subtitles
- CM: Sports detection
- CM: Not Safe For Work (NSFW) content detection
- CM: Soft nudity detection
- CM: Hard nudity detection
- CM: Objects recognition (soon)
- etc... (see other methods from /ai/ domain)

  


A queue is used to process videos. The waiting time depends on the total number of requests in the system, so sometimes you will have to wait.

Statuses:
- RECEIVED – the task is accepted by the system
- PENDING – the task is received and it is pending for available resources
- STARTED – processing has started
- SUCCESS – processing has completed successfully
- FAILURE – processing failed
- REVOKED – processing was cancelled by the user (or the system)
- RETRY – the task execution failed due to internal reasons, the task is queued for re-execution (up to 3 times)

Each task is processed in sub-stages, for example, original language is first determined in a video, and then transcription is performed. In such cases, the video processing status may change from "STARTED" to "PENDING", and back. This is due to waiting for resources for a specific processing sub-stage. In this case, the overall percentage "progress" of video processing will reflect the full picture.

  


The result data is stored for 1 month, after which it is deleted.

  


For billing conditions see the corresponding methods in /ai/ domain. The task is billed only after successful completion of the task and transition to "SUCCESS" status.



## OpenAPI

````yaml /api-reference/services_docs_mintlify/streaming_api.yaml get /streaming/ai/tasks/{task_id}
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Streaming API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: a41613cd4a9e
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: AI
  - name: Broadcasts
  - name: Directories
  - name: Overlays
  - name: Players
  - name: Playlists
  - name: QualitySets
  - name: Restreams
  - name: Statistics
  - name: Streams
  - name: Subtitles
  - name: Videos
paths:
  /streaming/ai/tasks/{task_id}:
    get:
      tags:
        - AI
      summary: Get AI task result
      description: >-
        This is the single method to check the execution status of an AI task,
        and obtain the result of any type of AI task.



        Based on the results of processing, the “result” field will contain an
        answer corresponding to the type of the initially created task:

        - ASR: Transcribe video

        - ASR: Translate subtitles

        - CM: Sports detection

        - CM: Not Safe For Work (NSFW) content detection

        - CM: Soft nudity detection

        - CM: Hard nudity detection

        - CM: Objects recognition (soon)

        - etc... (see other methods from /ai/ domain)

          


        A queue is used to process videos. The waiting time depends on the total
        number of requests in the system, so sometimes you will have to wait.


        Statuses:

        - RECEIVED – the task is accepted by the system

        - PENDING – the task is received and it is pending for available
        resources

        - STARTED – processing has started

        - SUCCESS – processing has completed successfully

        - FAILURE – processing failed

        - REVOKED – processing was cancelled by the user (or the system)

        - RETRY – the task execution failed due to internal reasons, the task is
        queued for re-execution (up to 3 times)


        Each task is processed in sub-stages, for example, original language is
        first determined in a video, and then transcription is performed. In
        such cases, the video processing status may change from "STARTED" to
        "PENDING", and back. This is due to waiting for resources for a specific
        processing sub-stage. In this case, the overall percentage "progress" of
        video processing will reflect the full picture.

          


        The result data is stored for 1 month, after which it is deleted.

          


        For billing conditions see the corresponding methods in /ai/ domain. The
        task is billed only after successful completion of the task and
        transition to "SUCCESS" status.
      operationId: get_ai_task
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
          description: >-
            ID of the task to get status of execution or result. This value is
            taken from the response of the initial AI task creation method.
      responses:
        '200':
          description: Result of AI task execution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ai_results'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notfound'
        '422':
          description: >-
            This is advanced functionality; to enable it, contact your manager
            or the Support Team.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/upgraderequired'
components:
  schemas:
    ai_results:
      allOf:
        - $ref: '#/components/schemas/ai_task_base'
        - type: object
          properties:
            result:
              type: object
              anyOf:
                - $ref: '#/components/schemas/ai_results_transcribe'
                - $ref: '#/components/schemas/ai_results_contentmoderation_sport'
                - $ref: '#/components/schemas/ai_results_contentmoderation_nsfw'
                - $ref: '#/components/schemas/ai_results_contentmoderation_hardnudity'
                - $ref: '#/components/schemas/ai_results_contentmoderation_softnudity'
                - $ref: '#/components/schemas/ai_results_failure'
              nullable: true
              default: null
      example:
        task_id: aafe70c6-0000-0000-0000-327b65f7670f
        task_data:
          url: >-
            https://demo-public.gvideo.io/videos/2675_TVKIqpTO7tEFoFg/qid5774v1_h264_450_360.mp4
          category: sport
          client_id: 2675
          task_name: content-moderation
        progress: 100
        status: SUCCESS
        processing_time:
          started_at: '2024-07-13T12:30:00.000Z'
          completed_at: '2024-07-13T12:31:02.900Z'
          total_time_sec: 62.901
        result:
          sport_detected: true
          detection_results:
            - shooting goal (soccer)
            - playing cricket
          frames:
            - label: shooting goal (soccer)
              frame_number: 68
              confidence: 1
            - label: playing cricket
              frame_number: 728
              confidence: 0.99
    notfound:
      allOf:
        - $ref: '#/components/schemas/badrequest'
        - example:
            status: 404
            error: >-
              Not Found. Entity you are looking for was not found, please check
              the initial parameters
    upgraderequired:
      type: object
      properties:
        error:
          type: string
          description: >-
            This is advanced functionality; to enable it, contact your manager
            or support service.
      example:
        error: Feature is disabled. Contact support to enable.
    ai_task_base:
      type: object
      required:
        - task_id
        - task_data
        - progress
        - status
        - processing_time
      properties:
        task_id:
          type: string
          format: uuid
          description: ID of the AI task
        status:
          type: string
          description: >-
            Status of processing the AI task. See GET /ai/tasks/{`task_id`}
            method for description.
          enum:
            - PENDING
            - STARTED
            - SUCCESS
            - FAILURE
            - RECEIVED
            - REVOKED
            - RETRY
        progress:
          type: integer
          default: null
          description: >-
            Percentage of task completed. A value greater than 0 means that it
            has been taken into operation and is being processed.
        processing_time:
          $ref: '#/components/schemas/ai_task_processing_time'
        task_data:
          oneOf:
            - $ref: '#/components/schemas/ai_transcribe'
            - $ref: '#/components/schemas/ai_contentmoderation_nsfw'
            - $ref: '#/components/schemas/ai_contentmoderation_hardnudity'
            - $ref: '#/components/schemas/ai_contentmoderation_softnudity'
            - $ref: '#/components/schemas/ai_contentmoderation_sport'
          description: >-
            The object will correspond to the task type that was specified in
            the original request. There will be one object for transcription,
            another for searching for nudity, and so on.
    ai_results_transcribe:
      type: object
      required:
        - speech_detected
      properties:
        speech_detected:
          type: boolean
          description: >-
            Determines whether speech was detected or not.


            Please note: If the task is in "SUCCESS" status and speech was not
            found in the entire file, then "false" will be indicated here and
            the ```subtitles``` field will be empty.
        concatenated_text:
          type: string
          description: >-
            Full text of the analyzed video. The value is unstructured,
            unformatted text.
        subtitles:
          type: array
          items:
            type: object
            properties:
              start_time:
                type: string
                description: >-
                  Start time of the phrase when it is heard in the video. Format
                  is "HH:mm:ss.fff".
              end_time:
                type: string
                description: >-
                  End time of the phrase, when it ends in the video. Format is
                  "HH:mm:ss.fff".
              text:
                type: string
                description: >-
                  A complete phrase that sounds during a specified period of
                  time.
          description: >-
            An array of phrases divided into time intervals, in the format
            "json". Suitable when you need to display the result in chronometric
            form, or transfer the text for further processing.
        vttContent:
          type: string
          description: Auto generated subtitles in WebVTT format.
        languages:
          type: array
          items:
            type: string
          description: >-
            An array of language codes that were discovered and/or used in
            transcription. If the audio or subtitle language was explicitly
            specified in the initial parameters, it will be copied here. For
            automatic detection the identified languages will be displayed here.
            Also please note that for multilingual audio, the first 5 languages
            are displayed in order of frequency of use.
      example:
        concatenated_text: >-
          Come on team, we mustn't dilly dally when there's so much nature to
          see!  I was thinking, we should call our class project, Fungi in a
          Forest!
        subtitles:
          - start_time: '00:00:00.009'
            end_time: '00:00:03.689'
            text: >-
              Come on team, we mustn't dilly dally when there's so much nature
              to see!
          - start_time: '00:00:04.129'
            end_time: '00:00:08.169'
            text: >-
              I was thinking, we should call our class project, Fungi in a
              Forest!
        vttContent: >-
          WEBVTT 1 00:00:00.009 --> 00:00:03.689 Come on team, we mustn't dilly
          dally when there's so much nature to see!

          2 00:00:04.129 --> 00:00:08.169 I was thinking, we should call our
          class project, Fungi in a Forest!
        languages:
          - eng
    ai_results_contentmoderation_sport:
      type: object
      required:
        - sport_detected
        - detection_results
        - frames
      properties:
        sport_detected:
          type: boolean
          description: A boolean value whether any sports were detected
        detection_results:
          type: array
          items:
            type: string
            description: Array of detected sports
            enum:
              - archery
              - arm wrestling
              - playing badminton
              - playing baseball
              - basketball dunk
              - bowling
              - boxing punch
              - boxing speed bag
              - catching or throwing baseball
              - catching or throwing softball
              - cricket
              - curling
              - disc golfing
              - dodgeball
              - fencing
              - football
              - golf chipping
              - golf driving
              - golf putting
              - hitting baseball
              - hockey stop
              - ice skating
              - javelin throw
              - juggling soccer ball
              - kayaking
              - kicking field goal
              - kicking soccer ball
              - playing cricket
              - playing field hockey
              - playing ice hockey
              - playing kickball
              - playing lacrosse
              - playing ping pong
              - playing polo
              - playing squash or racquetball
              - playing tennis
              - playing volleyball
              - pole vault
              - riding a bike
              - riding or walking with horse
              - roller skating
              - rowing
              - sailing
              - shooting goal (soccer)
              - skateboarding
              - skiing
        frames:
          type: array
          items:
            $ref: '#/components/schemas/ai_contentmoderation_frame'
      example:
        sport_detected: true
        detection_results:
          - shooting goal (soccer)
          - playing cricket
        frames:
          - label: shooting goal (soccer)
            frame_number: 68
            confidence: 1
          - label: playing cricket
            frame_number: 728
            confidence: 0.99
    ai_results_contentmoderation_nsfw:
      type: object
      required:
        - nsfw_detected
        - detection_results
        - frames
      properties:
        nsfw_detected:
          type: boolean
          description: A boolean value whether any Not Safe For Work content was detected
        detection_results:
          type: array
          items:
            type: string
            description: Array of detected category
            enum:
              - nsfw
        frames:
          type: array
          items:
            $ref: '#/components/schemas/ai_contentmoderation_frame'
      example:
        nsfw_detected: true
        detection_results:
          - nsfw
        frames:
          - frame_number: 6
            label: nsfw
            confidence: 1
          - frame_number: 100
            label: nsfw
            confidence: 0.51
    ai_results_contentmoderation_hardnudity:
      type: object
      required:
        - nudity_detected
        - detection_results
        - frames
      properties:
        nudity_detected:
          type: boolean
          description: A boolean value whether any nudity was detected
        detection_results:
          type: array
          items:
            type: string
            description: Array of detected nudity category
            enum:
              - ANUS_EXPOSED
              - BUTTOCKS_EXPOSED
              - FEMALE_BREAST_EXPOSED
              - FEMALE_GENITALIA_EXPOSED
              - MALE_BREAST_EXPOSED
              - MALE_GENITALIA_EXPOSED
        frames:
          type: array
          items:
            $ref: '#/components/schemas/ai_contentmoderation_frame'
      example:
        nudity_detected: true
        detection_results:
          - FEMALE_BREAST_EXPOSED
          - MALE_GENITALIA_EXPOSED
        frames:
          - frame_number: 6
            label: FEMALE_BREAST_EXPOSED
            confidence: 0.84
          - frame_number: 13
            label: MALE_GENITALIA_EXPOSED
            confidence: 0.58
    ai_results_contentmoderation_softnudity:
      type: object
      required:
        - nudity_detected
        - detection_results
        - frames
      properties:
        nudity_detected:
          type: boolean
          description: A boolean value whether any nudity and other body part was detected
        detection_results:
          type: array
          items:
            type: string
            description: Array of detected nudity or body part category
            enum:
              - ANUS_COVERED
              - ANUS_EXPOSED
              - ARMPITS_COVERED
              - ARMPITS_EXPOSED
              - BELLY_COVERED
              - BELLY_EXPOSED
              - BUTTOCKS_COVERED
              - BUTTOCKS_EXPOSED
              - FACE_FEMALE
              - FACE_MALE
              - FEET_COVERED
              - FEET_EXPOSED
              - FEMALE_BREAST_COVERED
              - FEMALE_BREAST_EXPOSED
              - FEMALE_GENITALIA_COVERED
              - FEMALE_GENITALIA_EXPOSED
              - MALE_BREAST_EXPOSED
              - MALE_GENITALIA_EXPOSED
        frames:
          type: array
          items:
            $ref: '#/components/schemas/ai_contentmoderation_frame'
      example:
        nudity_detected: true
        detection_results:
          - FACE_FEMALE
          - BELLY_EXPOSED
        frames:
          - frame_number: 6
            label: FACE_FEMALE
            confidence: 0.82
          - frame_number: 6
            label: BELLY_EXPOSED
            confidence: 0.71
    ai_results_failure:
      type: object
      required:
        - error
      properties:
        error:
          type: string
      example:
        error: 'Unsupported file type: https://domain.com/video.zip'
    badrequest:
      type: object
      properties:
        status:
          type: integer
          description: Error number
        error:
          type: string
          description: Error message
      example:
        status: 400
        error: >-
          Bad Request response status code indicates that the server cannot or
          will not process the request due to something that is perceived to be
          a client error (for example, malformed request syntax, invalid request
          message framing, or deceptive request routing).
    ai_task_processing_time:
      type: object
      properties:
        started_at:
          type: string
          format: date-time
          description: Video processing start time. Format is date time in ISO 8601
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: Video processing end time. Format is date time in ISO 8601
          default: null
        total_time_sec:
          type: number
          format: decimal
          nullable: true
          description: Duration of video processing in seconds
          default: null
    ai_transcribe:
      title: AI transcription task data
      type: object
      required:
        - url
        - task_name
      properties:
        task_name:
          type: string
          description: Name of the task to be performed
          enum:
            - transcription
        url:
          type: string
          description: >-
            URL to the MP4 file to analyze. File must be publicly accessible via
            HTTP/HTTPS.
        client_id:
          type: integer
          readOnly: true
          description: Client ID associated with the task.
        audio_language:
          type: string
          description: >-
            Language in original audio (transcription only). This value is used
            to determine the language from which to transcribe.


            If this is not set, the system will run auto language identification
            and the subtitles will be in the detected language. The method also
            works based on AI analysis. It's fairly accurate, but if it's wrong,
            then set the language explicitly.


            Additionally, when this is not set, we also support recognition of
            alternate languages in the video (language code-switching).


            Language is set by 3-letter language code according to ISO-639-2
            (bibliographic code). 


            We can process languages:

            - 'afr': Afrikaans

            - 'alb': Albanian

            - 'amh': Amharic

            - 'ara': Arabic

            - 'arm': Armenian

            - 'asm': Assamese

            - 'aze': Azerbaijani

            - 'bak': Bashkir

            - 'baq': Basque

            - 'bel': Belarusian

            - 'ben': Bengali

            - 'bos': Bosnian

            - 'bre': Breton

            - 'bul': Bulgarian

            - 'bur': Myanmar

            - 'cat': Catalan

            - 'chi': Chinese

            - 'cze': Czech

            - 'dan': Danish

            - 'dut': Nynorsk

            - 'eng': English

            - 'est': Estonian

            - 'fao': Faroese

            - 'fin': Finnish

            - 'fre': French

            - 'geo': Georgian

            - 'ger': German

            - 'glg': Galician

            - 'gre': Greek

            - 'guj': Gujarati

            - 'hat': Haitian creole

            - 'hau': Hausa

            - 'haw': Hawaiian

            - 'heb': Hebrew

            - 'hin': Hindi

            - 'hrv': Croatian

            - 'hun': Hungarian

            - 'ice': Icelandic

            - 'ind': Indonesian

            - 'ita': Italian

            - 'jav': Javanese

            - 'jpn': Japanese

            - 'kan': Kannada

            - 'kaz': Kazakh

            - 'khm': Khmer

            - 'kor': Korean

            - 'lao': Lao

            - 'lat': Latin

            - 'lav': Latvian

            - 'lin': Lingala

            - 'lit': Lithuanian

            - 'ltz': Luxembourgish

            - 'mac': Macedonian

            - 'mal': Malayalam

            - 'mao': Maori

            - 'mar': Marathi

            - 'may': Malay

            - 'mlg': Malagasy

            - 'mlt': Maltese

            - 'mon': Mongolian

            - 'nep': Nepali

            - 'dut': Dutch

            - 'nor': Norwegian

            - 'oci': Occitan

            - 'pan': Punjabi

            - 'per': Persian

            - 'pol': Polish

            - 'por': Portuguese

            - 'pus': Pashto

            - 'rum': Romanian

            - 'rus': Russian

            - 'san': Sanskrit

            - 'sin': Sinhala

            - 'slo': Slovak

            - 'slv': Slovenian

            - 'sna': Shona

            - 'snd': Sindhi

            - 'som': Somali

            - 'spa': Spanish

            - 'srp': Serbian

            - 'sun': Sundanese

            - 'swa': Swahili

            - 'swe': Swedish

            - 'tam': Tamil

            - 'tat': Tatar

            - 'tel': Telugu

            - 'tgk': Tajik

            - 'tgl': Tagalog

            - 'tha': Thai

            - 'tib': Tibetan

            - 'tuk': Turkmen

            - 'tur': Turkish

            - 'ukr': Ukrainian

            - 'urd': Urdu

            - 'uzb': Uzbek

            - 'vie': Vietnamese

            - 'wel': Welsh

            - 'yid': Yiddish

            - 'yor': Yoruba
          default: null
        subtitles_language:
          type: string
          description: >-
            Indicates which language it is clearly necessary to translate into.

            If this is not set, the original language will be used from
            attribute "audio_language".


            Please note that:

            - transcription into the original language is a free procedure,

            - and translation from the original language into any other
            languages is a "translation" procedure and is paid. More details in
            [POST
            /streaming/ai/tasks](/api-reference/streaming/ai/create-ai-task).

            Language is set by 3-letter language code according to ISO-639-2
            (bibliographic code).
          default: null
        client_user_id:
          type: string
          maxLength: 256
          default: null
          description: >-
            Meta parameter, designed to store your own identifier. Can be used
            by you to tag requests from different end-users. It is not used in
            any way in video processing.
        client_entity_data:
          type: string
          maxLength: 4096
          default: null
          description: >-
            Meta parameter, designed to store your own extra information about a
            video entity: video source, video id, etc. It is not used in any way
            in video processing.


            For example, if an AI-task was created automatically when you
            uploaded a video with the AI auto-processing option (transcribing,
            translation), then the ID of the associated video for which the task
            was performed will be explicitly indicated here.
      example:
        url: https://demo-files.gvideo.io/apidocs/spritefright-blender-cut30sec.mp4
        task_name: transcription
        audio_language: ger
    ai_contentmoderation_nsfw:
      title: AI Content Moderation NSFW task data
      type: object
      required:
        - url
        - task_name
        - category
      properties:
        task_name:
          type: string
          description: Name of the task to be performed
          enum:
            - content-moderation
        url:
          type: string
          description: >-
            URL to the MP4 file to analyze. File must be publicly accessible via
            HTTP/HTTPS.
        client_id:
          type: integer
          readOnly: true
          description: Client ID associated with the task.
        category:
          type: string
          enum:
            - nsfw
          description: AI content moderation with NSFW detection algorithm
        client_user_id:
          type: string
          maxLength: 256
          default: null
          description: >-
            Meta parameter, designed to store your own identifier. Can be used
            by you to tag requests from different end-users. It is not used in
            any way in video processing.
        client_entity_data:
          type: string
          maxLength: 4096
          default: null
          description: >-
            Meta parameter, designed to store your own extra information about a
            video entity: video source, video id, etc. It is not used in any way
            in video processing.


            For example, if an AI-task was created automatically when you
            uploaded a video with the AI auto-processing option (nudity
            detection, etc), then the ID of the associated video for which the
            task was performed will be explicitly indicated here.
      example:
        url: https://demo-files.gvideo.io/ai_demo_subtitles_nudity_detection.mp4
        task_name: content-moderation
        category: nsfw
    ai_contentmoderation_hardnudity:
      title: AI Content Moderation hard nudity task data
      type: object
      required:
        - url
        - task_name
        - category
      properties:
        task_name:
          type: string
          description: Name of the task to be performed
          enum:
            - content-moderation
        url:
          type: string
          description: >-
            URL to the MP4 file to analyze. File must be publicly accessible via
            HTTP/HTTPS.
        client_id:
          type: integer
          readOnly: true
          description: Client ID associated with the task.
        category:
          type: string
          enum:
            - hard_nudity
          description: AI content moderation with "hard_nudity" algorithm
        stop_objects:
          type: string
          enum:
            - ANUS_EXPOSED
            - BUTTOCKS_EXPOSED
            - FEMALE_BREAST_EXPOSED
            - FEMALE_GENITALIA_EXPOSED
            - MALE_BREAST_EXPOSED
            - MALE_GENITALIA_EXPOSED
          description: >-
            Comma separated objects, and probabilities, that will cause the
            processing to stop immediately after finding.
        client_user_id:
          type: string
          maxLength: 256
          default: null
          description: >-
            Meta parameter, designed to store your own identifier. Can be used
            by you to tag requests from different end-users. It is not used in
            any way in video processing.
        client_entity_data:
          type: string
          maxLength: 4096
          default: null
          description: >-
            Meta parameter, designed to store your own extra information about a
            video entity: video source, video id, etc. It is not used in any way
            in video processing.


            For example, if an AI-task was created automatically when you
            uploaded a video with the AI auto-processing option (nudity
            detection, etc), then the ID of the associated video for which the
            task was performed will be explicitly indicated here.
      example:
        url: https://demo-files.gvideo.io/ai_demo_subtitles_nudity_detection.mp4
        task_name: content-moderation
        category: hard_nudity
        stop_objects: >-
          FEMALE_GENITALIA_EXPOSED,FEMALE_BREAST_EXPOSED:0.50,BUTTOCKS_EXPOSED:0.90
    ai_contentmoderation_softnudity:
      title: AI Content Moderation soft nudity task data
      type: object
      required:
        - url
        - task_name
        - category
      properties:
        task_name:
          type: string
          description: Name of the task to be performed
          enum:
            - content-moderation
        url:
          type: string
          description: >-
            URL to the MP4 file to analyze. File must be publicly accessible via
            HTTP/HTTPS.
        client_id:
          type: integer
          readOnly: true
          description: Client ID associated with the task.
        category:
          type: string
          enum:
            - soft_nudity
          description: AI content moderation with "soft_nudity" algorithm
        stop_objects:
          type: string
          enum:
            - ANUS_COVERED
            - ANUS_EXPOSED
            - ARMPITS_COVERED
            - ARMPITS_EXPOSED
            - BELLY_COVERED
            - BELLY_EXPOSED
            - BUTTOCKS_COVERED
            - BUTTOCKS_EXPOSED
            - FACE_FEMALE
            - FACE_MALE
            - FEET_COVERED
            - FEET_EXPOSED
            - FEMALE_BREAST_COVERED
            - FEMALE_BREAST_EXPOSED
            - FEMALE_GENITALIA_COVERED
            - FEMALE_GENITALIA_EXPOSED
            - MALE_BREAST_EXPOSED
            - MALE_GENITALIA_EXPOSED
          description: >-
            Comma separated objects, and probabilities, that will cause the
            processing to stop immediately after finding.
        client_user_id:
          type: string
          maxLength: 256
          default: null
          description: >-
            Meta parameter, designed to store your own identifier. Can be used
            by you to tag requests from different end-users. It is not used in
            any way in video processing.
        client_entity_data:
          type: string
          maxLength: 4096
          default: null
          description: >-
            Meta parameter, designed to store your own extra information about a
            video entity: video source, video id, etc. It is not used in any way
            in video processing.


            For example, if an AI-task was created automatically when you
            uploaded a video with the AI auto-processing option (nudity
            detection, etc), then the ID of the associated video for which the
            task was performed will be explicitly indicated here.
      example:
        url: https://demo-files.gvideo.io/ai_demo_subtitles_nudity_detection.mp4
        task_name: content-moderation
        category: soft_nudity
        stop_objects: BELLY_COVERED:0.9,FEMALE_GENITALIA_COVERED
    ai_contentmoderation_sport:
      title: AI Content Moderation sport task data
      type: object
      required:
        - url
        - task_name
        - category
      properties:
        task_name:
          type: string
          description: Name of the task to be performed
          enum:
            - content-moderation
        url:
          type: string
          description: >-
            URL to the MP4 file to analyze. File must be publicly accessible via
            HTTP/HTTPS.
        client_id:
          type: integer
          readOnly: true
          description: Client ID associated with the task.
        category:
          type: string
          enum:
            - sport
          description: AI content moderation with types of sports activity detection
        client_user_id:
          type: string
          maxLength: 256
          default: null
          description: >-
            Meta parameter, designed to store your own identifier. Can be used
            by you to tag requests from different end-users. It is not used in
            any way in video processing.
        client_entity_data:
          type: string
          maxLength: 4096
          default: null
          description: >-
            Meta parameter, designed to store your own extra information about a
            video entity: video source, video id, etc. It is not used in any way
            in video processing.


            For example, if an AI-task was created automatically when you
            uploaded a video with the AI auto-processing option (nudity
            detection, etc), then the ID of the associated video for which the
            task was performed will be explicitly indicated here.
      example:
        url: >-
          https://demo-files.gvideo.io/ai_demo_soccer_players_passing_the_ball.mp4
        task_name: content-moderation
        category: sport
    ai_contentmoderation_frame:
      type: object
      required:
        - label
        - frame_number
        - confidence
      properties:
        label:
          type: string
          description: Type of detected object or activity
        frame_number:
          type: integer
          description: Video frame number where object or activity was found
        confidence:
          type: number
          format: decimal
          description: Probability of identifying the object or activity
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````