Vision Check API

<b>An API for checking the context and authenticity of visual assets and managing those visionAnalyses</b>

The Compass Vision API provides users with an endpoint to analyze an image by submitting its URL, returning a confidence score indicating whether the image is a deep fake or AI-generated. Upon submitting the image URL, the API processes it using advanced AI detection algorithms to evaluate features commonly associated with manipulated or synthetically generated visuals.

The response will include a confidence score, where a higher score indicates a higher likelihood that the image is a deep fake or AI-generated. This API is ideal for use in content moderation, authenticity verification, and media analysis tools.

You can try these out in your browser with the OpenAPI Spec. Be sure to hit "Authorize 🔓" and enter your credentials first.

Download OpenAPI description
Languages
Servers
Mock server

https://docs.blackbird.ai/_mock/vision/

https://api.blackbird.ai/compass/

Create a new vision analysis

Request

Creates a new vision analysis. The resource isn't fully created immediately and you'll want to poll the /visionAnalyses/{id} GET for the result.

Security
clientCredentials or oAuth2Password
Headers
cache-controlstring

Whether to bypass the cached response. Requires permission to bypass the cache.

Value"no-cache"
Bodyapplication/jsonrequired
inputstring(url)required

The input to generate a vision analysis of. Images must have a minumum width and height of 200px and maximum width and height of 4000px. The following file formats are supported - PNG, JPEG, JPG, JPEG 2000, WebP, BMP, GIF, TIFF, TIF, DIB, ICO, EPS, PSD, PPM, PGM, PBM, PNM, TGA, XBM

Example: "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg"
optionsobject(VisionAnalysisOptions)
curl -i -X POST \
  https://docs.blackbird.ai/_mock/vision/visionAnalyses \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "input": "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg",
    "options": {
      "explain": true,
      "isVideo": false,
      "needFramesAnnotation": false,
      "framesAnnotationType": [
        "bounding_box",
        "heatmap"
      ]
    }
  }'

Responses

Vision analysis accepted for processing

Bodyapplication/json
idstringrequired

The ID of the vision analysis

Example: "7bf34023-641f-4191-a836-8cd4716266f3"
created_atstring(date-time)required

The datetime the vision analysis was created

Example: "2024-10-10T13:01:29.822Z"
updated_atstring(date-time)required

The datetime the vision analysis was last updated.

Example: "2024-10-10T13:01:29.822Z"
inputstring(url)required

The input to generate a vision analysis of

Example: "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg"
optionsobject(VisionAnalysisOptions)required
options.​explainbooleanrequired

Whether to explain the vision analysis result when there is anything worth explaining or not.

Default false
options.​isVideoboolean

Whether to use video analysis, requires an additional permission and is rate limited separately

Default false
options.​needFramesAnnotationboolean

Whether to annotate the frames of the video with a heatmap or bounding box.

Default false
options.​framesAnnotationTypeArray of strings(VisualizationType)

The type of annotation to apply to the frames of the video.

Items Enum"heatmap""bounding_box"
statusstringrequired

The status of the vision analysis generation

Value"processing"
Example: "processing"
Response
application/json
{ "id": "7bf34023-641f-4191-a836-8cd4716266f3", "created_at": "2024-10-10T13:01:29.822Z", "updated_at": "2024-10-10T13:01:29.822Z", "input": "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg", "options": { "explain": true, "isVideo": false, "needFramesAnnotation": true, "framesAnnotationType": [] }, "status": "processing" }

Gets all the vision analyses the caller has submitted.

Request

Note that the result is eventually consistent with creation of a visionAnalysis, so you might not read your own write when you query for all visionAnalyses

Security
clientCredentials or oAuth2Password
Query
startstring(date-time)

Filter vision analyses created after this date (inclusive with ascending sort order, exlusive with descending sort order)

endstring(date-time)

Filter vision analyses created before this date (exclusive with ascending sort order, inclusive with descending sort order)

