Skip to main content

Features V1 API

Extract important points and descriptors from your images.

Endpoint Specifications

POST https://vision.heimdallapp.org/vision/v1/api/features

Request Headers

  • x-api-key - API key that is issued when the endpoint is configured.
  • x-username - Username associated with your account.
tip

All request headers are required.

Lost Key

API Keys are issued one time and cannot be retrieved. If you lose your API key, please disable the endpoint in the vision page and reconfigure to get a new API key.

Request Body

  • file - The image file you want to analyze
warning

Valid images formats: .JPEG, .PNG, .GIF, .BMP, and .TIFF

Response Object

  • filename - The name of the file passed in

  • angles - A list of angles corresponding to the position of important points in the image. The x-axis of the image represents 0° and the y-axis represents 90°.

  • distances - A list of distances corresponding to the positions of important points in the image. Each element is the euclidean distance from the bottom left corner to the point.

  • descriptors - A list of values corresponding to the positions of important points in the image. Each element is an approximation of the change in color intensity of surrounding pixels.

Vision response object
{
"filename": "dog.jpeg",
"angles": [
50.648247373735266,
38.65980825409009,
23.629377730656817,
49.51398845800126,
40.85537625889571,
25.312883801874136,
38.23382517744694,
37.62623363866979,
37.775684305954655,
31.23921488820876,
51.91122711902468,
40.73210669970919,
37.874983651098205,
23.470993118160877,
40.97173633351486,
47.72631099390627,
23.629377730656817,
40.674939565261546,
36.656108415966905,
41.53177074108285,
29.64986350757558,
32.78428086586915,
54.904183212973884,
36.86989764584402,
30.018367427609085,
36.57303097851933,
31.29303899592019,
54.63753811293095,
29.407189060733653,
58.81502534126161
],
"distances": [
64.66065264130884,
102.44998779892558,
87.32124598286491,
64.68879346532906,
97.83659846908007,
81.85963596303125,
60.49714042828801,
60.60528029800704,
60.72758845862398,
71.34423592694787,
47.01063709417264,
95.01578816175763,
59.106694037139306,
82.85529554590944,
100.65783625729296,
64.22141698841594,
83.82839614355031,
101.26322135899095,
53.600373133029585,
93.50935782048768,
74.79304780526061,
70.178344238091,
45.221676218380054,
53.99999999999999,
74.83845001067299,
55.58474610898209,
71.6189918946085,
45.61578674099571,
75.76173176479007,
44.41846462902562
],
"descriptors": [
0.3984375,
0.4609375,
0.51953125,
0.53515625,
0.4296875,
0.453125,
0.62890625,
0.50390625,
0.59375,
0.390625,
0.37890625,
0.453125,
0.62890625,
0.453125,
0.41015625,
0.46875,
0.59765625,
0.5546875,
0.43359375,
0.49609375,
0.3984375,
0.41015625,
0.34765625,
0.53515625,
0.59375,
0.57421875,
0.5,
0.48828125,
0.53515625,
0.3671875
]
}
422 Unprocessable Entity

You will receieve a 422 error your request body structure is incorrect.

Sample Request

Use the below sample request in Python to get started.

warning

You need to fill in your specific header values.

Python Request
import requests

url = 'https://vision.heimdallapp.org/vision/v1/api/features'
headers = {
'X-api-key': 'YOUR-API-KEY',
'X-username': 'YOUR-USERNAME',
}

files = {
'file': ('image.jpg', open('/Users/joelreji/Desktop/dog.jpeg', 'rb'), 'image/jpeg')
}

response = requests.post(url, headers=headers, json=data)