Skip to main content
GET
/
api
/
classification
/
{identifier}
Get an image classification result
curl --request GET \
  --url https://backend.identifai.net/api/classification/{identifier} \
  --header 'X-Api-Key: <api-key>'
{
  "hash": "862bb7de43b131a38b64753269d643443a21069a04ab66a56c9818956f590cb9",
  "name": "car-c2pa.png",
  "identifier": "2acb569d8d10cfa2a024c61275ae5cadc5ce27cd5e4e050514828f74d477344d",
  "c2pa": {
    "manifests": {
      "urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a": {
        "label": "urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a",
        "title": "image.png",
        "assertions": [],
        "ingredients": [
          {
            "label": "c2pa.ingredient.v3",
            "title": "image.png",
            "format": "png",
            "thumbnail": {
              "format": "image/jpeg",
              "identifier": "self#jumbf=c2pa.assertions/c2pa.thumbnail.ingredient.jpeg"
            },
            "instance_id": "xmp:iid:b4388c4a-1e5d-465d-a2a9-cd0f88fb8032",
            "relationship": "componentOf",
            "active_manifest": "urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29",
            "validation_results": {
              "activeManifest": {
                "failure": [],
                "success": [
                  {
                    "url": "self#jumbf=/c2pa/urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29/c2pa.signature",
                    "code": "claimSignature.insideValidity",
                    "explanation": "claim signature valid"
                  },
                  {
                    "url": "self#jumbf=/c2pa/urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29/c2pa.signature",
                    "code": "claimSignature.validated",
                    "explanation": "claim signature valid"
                  },
                  {
                    "url": "self#jumbf=/c2pa/urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29/c2pa.assertions/c2pa.actions.v2",
                    "code": "assertion.hashedURI.match",
                    "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.actions.v2"
                  },
                  {
                    "url": "self#jumbf=/c2pa/urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29/c2pa.assertions/c2pa.hash.data",
                    "code": "assertion.hashedURI.match",
                    "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.data"
                  },
                  {
                    "url": "self#jumbf=/c2pa/urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29/c2pa.assertions/c2pa.hash.data",
                    "code": "assertion.dataHash.match",
                    "explanation": "data hash valid"
                  }
                ],
                "informational": []
              }
            }
          }
        ],
        "instance_id": "xmp:iid:c3317a88-93db-4f66-bd4f-49d8a2ab1818",
        "signature_info": {
          "alg": "Es256",
          "issuer": "OpenAI",
          "common_name": "Truepic Lens CLI in ChatGPT",
          "cert_serial_number": "631872854730012650133502748526736898092667640635"
        },
        "claim_generator_info": [
          {
            "name": "ChatGPT",
            "org.cai.c2pa_rs": "0.51.1"
          }
        ]
      },
      "urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29": {
        "label": "urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29",
        "title": "image.png",
        "assertions": [
          {
            "data": {
              "actions": [
                {
                  "action": "c2pa.created",
                  "softwareAgent": {
                    "name": "GPT-4o"
                  },
                  "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"
                },
                {
                  "action": "c2pa.converted",
                  "softwareAgent": {
                    "name": "OpenAI API"
                  }
                }
              ]
            },
            "label": "c2pa.actions.v2"
          }
        ],
        "ingredients": [],
        "instance_id": "xmp:iid:f4d01265-a89f-48d6-af40-05e4b917c969",
        "signature_info": {
          "alg": "Es256",
          "issuer": "OpenAI",
          "common_name": "Truepic Lens CLI in ChatGPT",
          "cert_serial_number": "631872854730012650133502748526736898092667640635"
        },
        "claim_generator_info": [
          {
            "name": "ChatGPT",
            "org.cai.c2pa_rs": "0.51.1"
          }
        ]
      }
    },
    "active_manifest": "urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a",
    "validation_state": "Invalid",
    "validation_status": [
      {
        "url": "urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a",
        "code": "assertion.action.malformed",
        "explanation": "first action must be created or opened"
      }
    ],
    "validation_results": {
      "activeManifest": {
        "failure": [
          {
            "url": "urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a",
            "code": "assertion.action.malformed",
            "explanation": "first action must be created or opened"
          }
        ],
        "success": [
          {
            "url": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.signature",
            "code": "claimSignature.insideValidity",
            "explanation": "claim signature valid"
          },
          {
            "url": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.signature",
            "code": "claimSignature.validated",
            "explanation": "claim signature valid"
          },
          {
            "url": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.assertions/c2pa.thumbnail.ingredient.jpeg",
            "code": "assertion.hashedURI.match",
            "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.thumbnail.ingredient.jpeg"
          },
          {
            "url": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.assertions/c2pa.ingredient.v3",
            "code": "assertion.hashedURI.match",
            "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.ingredient.v3"
          },
          {
            "url": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.assertions/c2pa.hash.data",
            "code": "assertion.hashedURI.match",
            "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.data"
          },
          {
            "url": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.assertions/c2pa.hash.data",
            "code": "assertion.dataHash.match",
            "explanation": "data hash valid"
          }
        ],
        "informational": []
      },
      "ingredientDeltas": [
        {
          "validationDeltas": {
            "failure": [],
            "success": [
              {
                "url": "self#jumbf=/c2pa/urn:c2pa:3671d220-66c3-48e5-942b-2c64acff7a29",
                "code": "ingredient.manifest.validated",
                "explanation": "ingredient hash matched"
              }
            ],
            "informational": []
          },
          "ingredientAssertionURI": "self#jumbf=/c2pa/urn:c2pa:1992f560-3cde-43be-80a9-245d50908f7a/c2pa.assertions/c2pa.ingredient.v3"
        }
      ]
    }
  },
  "verdict": {
    "heuristic": "AverageExcludeObsolete",
    "confidence": 0.99,
    "classification": "artificial"
  },
  "verdicts": [
    {
      "heuristic": "Majority",
      "confidence": 0.99,
      "classification": "artificial"
    },
    {
      "heuristic": "Average",
      "confidence": 0.99,
      "classification": "artificial"
    },
    {
      "heuristic": "AverageExcludeObsolete",
      "confidence": 0.99,
      "classification": "artificial"
    },
    {
      "heuristic": "AverageExclude10",
      "confidence": 0.99,
      "classification": "artificial"
    },
    {
      "heuristic": "AverageExclude20",
      "confidence": 0.99,
      "classification": "artificial"
    },
    {
      "heuristic": "AverageExclude30",
      "confidence": 0.99,
      "classification": "artificial"
    },
    {
      "heuristic": "TopRelevant",
      "confidence": 0.99,
      "classification": "artificial"
    }
  ],
  "results": [
    {
      "model": "Revelio IV",
      "unknown": false,
      "elapsed_time": 0.1473182961344719,
      "classification": [
        {
          "label": "human",
          "score": 0.0009116290648347168
        },
        {
          "label": "artificial",
          "score": 0.9990883709351652
        }
      ],
      "classification_details": {
        "confidence": 1,
        "performance": [
          {
            "name": "classification",
            "value": 0.1473182961344719
          }
        ],
        "original_human": 0.0000634667070542605,
        "max_human_label": "human openimages",
        "original_artificial": 0.9999365332929456,
        "unknown_probability": 0,
        "max_artificial_label": "artificial midjourney-7"
      }
    },
    {
      "model": "Ellen",
      "unknown": true,
      "elapsed_time": 0.24114228785037992,
      "classification": [
        {
          "label": "human",
          "score": 0.7540364670416652
        },
        {
          "label": "artificial",
          "score": 0.0006817721681612588
        }
      ],
      "classification_details": {
        "confidence": 1,
        "performance": [
          {
            "name": "classification",
            "value": 0.24114228785037992
          }
        ],
        "original_human": 0.9187774434685708,
        "max_human_label": "human",
        "original_artificial": 0.08122255653142929,
        "unknown_probability": 0.2452817607901736,
        "max_artificial_label": "artificial"
      }
    },
    {
      "model": "Ardē",
      "unknown": false,
      "elapsed_time": 0,
      "classification": [
        {
          "label": "human",
          "score": 0.17435741424560547
        },
        {
          "label": "artificial",
          "score": 0.8256425857543945
        }
      ],
      "classification_details": {
        "originalClassification": {
          "model": "Ardē (Revelio IV heatmap)",
          "labels": [],
          "unknown": false,
          "confidence": 1,
          "performance": [],
          "classification": [
            {
              "label": "human",
              "score": 0.0007051279838531377
            },
            {
              "label": "artificial",
              "score": 0.9992948720161468
            }
          ]
        }
      }
    }
  ],
  "has_heatmap": true
}

Authorizations

X-Api-Key
string
header
required

Your API key.

Path Parameters

identifier
string
required

The identifier of the image.

Response

The classification result.

The answer for image classification

hash
string

SHA-256 hash of the classified image file

identifier
string

The identifier that identifies the classified image

name
string

The name of the classified image file

c2pa
object

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.

has_heatmap
boolean

If the image has an AI content heatmap. The heatmap png can be retrieved from the specific endpoint /api/classification/heatmap/{identifier}.

verdict
object

The main classification verdict using the user's default heuristic

verdicts
object[]

Array of verdicts for all available heuristics

results
object[]

Detailed classification results from each AI detection model