The asynchronous endpoint is preferred for users who are submitting their volume in large batches as well as tasks containing large files (i.e. longer videos or audio clips).

Submit your request using only one of the three keys below:

  • Use media to stream a file through the post request.
  • Use url to send us a url where we can download the file.
  • Use text_data to submit raw text.

The asynchronous endpoint immediately sends a response acknowledging receipt of the task, along with a unique ‘task_id’. It then closes the connection. A callback response via POST will be sent to your callback_url once the task is finished processing.

Appropriate for both Model-Only and Model + Manual Review projects.

  "id": "dd52c0d0-9ec7-11ea-98a3-4b92424b8366",
  "project_id": 18416,
  "metadata": null,
  "status": [
      "status": {
        "code": "0",
        "message": "SUCCESS"
      "response": {
        "input": {
          "hash": "a71690e72e5cabafc73dc2717818fc6d",
          "inference_client_version": "4.0.8",
          "model": "textmod_svs_2langs_release_test2",
          "model_type": "TEXT_CLASSIFICATION",
          "model_version": 1,
          "text": "\"test data \"",
          "id": "b9388470-a078-11ea-a390-db89c3c0393a",
          "created_on": "2020-05-28T00:18:15.223Z",
          "user_id": 6994,
          "project_id": 18416,
          "charge": "0.00100",
          "media": {
            "mimetype": null
          "config_version": 1,
          "config_tag": "default"
        "output": [
            "time": 0,
            "classes": [
                "class": "suggestive",
                "score": 0.0014467007812158782
                "class": "sexual",
                "score": 0.0030431869985264462
                "class": "no_sexual",
                "score": 0.9955101122202576
                "class": "self_harm",
                "score": 0.00024444394045842647
                "class": "violence",
                "score": 0.0006280777110160782
                "class": "no_violence",
                "score": 0.9991274783485254
                "class": "yes_spam",
                "score": 0.0007537542650119708
                "class": "no_spam",
                "score": 0.999246245734988
            "start_char_index": 0,
            "end_char_index": 18
  "resent_on": "2020-05-28T00:19:40.769Z",
  "resent_by": "manual",
  "from_cache": true


curl --request POST \
  --url \
  --header 'accept: application/json' \
  --header 'authorization: token <API_KEY>' \
  --form 'url=' \
  --form 'callback_url=!/3f2cca3e-d386-44d8-9548-63275021a443'
var request = require("request");

var options = {
  method: 'POST',
  url: '',
  headers: {
    accept: 'application/json',
    authorization: 'token <API_KEY>'
  form: {url:"",

request(options, function (error, response, body) {
  if (error) throw new Error(error);

import requests
url = ''
headers = {"authorization": "token <API_KEY>", "accept": "application/json"}
data = {'url': '', 'callback_url': '!/3f2cca3e-d386-44d8-9548-63275021a443'}
response ="", headers = headers, data = data)


  "message":"We received your task.",
"message":"Invalid Auth Method. 'Token' authentication required."
Form Data

Use this key to send a binary file through a post request.


Use this key to send your file using a publicly accessible url to a hosted media file.


Use text_data to submit raw text for text moderation projects.


Callback URL where Hive will post the response to.


User specified metadata the will be included in the callback response.


Project API Token from hive customer dashboard. Prepend with 'token'