Custom Image Recognition API

Recognize and automate your images

Histological image
Normal cell
Histological image
Abnormal cell
Type of stripes
Horizontal
Type of stripes
Vertical
Type of stripes
Diagonal
Is there a swimming pool?
Yes
Is there a swimming pool?
No
Surveillance cameras
Empty
Surveillance cameras
Normal
Surveillance cameras
Suspicious
Home scene
Living room
Home scene
Bedroom
Home scene
Kitchen
Home scene
Bathroom
Explore use cases

Powerful artificial intelligence. Made easy.

High accuracy

Use deep learning algorithms with the highest accuracy on the market.

Simple setup and use

Implement cutting-edge vision automation faster with no development costs.

Recognize anything

Train custom neural network to recognize your specific images.

Training interface

Create powerful and custom image recognizers in intuitive web interface.

Scalable

Scale up easily with no infrastructure costs.

Always improving

We always improve the underlying machine learning algorithms so you are up-to-date.

Contact us

Intuitive interface

User interface to create, manage and deploy your custom image recognition models. No machine learning or coding knowledge required.

See the app

Setup in 5 minutes

1

Define

Define your categories and upload sample images.

2

Train

Custom neural network is trained. Preview the results right away.

3

Recognize

Send us an image and recognize it with your custom neural network.

Use cases

Explore where custom image recognition API helps across industries.

Developers first

We take care of the complexity behind and wrap it in a few lines of code.

see documentation

curl -H "Content-Type: application/json" -H "authorization: Token __API_TOKEN__" https://api.ximilar.com/recognition/v2/classify -d '{"task_id": "__TASK_ID__", "records": [ {"_url": "__URL__" }, {"_base64": "__BASE_64_"} ] }'import requests
import json
import base64

url = 'https://api.ximilar.com/recognition/v2/classify/'

with open("__IMAGE_PATH__", "rb") as image_file:
    encoded_string = base64.b64encode(image_file.read()).decode("utf-8")

records = [{'_base64': encoded_string}, {'_url': '__URL_PATH__'}]
data = {'task_id': '__TASK_ID__', 'records': records}

headers = {
    'authorization': "Token __API_TOKEN__",
    'content-type': "application/json"
}

response = requests.request("POST", url, data=json.dumps(data), headers=headers)

print(response)
print(response.text)
$curl_handle = curl_init("https://api.ximilar.com/recognition/v2/classify");

$data = [
  'task_id' => '__TASK_ID__',
  'records' => [
    [ '_base64' => base64_encode(file_get_contents($filename)) ],
    [ '_url' => '__URL_PATH__']
  ]
];

curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_handle, CURLOPT_FAILONERROR, true);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 35); // timeout
curl_setopt($curl_handle, CURLOPT_TIMEOUT, 35); //timeout in seconds

curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array(
  "Content-Type: application/json",
  "Authorization: Token __API_TOKEN__",
  "cache-control: no-cache",)
);

$response = curl_exec($curl_handle);
$error_response = curl_error($curl_handle);

// This is very important to catch error
if ($error_response != "") {
  echo("Something happen during the request\n");
  echo($error_response."\n");
  return null;
}
curl_close ($curl_handle);

$data = json_decode($response, TRUE);
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.ximilar.com/recognition/v2/classify',
  headers: {
    authorization: 'Token __API_TOKEN__',
    'content-type': 'application/json'
  },
  body: {
    records: [
      {
        _url: '__URL_PATH__'
      }
    ],
    task_id: '__TASK_ID__'
  },
  json: true
};

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

  console.log(body);
});
// Use https://kong.github.io/unirest-java/ open-source library.

HttpResponse response = Unirest.post("https://api.ximilar.com/recognition/v2/classify")
.header("Authorization", "Token __API_TOKEN__")
.header("content-type", "application/json")
.body("{\"records\":[{\"_url\":\"__URL_PATH__\"}],\"task_id\": \"__TASK_ID__\"}")
.asString();// Use http://restsharp.org/ open-source library.

var client = new RestClient("https://api.ximilar.com/recognition/v2/classify");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Token __API_TOKEN__");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"records\":[{\"_url\":\"__URL_PATH__\"}],\"task_id\": \"__TASK_ID__\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.ximilar.com/recognition/v2/classify")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Token __API_TOKEN__'
request["content-type"] = 'application/json'
request.body = "{\"records\":[{\"_url\":\"__URL_PATH__\"}],\"task_id\": \"__TASK_ID__\"}"

response = http.request(request)
puts response.read_body

Need more? We can assist you.

If you can't train your custom recognition and you want to use prepared recognition models, need visual search in your collection of images or simply anything else in the area of computer vision & machine learning — we are here to help.

Vize is just the beginning. Ximilar handles the universe of possibilites.

Visit Ximilar