Overview

Automate content moderation reduces the cost of your image, video, text, and voice moderation by accurately detecting inappropriate content.

Jarvis Moderator provides services through open application programming interfaces (APIs). You can obtain the inference result by calling APIs. It helps you build an intelligent service system and improves service efficiency.

  • A software tool such as curl and Postman

These are good options if you are more comfortable writing code, HTTP requests, and API calls. For details, see Using Postman to Call Jarvis.

Internationalization labels

The following content will be subject to review and detection to ensure compliance with relevant laws, regulations, and platform policies:

  1. Advertising: Detects malicious advertising and redirection content to prevent users from being led to unsafe or inappropriate sites.
  2. Violent Content: Detects violent or terrorist content to prevent the dissemination of harmful information.
  3. Political Content: Reviews political content to ensure that it does not involve sensitive or inflammatory political information.
  4. Specified Speech: Detects specified speech or voice content to identify and manage audio that meets certain conditions.
  5. Specified Lyrics: Detects specified lyrics content to prevent the spread of inappropriate or harmful lyrics.
  6. Sexual Content: Reviews content related to sexual behavior or sexual innuendo to protect users from inappropriate information.
  7. Moaning Sounds: Detects sounds related to sexual activity, such as moaning, to prevent the spread of such audio.
  8. Contraband: Identifies and blocks all illegal or prohibited content.
  9. Profane Language: Reviews and filters content containing profanity or vulgar language.
  10. Religious Content: Reviews religious content to avoid controversy or offense to specific religious beliefs.
  11. Cyberbullying: Detects cyberbullying behavior to prevent such content from harming users.
  12. Harmful or Inappropriate Content: Reviews and manages harmful or inappropriate content to maintain a safe and positive environment on the platform.
  13. Silent Audio: Detects silent audio content to identify and address potential technical issues or other anomalies.
  14. Customized Content: Allows users to define and review specific types of content according to business needs or compliance requirements.

This content will be thoroughly detected by our review system to ensure that all content on the platform meets the relevant standards and regulations.

Subscribing to the Service

NOTE: This service is available only to enterprise users now.

To subscribe to Jarvis Moderator, perform the following steps:

  1. Register an AKOOL account.
  2. Then click the picture icon in the upper right corner of the website, and click the “APl Credentials” function to set the key pair (clientId, clientSecret) used when accessing the API and save it.
  3. Use the secret key pair just saved to send the api interface to obtain the access token.

Jarvis Moderator

POST https://openapi.akool.com/api/open/v3/content/analysis/sentiment

Request Headers

ParameterValueDescription
AuthorizationBearer tokenYour API Key used for request authorization. You can get from https://openapi.akool.com/api/open/v3/getToken api.

Body Attributes

ParameterTypeValueDescription
contentStringurl or text, when the content is a image, video, or audio, a url must be provided. When the content provided is text, it can be either text content or a url.
typeNumber1: image 2:video 3: auido 4: text
languageStringWhen type=2 or 3 or 4, it is best to provide the language to ensure the accuracy of the results。 Supplying the input language in ISO-639-1 format
webhookUrlStringCallback url address based on HTTP request.
inputStringOptionalThe user defines the content to be detected in words
We restrict image to 20MB. we currently support PNG (.png), JPEG (.jpeg and .jpg), WEBP (.webp), and non-animated GIF (.gif).
We restrict audio to 25MB, 60minute. we currently support .flac, .mp3, .mp4, .mpeg, .mpga, .m4a, .ogg, .wav, .webm
We restrict video to 1024MB, resolution limited to 1080p. we currently support .mp4, .avi
When the content provided is text, it can be either text content or a url. If it is url, we currently support .txt, .docx, .xml, .pdf, .csv, .md, .json

Response Attributes

ParameterTypeValueDescription
codeint1000Interface returns business status code(1000:success)
msgStringInterface returns status information
dataObject{ "_id": "", "status": 1 }_id: Interface returns data, status: the status of video: [1:queueing, 2:processing, 3:completed, 4:failed]

Example

Body

{
   
    "type":1,   // 1:image 2:video 3: auido 4:text
    "content":"https://drz0f01yeq1cx.cloudfront.net/1714023431475-food.jpg",
    "webhookUrl":"http://localhost:3004/api/v3/webhook"
}

Request

Response

{
    "code": 1000,
    "msg": "OK",
    "data": {
        "create_time": 1710757900382,
        "uid": 101690,
        "type": 1,
        "status": 1,   // current status of content: 【1:queueing(The requested operation is being processed),2:processing(The requested operation is being processing),3:completed(The request operation has been processed successfully),4:failed(The request operation processing failed)】
        "webhookUrl": "http://localhost:3007/api/open/v3/test/webhook",
        "result": "",
        "_id": "65f8180c24d9989e93dde3b6",
        "__v": 0
    }
}

Get analysis Info Result

GET https://openapi.akool.com/api/open/v3/content/analysis/infobyid?_id=662df7928ee006bf033b64bf

Request Headers

ParameterValueDescription
AuthorizationBearer tokenYour API Key used for request authorization. You can get from https://openapi.akool.com/api/open/v3/getToken api.

Query Attributes

ParameterTypeValueDescription
_idStringNULLvideo db id: You can get it based on the _id field returned by https://openapi.akool.com/api/open/v3/content/analysis/sentiment .

Response Attributes

ParameterTypeValueDescription
codeint1000Interface returns business status code(1000:success)
msgStringOKInterface returns status information
dataObject{ status:1, _id:"", result:"", final_conclusion: "" }video_status: the status of video:【1:queueing, 2:processing, 3:completed, 4:failed】 result: sentiment analysis result【Related information returned by the detection content】 final_conclusion: final conclusion.【Non-Compliant、Compliant、Unknown】 _id: Interface returns data

Example

Request

Response


{
    "code": 1000,
    "msg": "OK",
    "data": {
        "_id": "662e20b93baa7aa53169a325",
        "uid": 100002,
        "status": 3,
        "result": "- violence: Presence of a person holding a handgun, which can be associated with violent content.\nResult: Non-Compliant",
        "final_conclusion" :"Non-Compliant"   // Non-Compliant、Compliant、Unknown
    }
}

Response Code Description

Please note that if the value of the response code is not equal to 1000, the request is failed or wrong
ParameterValueDescription
code1000Success
code1003Parameter error or Parameter can not be empty
code1008The content you get does not exist
code1009You do not have permission to operate
code1101Invalid authorization or The request token has expired
code1102Authorization cannot be empty
code1200The account has been banned
code1201create audio error, please try again later
code1202The same video cannot be translated lipSync in the same language more than 1 times
code1203video should be with audio