edit

Skytells Computer Vision API

Overview

The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively.

API Details

Here are some details about this API.

Endpoint

The following endpoint for this API is

1
https://v.skytells.net

Your request must be sent to this endpoint using the secure protocol.

Node

The Node or (Namespace) for this API is

1
ai/vision

This API associated with the following Edges.

Edge Method Description
ai/vision/analyze GET - POST This node represents the (Cloud Classifier)

Requirements

  • Developer Account ( API Key )
  • An image (JPG, JPEG, PNG) URL
  • Skytells Credit (At least 0.09c)

Vision API Pricing

Enjoy our affordable pricing for AI features.

Limited

Currently we do not offer a free vision API access for your region.

Transactions Price Minimum Availability
0-5 per minute, 0-100 daily and 600 monthly FREE $0.00 NO
0-100 per minute, 0-5000 daily and 1M monthly 0,003c per transaction $15.00 YES
0-200 per minute, 0-15000 daily and 5M monthly 0,002c per transaction $50.00 YES

Understanding Parameters

When called from the command line or a script we will try to detect faces on submitted images and return a JSON response with all of the your image details.

Parameter Method Description
key GET This is your API key.
image GET - POST This Parameter should contains the URL of your image
feature GET an Optional parameter contains the requested features of the image processing
details GET an Optional parameter indicating which domain-specific details to return. Multiple values should be comma-separated.
Optional Features

A string indicating what visual feature types to return. Multiple values should be comma-separated. Valid visual feature types include:

Tip

All of the following features are enabled by default You can turn ON/OFF a feature if one of them being submitted.

Parameter Method Description
Categories GET categorizes image content according to a taxonomy defined in documentation.
Tags GET tags the image with a detailed list of words related to the image content.
Description GET describes the image content with a complete English sentence.
Faces GET detects if faces are present. If present, generate coordinates, gender and age.
ImageType GET detects if image is clipart or a line drawing.
Adult GET detects if the image is pornographic in nature (depicts nudity or a sex act). Sexually suggestive content is also detected.
Color GET determines the accent color, dominant color, and whether an image is black&white.

A string indicating which domain-specific details to return. Multiple values should be comma-separated.

Tip

All the following parameters are enabled by default.

Parameter Method Description
Landmarks GET identifies landmarks if detected in the image.
Celebrities GET identifies celebrities if detected in the image.

Analyze an Image

Takes a photo, finds the faces within it. To analyze an image via our AI, all you need to do is submit a JPG or PNG photo. You can submit the photo either as a publicly accessible URL.

Keep in Mind

Do not submit the Base64 encoded photo or as a file upload to our AI Classifier.

REQUEST

Node :

1
https://v.skytells.net/ai/vision/analyze

Request Content :

1
2
3
4
5
6
7
POST https://v.skytells.net/ai/vision/analyze HTTP/1.1
Content-Type: application/json
 key: {YOUR_API_KEY}
    {
      "image":" {IMAGE URL} ",
      "features":"String",
    }

Via HTTP

1
https://v.skytells.net/ai/vision/analyze?image={$IMAGE_URL}&features={FEATURES}&key={$YOUR_API_KEY}

Tip

You can perform this call also using our SDK.

Via our PHP SDK

1
2
3
<?php
$SkytellsClient = new SkytellsClient("API KEY");
$SkytellsClient->analyzeImage("URL");
RESPONSE
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
{
  "query": "analyze",
  "response": "success",
  "status": true,
  "classifier": [
    {
      "Id": "SKYAI-99883001",
      "Response": "success"
    }
  ],
  "data": {
    "categories": [
      {
        "name": "abstract_",
        "score": 0.00390625
      },
      {
        "name": "people_",
        "score": 0.83984375,
        "detail": {
          "celebrities": [
            {
              "name": "Satya Nadella",
              "faceRectangle": {
                "left": 597,
                "top": 162,
                "width": 248,
                "height": 248
              },
              "confidence": 0.999028444
            }
          ],
          "landmarks": [
            {
              "name": "Forbidden City",
              "confidence": 0.9978346
            }
          ]
        }
      }
    ],
    "adult": {
      "isAdultContent": false,
      "isRacyContent": false,
      "adultScore": 0.0934349000453949,
      "racyScore": 0.06861349195241928
    },
    "tags": [
      {
        "name": "person",
        "confidence": 0.9897908568382263
      },
      {
        "name": "man",
        "confidence": 0.9449388980865479
      },
      {
        "name": "outdoor",
        "confidence": 0.938492476940155
      },
      {
        "name": "window",
        "confidence": 0.8951393961906433
      }
    ],
    "description": {
      "tags": [
        "person",
        "man",
        "outdoor",
        "window",
        "glasses"
      ],
      "captions": [
        {
          "text": "Satya Nadella sitting on a bench",
          "confidence": 0.48293603002174407
        }
      ]
    },
    "requestId": "0dbec5ad-a3d3-4f7e-96b4-dfd57efe967d",
    "metadata": {
      "width": 1500,
      "height": 1000,
      "format": "Jpeg"
    },
    "faces": [
      {
        "age": 44,
        "gender": "Male",
        "faceRectangle": {
          "left": 593,
          "top": 160,
          "width": 250,
          "height": 250
        }
      }
    ],
    "color": {
      "dominantColorForeground": "Brown",
      "dominantColorBackground": "Brown",
      "dominantColors": [
        "Brown",
        "Black"
      ],
      "accentColor": "873B59",
      "isBWImg": false
    },
    "imageType": {
      "clipArtType": 0,
      "lineDrawingType": 0
    }
  },
  "transaction": {
    "Id": "AIT00914603882",
    "Method": "Skytells Credit"
  },
  "trace_id": "AI8199fEpLL2"
}

