- A binder REST service for Azure Cognitive APIs.These Binder APIs can be called from both Mobile and Web applications using corresponding client libraries.
- Dockerfile is included which would help containerize the service and also can be used seamlessly with Azure Container Registry or Docker Cloud or running locally. This would help in local testing and then hosting in Azure as Web API (or any other hosting services)
- No need to send Storage account details as part of the request (although that option is open); these secured information can be in Azure Web API layer and service can read from process.env dictionary
- Server host address is kept at 0.0.0.0 - so that it can be accesses from containerized hosting solutions like Docker Swarm
URL - https://<host_server_details>
GET request body -
{ }
-
URL - https://<host_server_details>/face//detect
POST request body -{ "faceURL" : <FACE_IMAGE_URL>, // OR, "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/face/find
POST request body -{ "faceId" : <FACE_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/group
POST request body -{ "faceIds" : [<FACE_IDENTIFIER>], "options": <OPTION> }
-
URL - https://<host_server_details>/face/identify
POST request body -{ "faceIds" : [<FACE_IDENTIFIER>], "personGroupId" : [<PERSON_GROUP_IDENTIFIER>], "options": <OPTION> }
-
URL - https://<host_server_details>/face/verify
POST request body -{ "faceId1" : <FACE_IDENTIFIER_1>, "faceId2" : <FACE_IDENTIFIER_2>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/verify/personGroup
POST request body -{ "faceId" : <FACE_IDENTIFIER>, "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/create
PUT request body -{ "personGroupName" : <PERSON_GROUP_NAME>, "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/update
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/delete
DELETE request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/fetch
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/list
POST request body -{ "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/train
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/person/create
PUT request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personName" : <PERSON_NAME>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/person/update
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/person/delete
DELETE request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/person/fetch
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/person/list
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/personGroup/person/add
PUT request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "targetFace" : <TARGET_FACE_IDENTIFIER>, "imageData" : <BASE64_IMAGE_BYTES>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/add
PUT request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personGroupName" : <PERSON_GROUP_NAME>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/update
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "persistedFaceId" : <PERSISTENT_FACE_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/delete
DELETE request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "persistedFaceId" : <PERSISTENT_FACE_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/face/fetch
POST request body -{ "personGroupId" : <PERSON_GROUP_IDENTIFIER>, "personId" : <PERSON_IDENTIFIER>, "persistedFaceId" : <PERSISTENT_FACE_IDENTIFIER>, "options": <OPTION> }
-
URL - https://<host_server_details>/computerVision/ocr
POST request body -{ "detectOrientation" : <TRUE/FALSE>, "imageURL" : <IMAGE_URL>, // OR "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/computerVision/text
POST request body -{ "imageURL" : <IMAGE_URL>, // OR "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/computerVision/tags
POST request body -{ "imageURL" : <IMAGE_URL>, // OR "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/computerVision/thumbnails
POST request body -{ "imageWidth" : <IMAGE_WIDTH>, "imageHeight" : <IMAGE_HEIGHT>, "imageURL" : <IMAGE_URL>, // OR "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/computerVision/describe
POST request body -{ "imageURL" : <IMAGE_URL>, // OR "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/computerVision/analyze
POST request body -{ "imageURL" : <IMAGE_URL>, // OR "imageData" : <BASE64_IMAGE_BYTES> "options": <OPTION> }
-
URL - https://<host_server_details>/textAnalytics/language
POST request body -{ "input" : <LANGUAGE_INPUT>, "options": <OPTION> }
-
URL - https://<host_server_details>/textAnalytics/keyphrases
POST request body -{ "input" : <KEYPHRASE_INPUT>, "options": <OPTION> }
-
URL - https://<host_server_details>/textAnalytics/sentiment
POST request body -{ "input" : <SENTIMENT_INPUT>, "options": <OPTION> }