ðĪ āļĢāļ°āļāļāļāļāļāļģāđāļāļŦāļāđāļē (Face Recognition)
āļĒāļīāļāļāļĩāļāđāļāļāļĢāļąāļāļŠāļđāđ Face Recognition API āļāļĨāļīāļāļ āļąāļāļāđ AI āļāļĩāđāļāļąāļāļāļēāđāļāļĒ āļāļĢāļīāļĐāļąāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ āļāļģāļāļąāļ API āļāļāļāđāļĢāļēāđāļāđāļĢāļąāļāļāļēāļĢāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļāļāļāļģāđāļāļŦāļāđāļēāđāļāļ āļēāļāļāđāļ§āļĒāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļ§āļēāļĄāđāļĢāđāļ§āļŠāļđāļ API āļĢāļāļāļĢāļąāļāļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāļāļąāđāļāđāļāļāđāļāļĩāđāļĒāļ§āđāļĨāļ°āđāļāļāļŦāļĨāļēāļĒāđāļāļŦāļāđāļēāļāļĢāđāļāļĄāļāļąāļ§āđāļĨāļ·āļāļāļāļēāļĢāđāļŦāđāļāļ°āđāļāļāļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļ
Visit our API Portal to test the Face Recognition API with your own images.
āđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļâ
-
āļāđāļāļāļģāļŦāļāļāđāļāļ·āđāļāļāļāđāļ
- API key āļāļēāļ āđāļāđāļāļāļāđāđāļāļāđāļāđāļĨāļĒāļĩ
- āđāļāļĨāđāļĢāļđāļāļ āļēāļāļāļĩāđāļĄāļĩāđāļāļŦāļāđāļē
- āļĢāļđāļāđāļāļāļāļĩāđāļĢāļāļāļĢāļąāļ: JPEG, JPG, PNG
- āļāļāļēāļāđāļāļĨāđāļŠāļđāļāļŠāļļāļ: 2MB
-
āđāļĢāļīāđāļĄāļāđāļāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§
- āđāļ§āļĨāļēāđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļĩāđāļĢāļ§āļāđāļĢāđāļ§
- āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāļāļĩāđāđāļĄāđāļāļĒāļģāļŠāļđāļ
- āļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāđāļāļĨāđāļŦāļĨāļēāļĒāļĢāļđāļāđāļāļ
- āļāļąāļ§āđāļĨāļ·āļāļāļāļēāļĢāđāļŦāđāļāļ°āđāļāļāļāļĩāđāļĒāļ·āļāļŦāļĒāļļāđāļ
-
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļ
- āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāđāļāļāđāļāļĩāđāļĒāļ§āđāļĨāļ°āđāļāļāļŦāļĨāļēāļĒāđāļāļŦāļāđāļē
- āļāļīāļāļąāļāļāļĨāđāļāļāļĨāđāļāļĄāļĢāļāļāđāļāļŦāļāđāļē
- āļāļ°āđāļāļāļāļ§āļēāļĄāđāļāļ·āđāļāļĄāļąāđāļāđāļāļāļēāļĢāļāļāļāļģ
- āļāļēāļĢāļāļķāļāļ āļēāļāđāļāļŦāļāđāļē
- āļāļąāļ§āđāļĨāļ·āļāļāļāļēāļĢāđāļŦāđāļāļ°āđāļāļāđāļāļāļēāļ°āļāļĢāļīāļĐāļąāļ
-
āļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļāļāļīāļāļąāļāļīāļāļēāļĄāļāļāļĢāļ°āđāļāļĩāļĒāļ
- āđāļāđāļāđāļāļāļēāļĄ GDPR āđāļĨāļ° PDPA
- āđāļĄāđāļĄāļĩāļāļēāļĢāđāļāđāļāļĢāļąāļāļĐāļēāļāđāļāļĄāļđāļĨāļŦāļĨāļąāļāļāļēāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļāļĢāļļāļāļēāđāļĒāļĩāđāļĒāļĄāļāļĄ API Portal āđāļāļ·āđāļāļāļđ API key āļāļĩāđāļĄāļĩāļāļĒāļđāđāļāļāļāļāļļāļāļŦāļĢāļ·āļāļāļ API key āđāļŦāļĄāđ
āļāļąāļ§āļāļĒāđāļēāļâ
āļāļģāļāļāļāļēāļĢ āļāļāļāļģāđāļāļŦāļāđāļē:â
āļāļąāļ§āļāļĒāđāļēāļāļ āļēāļ
curl --location 'https://api.iapp.co.th/face_recog_single' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"' \
--form 'company="{YOUR COMPANY NAME}"'
āļāļēāļĢāļāļāļāļŠāļāļāļāļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļē:â
{
"bbox": {
"xmax": 255.44717407226562,
"xmin": 154.39295959472656,
"ymax": 282.8843688964844,
"ymin": 155.49319458007812
},
"company": "{YOUR COMPANY NAME}",
"detection_score": 0.9998624324798584,
"message": "successfully performed",
"name": "unknown",
"process_time": 0.4776473045349121,
"recognition_score": 0.0
}
āļāļļāļāļŠāļĄāļāļąāļāļīāđāļĨāļ°āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļâ
āļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļâ
- āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāđāļāļāđāļāļĩāđāļĒāļ§āđāļĨāļ°āđāļāļāļŦāļĨāļēāļĒāđāļāļŦāļāđāļēāđāļāļ āļēāļ
- āļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļāļŦāļāđāļēāļāļĢāđāļāļĄāļāļīāļāļąāļāļāļĨāđāļāļāļĨāđāļāļĄāļĢāļāļ
- āļāļēāļĢāļāļķāļāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļđāđāļāļļāļāļĨāļąāļāļĐāļāļ°āđāļāļŦāļāđāļē
- āđāļāļāļāđāļāļ°āđāļāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļāđāļĨāļ°āļāļēāļĢāļāļāļāļģāļāļĩāđāļāļģāļŦāļāļāđāļāļāđāļāđ
- āļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāđāļāļĄāļđāļĨāđāļāļŦāļāđāļē (āđāļāļīāđāļĄ/āļĨāļāđāļāļŦāļāđāļē)
- āļāļēāļĢāļŠāđāļāļāļāļ/āļāļģāđāļāđāļēāļāļļāļāļĨāļą āļāļĐāļāļ°āđāļāļŦāļāđāļē
āļāļīāļĨāļāđāļāļĩāđāļĢāļāļāļĢāļąāļâ
- āļāļīāļāļąāļāļāļĨāđāļāļāļĨāđāļāļĄāļĢāļāļāđāļāļŦāļāđāļē (xmin, xmax, ymin, ymax)
- āļāļ°āđāļāļāļāļ§āļēāļĄāđāļāļ·āđāļāļĄāļąāđāļāđāļāļāļēāļĢāļāļĢāļ§āļāļāļąāļ
- āļāļ°āđāļāļāļāļ§āļēāļĄāđāļāļ·āđāļāļĄāļąāđāļāđāļāļāļēāļĢāļāļāļāļģ
- āļāļēāļĢāļĢāļ°āļāļļāļāļ·āđāļāļāļļāļāļāļĨ
- āđāļ§āļĨāļēāđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨ
āļāđāļāļĄāļđāļĨāļāđāļēāļāļāļīāļ APIâ
āļāļļāļāļŠāļīāđāļāļŠāļļāļāļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēâ
-
āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāđāļāļāđāļāļĩāđāļĒāļ§ (
/face_recog_single
)- āļāļāļāļģāđāļāļŦāļāđāļēāļāļĩāđāđāļāļāđāļāđāļāļāļĩāđāļŠāļļāļāđāļāļ āļēāļ
- āļŠāđāļāļāļ·āļāļāļģāđāļŦāļāđāļāđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļĢāļ°āļāļģāļāļąāļ§āļāļāļāđāļāļŦāļāđāļē
-
āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāđāļāļāļŦāļĨāļēāļĒāđāļāļŦāļāđāļē (
/face_recog_multi
)- āļāļāļāļģāđāļāļŦāļāđāļēāļāļąāđāļāļŦāļĄāļāđāļāļ āļēāļ
- āļŠāđāļāļāļ·āļāļāļēāļĢāđāđāļĢāļĒāđāļāļāļāļāļģāđāļŦāļāđāļāđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļĢāļ°āļāļģāļāļąāļ§āļāļāļāđāļāļŦāļāđāļē
-
āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāđāļāļāđāļāļĩāđāļĒāļ§ (
/face_recog_facecrop
)- āļāļāļāļģāļāļ·āđāļāļāļāļāļāļļāļāļāļĨāđāļāļĢāļđāļāļ āļēāļāđāļāļĒāđāļāđāđāļāļāļēāļ°āļ āļēāļāđāļāļŦāļāđāļē
- āļŠāđāļāļāļ·āļāļāļģāđāļŦāļāđāļāđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļĢāļ°āļāļģāļāļąāļ§āļāļāļāđāļāļŦāļāđāļē
āļĢāļēāļāļēâ
āļāļ·āđāļāļāļĢāļīāļāļēāļĢ AI API | Endpoint | IC āļāđāļāļāļģāļāļ | On-Premise |
---|---|---|---|
āļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļē | iapp_face_recog_v2_multiple_face | 0.5 IC/Request | āļāļīāļāļāđāļ |
iapp_face_recog_v2_only_face | 0.3 IC/Request | ||
iapp_face_recog_v2_single_face | 0.3 IC/Request |
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļâ
Pythonâ
import requests
def recognize_face(image_path, api_key, company):
url = "https://api.iapp.co.th/face_recog_single"
payload = {'company': {YOUR COMPANY NAME}}
files = [
('file', ({YOUR UPLOADED FILE}, open({YOUR UPLOADED FILE}, 'rb'), 'image/jpeg'))
]
headers = {
'apikey': {YOUR API KEY}
}
response = requests.post(url, headers=headers, data=payload, files=files)
return response.json()
JavaScriptâ
const myHeaders = new Headers();
myHeaders.append("apikey", "{YOUR API KEY}");
const formdata = new FormData();
formdata.append("file", fileInput.files[0], "{YOUR UPLOADED FILE}");
formdata.append("company", "{YOUR COMPANY NAME}");
const requestOptions = {
method: "POST",
headers: myHeaders,
body: formdata,
redirect: "follow"
};
fetch("https://api.iapp.co.th/face_recog_single", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
PHPâ
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/face_recog_single',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array(
'file' => new CURLFILE('{YOUR UPLOADED FILE}'),
'company' => '{YOUR COMPANY NAME}'
),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR API KEY}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Swiftâ
let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE}",
"type": "file"
],
[
"key": "company",
"value": "{YOUR COMPANY NAME}",
"type": "text"
]] as [[String: Any]]
let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body
var request = URLRequest(url: URL(string: "https://api.iapp.co.th/face_recog_single")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR API KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Kotlinâ
val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
File("{YOUR UPLOADED FILE}").asRequestBody("application/octet-stream".toMediaType()))
.addFormDataPart("company","{YOUR COMPANY NAME}")
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/face_recog_single")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build()
val response = client.newCall(request).execute()
Javaâ
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE}")))
.addFormDataPart("company","{YOUR COMPANY NAME}")
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/face_recog_single")
.method("POST", body)
.addHeader("apikey", "{YOUR API KEY}")
.build();
Response response = client.newCall(request).execute();
Dartâ
var headers = {
'apikey': '{YOUR API KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/face_recog_single'));
request.fields.addAll({
'company': '{YOUR COMPANY NAME}'
});
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE}'));
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
āļāđāļāļāļģāļāļąāļāđāļĨāļ°āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļâ
āļāđāļāļāļģāļāļąāļâ
- āļāļāļēāļāļ āļēāļāļŠāļđāļāļŠāļļāļ: 2MB
- āļāļāļēāļāļ āļēāļāļāļąāđāļāļāđāļģ: 600x400 āļāļīāļāđāļāļĨ
- āļāļāļēāļāđāļāļŦāļāđāļēāļāļąāđāļāļāđāļģ: 112x112 āļāļīāļāđāļāļĨ
- āļĢāļđāļāđāļāļāļāļĩāđāļĢāļāļāļĢāļąāļ: JPG, JPEG, PNG
- āļĄāļĩāļāđāļāļāļģāļāļąāļāđāļāļĩāđāļĒāļ§āļāļąāļāļāļ§āļēāļĄāļĒāļēāļ§āļāļīāļ§
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļâ
- āđāļāđāļ āļēāļāđāļāļŦāļāđāļēāļāļĩāđāļŠāļ§āđāļēāļāļāļąāļāđāļāļ
- āļāļĢāļ§āļāļŠāļāļāđāļŦāđāđāļāđāđāļāļ§āđāļēāđāļāļŦāļāđāļēāđāļĄāđāļāļđāļāļāļāļāļąāļ
- āļŠāđāļāļāļāļēāļāļ āļēāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ
- āļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļāļāļāļ API āļāļĒāđāļēāļāđāļŦāļĄāļēāļ°āļŠāļĄ
- āļāļąāđāļāļāđāļēāđāļāļāļāđāļāļēāļĢāļāļĢāļ§āļāļāļąāļ/āļāļēāļĢāļāļāļāļģāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ
āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļĨāļ°āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļâ
āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļāļĒāļĢāļ§āļĄâ
- āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļāļŠāļģāļŦāļĢāļąāļāđāļāļŦāļāđāļēāļāļĢāļ
- āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāļāļāđāļēāļāļāļąāļāđāļāļāļēāļĄāļāļļāļāļ āļēāļāļāļāļāļ āļēāļ
- āļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāđāļāļāļēāļĢāļāļāļāļģāļāļķāđāļāļāļĒāļđāđāļāļąāļāļāļļāļāļ āļēāļāļāļāļāđāļāļŦāļāđāļēāļāļĩāđāļĨāļāļāļ°āđāļāļĩāļĒāļ
āļāļ§āļēāļĄāđāļĢāđāļ§āđāļāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨâ
- āđāļ§āļĨāļēāļāļāļāļŠāļāļāļāļāļąāđāļ§āđāļ: 0.3-1.0 āļ§āļīāļāļēāļāļĩ
- āļāļēāļāđāļāļāļāđāļēāļāļāļąāļāđāļāļāļēāļĄāļ āļēāļĢāļ°āļāļāļāđāļāļīāļĢāđāļāđāļ§āļāļĢāđ
- āļĢāļ°āļāļāļāļīāļ§āļāļąāļāļāļēāļĢāļāļĢāļīāļĄāļēāļāļāļēāļĢāđāļāđāļāļēāļāļŠāļđāļ
āļāļąāļāļāļąāļĒāļāļĩāđāļĄāļĩāļāļĨāļāđāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģâ
- āļāļļāļāļ āļēāļāđāļĨāļ°āđāļŠāļāļŠāļ§āđāļēāļāļāļāļāļ āļēāļ
- āļĄāļļāļĄāđāļĨāļ°āļāļēāļĢāđāļŠāļāļāļāļāļāļāļāļāđāļāļŦāļāđāļē
- āļāļāļēāļāđāļāļŦāļāđāļēāđāļāļ āļēāļ
- āļāļģāļāļ§āļāđāļāļŦāļāđāļēāļāļĩāđāļĨāļāļāļ°āđāļāļĩāļĒāļ
- āļāļēāļĢāļāļąāđāļāļāđāļēāđāļāļāļāđāļāļēāļĢāļāļĢāļ§āļāļāļąāļ/āļāļēāļĢāļāļāļāļģ
āļāļĢāļ°āļ§āļąāļāļīâ
āļĢāļ°āļāļāļāļēāļĢāļāļāļāļģāđāļāļŦāļāđāļēāđāļāđāļĢāļąāļāļāļēāļĢāļāļąāļāļāļēāđāļāļ·āđāļāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļāļąāļāđāļĨāļ°āļāļāļāļģāđāļāļŦāļāđāļēāđāļāđāļāļĒāđāļēāļāđāļāđāļāđāļāļĢāđāļ āđāļāļāļāļ°āļāļĩāđāļĒāļąāļāļāļāļĢāļąāļāļĐāļēāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļĄāļēāļāļĢāļāļēāļāļāļ§āļēāļĄāđāļĄāđāļāļĒāļģāļŠāļđāļ