offsetKeystring

The identifier for the offset to start at. Use the nextOffsetKey from the prior page to get the next page.

sortstring

The direction to sort vision analyses by created_at

Default "desc"
Enum"asc""desc"
curl -i -X GET \
  'https://docs.blackbird.ai/_mock/vision/visionAnalyses?end=2019-08-24T14%3A15%3A22Z&offsetKey=string&sort=asc&start=2019-08-24T14%3A15%3A22Z' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Vision Analyses found

Bodyapplication/json
dataArray of any(VisionAnalysis)required
data[].​idstringrequired

The ID of the vision analysis

Example: "7bf34023-641f-4191-a836-8cd4716266f3"
data[].​created_atstring(date-time)required

The datetime the vision analysis was created

Example: "2024-10-10T13:01:29.822Z"
data[].​updated_atstring(date-time)required

The datetime the vision analysis was last updated.

Example: "2024-10-10T13:01:29.822Z"
data[].​inputstring(url)required

The input to generate a vision analysis of

Example: "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg"
data[].​optionsobject(VisionAnalysisOptions)required
data[].​options.​explainbooleanrequired

Whether to explain the vision analysis result when there is anything worth explaining or not.

Default false
data[].​options.​isVideoboolean

Whether to use video analysis, requires an additional permission and is rate limited separately

Default false
data[].​options.​needFramesAnnotationboolean

Whether to annotate the frames of the video with a heatmap or bounding box.

Default false
data[].​options.​framesAnnotationTypeArray of strings(VisualizationType)

The type of annotation to apply to the frames of the video.

Items Enum"heatmap""bounding_box"
data[].​statusstringrequired

The status of the vision analysis generation

Value"processing"
Example: "processing"
Discriminator
nextOffsetKeystring

The offset key of the next page of data.

Response
application/json
{ "data": [ {} ], "nextOffsetKey": "string" }

Get input and analysis

Request

Retrieves the vision analysis with the input and the generated analysis around it

Security
clientCredentials or oAuth2Password
Path
idstringrequired

The ID of the vision analysis to retrieve.

Example: 914e5150-7a8c-40a7-b0d9-4738e9d31f9e
curl -i -X GET \
  https://docs.blackbird.ai/_mock/vision/visionAnalyses/914e5150-7a8c-40a7-b0d9-4738e9d31f9e \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Vision Analysis found

Bodyapplication/json
idstringrequired

The ID of the vision analysis

Example: "7bf34023-641f-4191-a836-8cd4716266f3"
created_atstring(date-time)required

The datetime the vision analysis was created

Example: "2024-10-10T13:01:29.822Z"
updated_atstring(date-time)required

The datetime the vision analysis was last updated.

Example: "2024-10-10T13:01:29.822Z"
inputstring(url)required

The input to generate a vision analysis of

Example: "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg"
optionsobject(VisionAnalysisOptions)required
options.​explainbooleanrequired

Whether to explain the vision analysis result when there is anything worth explaining or not.

Default false
options.​isVideoboolean

Whether to use video analysis, requires an additional permission and is rate limited separately

Default false
options.​needFramesAnnotationboolean

Whether to annotate the frames of the video with a heatmap or bounding box.

Default false
options.​framesAnnotationTypeArray of strings(VisualizationType)

The type of annotation to apply to the frames of the video.

Items Enum"heatmap""bounding_box"
statusstringrequired

The status of the vision analysis generation

Value"processing"
Example: "processing"
Discriminator
Response
application/json
{ "id": "7bf34023-641f-4191-a836-8cd4716266f3", "created_at": "2024-10-10T13:01:29.822Z", "updated_at": "2024-10-10T13:01:29.822Z", "input": "https://blackbird.ai/wp-content/uploads/2024/09/GU-BlknW0AA78y0-1.jpeg", "options": { "explain": true, "isVideo": false, "needFramesAnnotation": true, "framesAnnotationType": [] }, "status": "processing" }