curl --request GET \
--url https://backend.identifai.net/api/classification/{identifier} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://backend.identifai.net/api/classification/{identifier}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://backend.identifai.net/api/classification/{identifier}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://backend.identifai.net/api/classification/{identifier}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://backend.identifai.net/api/classification/{identifier}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://backend.identifai.net/api/classification/{identifier}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://backend.identifai.net/api/classification/{identifier}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"hash": "<string>",
"identifier": "<string>",
"api_version": "<string>",
"status": "new",
"errors": "<string>",
"name": "<string>",
"ref_id": "<string>",
"result_url": "<string>",
"is_nsfw": true,
"c2pa": {
"manifests": {},
"active_manifest": "<string>",
"validation_state": "Valid",
"validation_status": [
{
"url": "<string>",
"code": "<string>",
"explanation": "<string>"
}
],
"validation_results": {
"activeManifest": {
"failure": [
{}
],
"success": [
{}
],
"informational": [
{}
]
},
"ingredientDeltas": [
{}
]
}
},
"has_heatmap": true,
"verdict": {
"heuristic": "<string>",
"confidence": 123,
"classification": "human",
"models": [
"<string>"
]
},
"verdicts": [
{
"heuristic": "<string>",
"confidence": 123,
"classification": "human",
"models": [
"<string>"
]
}
],
"force_classification": "human",
"results": [
{
"model": "<string>",
"unknown": true,
"elapsed_time": 123,
"classification": [
{
"label": "human",
"score": 123
}
],
"classification_details": {}
}
],
"details": [
{
"detections": [
{
"box": {
"x1": 123,
"x2": 123,
"y1": 123,
"y2": 123
},
"results": [
{
"model": "<string>",
"unknown": true,
"elapsed_time": 123,
"classification": [
{
"label": "<string>",
"score": 123
}
],
"classification_details": {
"confidence": 123
}
}
],
"verdict": {
"heuristic": "<string>",
"confidence": 123,
"classification": "<string>"
}
}
]
}
]
}{
"error": "Unauthorized"
}{
"error": "Forbidden"
}{
"message": "Too Many Attempts."
}Get single image classification result
Retrieve the classification result for a specific image.
Note: This endpoint also has an alias available at /api/classification_image/{identifier}.
curl --request GET \
--url https://backend.identifai.net/api/classification/{identifier} \
--header 'X-Api-Key: <api-key>'import requests
url = "https://backend.identifai.net/api/classification/{identifier}"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://backend.identifai.net/api/classification/{identifier}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://backend.identifai.net/api/classification/{identifier}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://backend.identifai.net/api/classification/{identifier}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://backend.identifai.net/api/classification/{identifier}")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://backend.identifai.net/api/classification/{identifier}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"hash": "<string>",
"identifier": "<string>",
"api_version": "<string>",
"status": "new",
"errors": "<string>",
"name": "<string>",
"ref_id": "<string>",
"result_url": "<string>",
"is_nsfw": true,
"c2pa": {
"manifests": {},
"active_manifest": "<string>",
"validation_state": "Valid",
"validation_status": [
{
"url": "<string>",
"code": "<string>",
"explanation": "<string>"
}
],
"validation_results": {
"activeManifest": {
"failure": [
{}
],
"success": [
{}
],
"informational": [
{}
]
},
"ingredientDeltas": [
{}
]
}
},
"has_heatmap": true,
"verdict": {
"heuristic": "<string>",
"confidence": 123,
"classification": "human",
"models": [
"<string>"
]
},
"verdicts": [
{
"heuristic": "<string>",
"confidence": 123,
"classification": "human",
"models": [
"<string>"
]
}
],
"force_classification": "human",
"results": [
{
"model": "<string>",
"unknown": true,
"elapsed_time": 123,
"classification": [
{
"label": "human",
"score": 123
}
],
"classification_details": {}
}
],
"details": [
{
"detections": [
{
"box": {
"x1": 123,
"x2": 123,
"y1": 123,
"y2": 123
},
"results": [
{
"model": "<string>",
"unknown": true,
"elapsed_time": 123,
"classification": [
{
"label": "<string>",
"score": 123
}
],
"classification_details": {
"confidence": 123
}
}
],
"verdict": {
"heuristic": "<string>",
"confidence": 123,
"classification": "<string>"
}
}
]
}
]
}{
"error": "Unauthorized"
}{
"error": "Forbidden"
}{
"message": "Too Many Attempts."
}Authorizations
Your API key.
Path Parameters
The identifier of the image.
Response
The classification result.
The answer for image classification
SHA-256 hash of the classified image file
The identifier that identifies the classified image
The API version at the time of the analysis (available from v1.1.0). The value is set when the analysis completes.
The processing status of the classification request (available from v1.1.0)
new, done, errored Error messages if the status is 'errored' (available from v1.1.0)
The name of the classified image file
An optional reference ID to associate with the classification request.
URL where the classification results can be found on the dashboard
Indicates if NSFW (Not Safe For Work) content was detected. Only present if with_nsfw was set to true in the classification request.
Coalition for Content Provenance and Authenticity information that certifies the source and history of media content. Contains manifests, validation results, and signature information. Null if the image doesn't contain C2PA metadata.
Show child attributes
Show child attributes
If the image has an AI content heatmap. The heatmap png can be retrieved from the specific endpoint /api/classification/heatmap/{identifier}.
The main classification verdict using the user's default heuristic
Show child attributes
Show child attributes
Array of verdicts for all available heuristics
Show child attributes
Show child attributes
If present, indicates that the user has forced the classification to the specified value
human, artificial Detailed classification results from each AI detection model
Show child attributes
Show child attributes
Details about object detection inside the image
Show child attributes
Show child attributes