Vision API Examples

Here are a few examples to explain how our API works.

People

Now lets say we have an image contains a 3 faces, the following image if you well.

Now using CURL, we will perform the following request.

REQUEST

1
2
3
4
HTTP 1.1
$ curl -i -H "Accept: application/json" -H "Content-Type: application/json"
-X GET https://v.skytells.net/ai/vision/analyze?
        image={IMAGE}&key={YOUR_API_KEY}

RESPONSE

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{
  "query":"analyze",
  "response":"success",
  "status":true,
  "classifier":[
     {
      "Id":"SKYAI-99883001",
      "Response":"success"
     }
    ],
  "data":
        {
        "categories": [
          {
            "name": "people_group",
            "score": 0.7734375,
            "detail": {
              "celebrities": []
            }
          }
        ],
        "adult": {
          "isAdultContent": false,
          "isRacyContent": false,
          "adultScore": 0.012298825196921825,
          "racyScore": 0.019718395546078682
        },
        "tags": [
          {
            "name": "person",
            "confidence": 0.9966936111450195
          },
          {
            "name": "standing",
            "confidence": 0.7576133012771606
          }
        ],
        "description": {
          "tags": [
            "person",
            "building",
            "man",
            "standing",
            "table",
            "people",
            "front",
            "posing",
            "woman",
            "young",
            "group",
            "computer",
            "holding",
            "living",
            "room",
            "cake",
            "shirt",
            "food",
            "playing"
          ],
          "captions": [
            {
              "text": "a group of people standing in front of a building",
              "confidence": 0.9311306299299104
            }
          ]
        },
        "requestId": "ecf468a3-e259-4770-94c9-e3d7c8fd7672",
        "metadata": {
          "width": 1200,
          "height": 630,
          "format": "Jpeg"
        },
        "faces": [
          {
            "age": 37,
            "gender": "Male",
            "faceRectangle": {
              "left": 723,
              "top": 171,
              "width": 75,
              "height": 75
            }
          },
          {
            "age": 25,
            "gender": "Male",
            "faceRectangle": {
              "left": 526,
              "top": 220,
              "width": 72,
              "height": 72
            }
          },
          {
            "age": 35,
            "gender": "Male",
            "faceRectangle": {
              "left": 330,
              "top": 177,
              "width": 72,
              "height": 72
            }
          }
        ],
        "imageType": {
          "clipArtType": 0,
          "lineDrawingType": 0
        }
      },
      "transaction":{
        "Id":"AIT00914603882",
        "Method":"Skytells Credit"
      },
      "trace_id":"AI8199fEpLL2"
}

Landmarks

Now lets say we have an image contains a Landmark, the following image if you well.

Now using CURL, we will perform the following request.

REQUEST

1
2
3
4
HTTP 1.1
$ curl -i -H "Accept: application/json" -H "Content-Type: application/json"
-X GET https://v.skytells.net/ai/vision/analyze?
      image=https://image.ibb.co/eB6rFv/download.jpg&key={YOUR_API_KEY}

RESPONSE

DATA Contents.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
{
  "Landmarks": [
  {
    "mid": "/m/072p8",
    "description": "Statue of Liberty",
    "score": 0.8222367,
    "boundingPoly": {
      "vertices": [
        {
          "x": 124,
          "y": 110
        },
        {
          "x": 595,
          "y": 110
        },
        {
          "x": 595,
          "y": 376
        },
        {
          "x": 124,
          "y": 376
        }
      ]
    },
    "locations": [
      {
        "latLng": {
          "latitude": 40.718379,
          "longitude": -74.010944
        }
      }
    ]
  },
  {
    "mid": "/m/059rby",
    "description": "New York",
    "score": 0.7702056,
    "boundingPoly": {
      "vertices": [
        {
          "x": 186,
          "y": 123
        },
        {
          "x": 604,
          "y": 123
        },
        {
          "x": 604,
          "y": 349
        },
        {
          "x": 186,
          "y": 349
        }
      ]
    },
    "locations": [
      {
        "latLng": {
          "latitude": 40.69005,
          "longitude": -74.04463291168213
        }
      }
    ]
  },
  {
    "mid": "/m/072p8",
    "description": "Statue of Liberty",
    "score": 0.6997006,
    "boundingPoly": {
      "vertices": [
        {
          "x": 184,
          "y": 77
        },
        {
          "x": 584,
          "y": 77
        },
        {
          "x": 584,
          "y": 338
        },
        {
          "x": 184,
          "y": 338
        }
      ]
    },
    "locations": [
      {
        "latLng": {
          "latitude": 40.689261,
          "longitude": -74.044482
        }
      }
    ]
  }]
}

Vision API SDK

Please refer to our Resources to learn more.

Who uses Skytells Vision API

Skytells Vision API is deferent, Powerful, And Dynamic! That's why most of the big companies have chosen it.

Uddit, Inc.
Uddit is a very powerful social network platform built with Skytells Framework and uses Skytells Vision API.

Skytells Cloud
Skytells Cloud is a very powerful cloud system like the iCloud built with Skytells Framework and uses Skytells Vision & ML APIs.