API Documentation
Face Detection API
Face Detection For Single Face
POST
https://api.iapp.co.th/face_detect_single
This URL allows you to find a face on the image and also locates the bounding box and extracting the feature on the face.
Headers
Request Body
{
"bbox": {
"xmax": 336.96875,
"xmin": 0.8846354484558105,
"ymax": 485.84490966796875,
"ymin": 45.80070114135742
},
"detection_score": 0.9967709183692932,
"face": "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",
"message": "successfully performed",
"process_time": 0.9728856086730957
}
Parameter in Response
Sample Requests
//Use default score
curl --location --request POST 'https://api.iapp.co.th/face_detect_single' \
--header 'apikey: {Your API Key}' \
--form 'file=@"{Your Image File Path}"'
//Use score of each company
curl --location --request POST 'https://api.iapp.co.th/face_detect_single' \
--header 'apikey: {Your API Key}' \
--form 'file=@"{Your Image File Path}"'
--form 'company="{Your Company Name}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_detect_single")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Image File Path}"))
// Use score of each company
.field("company", "{Your Company Name}")
// Use default score
//.field("company", "{Your Company Name}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_detect_single',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Image File Path}'),
'options': {
'filename': '{Your Image File Name}'
'contentType': null
}
},
// Use score of each company
'company': '{Your Company Name}'
// Use default score
//'company': '{Your Company Name}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_detect_single"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Image File Path}" },
// Use score of each company
@{ @"name": @"company", @"value": @"{Your Company Name}" }
// Use default score
// @{ @"name": @"company", @"value": @"{Your Company Name}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_detect_single');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
// Use score of each company
$request->addPostParameter(array(
'company' => '{Your Company Name}'
));
// Use default score
//$request->addPostParameter(array(
// 'company' => '{Your Company Name}'
//));
$request->addUpload('file', '{Your Image File Path}', '{Your Image File Name}', '<Content-Type Header>');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.iapp.co.th/face_detect_single"
# Use score of each company
payload={'company': '{Your Company Name}'}
# Use default score
payload={}
files=[
('file',('{Your Image File Name}',open('{Your Image File Path}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Face Detection For Multiple Face
POST
https://api.iapp.co.th/face_detect_multi
This endpoint allows you to find faces on the image and also locates the bounding box and extracting the feature on the face.
Headers
Request Body
{
"message": "successfully performed",
"process_time": 4.195805549621582,
"result": [
{
"bbox": {
"xmax": 3232.673095703125,
"xmin": 2972.33984375,
"ymax": 1944.851318359375,
"ymin": 1592.1239013671875
},
"detection_score": 0.9998928308486938,
"face": "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",
}
]
}
Parameter in Response
Sample Requests
//Use default score
curl --location --request POST 'https://api.iapp.co.th/face_detect_multi' \
--header 'apikey: {Your API Key}' \
--form 'file=@"{Your Image File Path}"'
//Use score of each company
curl --location --request POST 'https://api.iapp.co.th/face_detect_multi' \
--header 'apikey: {Your API Key}' \
--form 'file=@"{Your Image File Path}"'
--form 'company="{Your Company Name}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_detect_multi")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Image File Path}"))
// Use score of each company
.field("company", "{Your Company Name}")
// Use default score
//.field("company", "{Your Company Name}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_detect_multi',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Image File Path}'),
'options': {
'filename': '{Your Image File Name}'
'contentType': null
}
}
// Use score of each company
,
'company': '{Your Company Name}'
// Use default score
//'company': '{Your Company Name}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_detect_multi"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Image File Path}" },
// Use score of each company
@{ @"name": @"company", @"value": @"{Your Company Name}" }
// Use default score
// @{ @"name": @"company", @"value": @"{Your Company Name}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_detect_multi');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
// Use score of each company
$request->addPostParameter(array(
'company' => '{Your Company Name}'
));
// Use default score
//$request->addPostParameter(array(
// 'company' => '{Your Company Name}'
//));
$request->addUpload('file', '{Your Image File Path}', '{Your Image File Name}', '<Content-Type Header>');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
url = "https://api.iapp.co.th/face_detect_multi"
# Use score of each company
payload={'company': '{Your Company Name}'}
# Use default score
payload={}
files=[
('file',('{Your Image File Name}',open('{Your Image File Path}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Face Detection Tool
Default Score Configuration
GET
https://api.iapp.co.th/face_config_score
This URL be for configure the default score of face detection for each company or check the default score
Query Parameters
Headers
{
"company": "iApp",
"detection_score": 0.99,
"message": "the minimum score of detection has configuration completed.",
}
{
"company": "iApp",
"detection_score": 0.98,
"message": "the minimum score has been successfully shown."
}
Parameter in Response
****
Sample Requests
// Configure Score
curl --location -g --request GET 'https://api.iapp.co.th/face_config_score?detection={Detection Value}&company={Your Company Name}&password={Your Company Password}' \
--header 'apikey: {Your API Key}'
// Show Score
curl --location -g --request GET 'https://api.iapp.co.th/face_config_score?detection&company={Your Company Name}&password={Your Company Password}' \
--header 'apikey: {Your API Key}'
Unirest.setTimeouts(0, 0);
// Configure Score
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_config_score?detection={Detection Value}&company={Your Company Name}&password={Your Company Password}")
.header("apikey", "{Your API Key}")
.multiPartContent()
.asString();
// Configure Score
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_config_score?detection&company={Your Company Name}&password={Your Company Password}")
.header("apikey", "{Your API Key}")
.multiPartContent()
.asString();
var request = require('request');
var options = {
'method': 'GET',
// Configure Score
'url': 'https://api.iapp.co.th/face_config_score?detection={Detection Value}&company={Your Company Name}&password={Your Company Password}',
// Configure Score
'url': 'https://api.iapp.co.th/face_config_score?detection&company={Your Company Name}&password={Your Company Password}',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
// Configure Score
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_config_score?detection={Detection Value}&company={Your Company Name}&password={Your Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
// Show Score
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_config_score?detection&company={Your Company Name}&password={Your Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
// Configure Score
$request->setUrl('https://api.iapp.co.th/face_config_score?detection={Detection Value}&company={Your Company Name}&password={Your Company Password}');
// Show Score
$request->setUrl('https://api.iapp.co.th/face_config_score?detection&company={Your Company Name}&password={Your Company Password}');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
import requests
# Configure Score
url = "https://api.iapp.co.th/face_config_score?detection={Detection Value}&company={Your Company Name}&password={Your Company Password}"
# Show Score
url = "https://api.iapp.co.th/face_config_score?detection&company={Your Company Name}&password={Your Company Password}"
payload={}
files={}
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("GET", url, headers=headers, data=payload, files=files)
print(response.text)
Last updated