Appearance
Passport Photo API
- Reference Spec Code
- Reference Issue Codes
Service
ID Photo API: Convert a regular photo into a compliant ID photo.
Input:
- A photo
- An expected photo type (like US VISA Photo, Shengen VISA Photo, Japan VISA Photo, etc)
Output:
- A compliant Passport/VISA/ID Photo

API Endpoint
API Endpoint:
https://api-us.idphotoapp.com(US region)https://api-eu.idphotoapp.com(EU region)- (Other regions' deployment are available per request)
Health Check
JSON
GET /v2/healthDescription: Simple Health Check
Sample Output:
JSON
{
"status": "GOOD"
}Make ID Photo (Direct)
JSON
POST /v2/makeIdPhotoDescription: Make an ID photo directly. Good for direct use cases.
Request:
JSON
{
"apiKey": "string",
"apiSecret": "string",
"imageBase64": "string", // image base64
"specCode": "string", // photo spec, you could use "uk-passport" for testing. See the last section for more details
"outputFormat": "string" // [optional] "S3_URL" or "IMAGE_BASE64". If not provided, S3_URL will be used by default.
}Response:
JSON
{
"photoUuid": "string", // the unique id of the id photo
"idPhotoUrl": "string", // The url of created ID photo. Available when outputFormat is S3_URL.
"idphotoImageBase64": "string", // The image base64 of created ID photo. Available when outputFormat is IMAGE_BASE64.
"originalPhotoUrl": "string", // The url of the original photo
"issues": ["string"], // issues found in the photo. See "Issue Code" for more information
"idPhotoCode": "string" // [Optional] Passport Photo code for specCode starts with "uk": uk-passport
}Make ID Photo with Watermark (For App Developers)
JSON
POST /v2/makeIdPhotoWatermarkDescription: Make an ID photo with watermark. For passport photo app developers.
Request:
JSON
{
"apiKey": "string",
"apiSecret": "string",
"imageBase64": "string", // image base64
"specCode": "string" // photo spec, you could use "schengen-visa" for testing.
}Response:
JSON
{
"photoUuid": "string", // Each photo has a unique ID
"idPhotoUrl": "string", // The S3 based URL for access the ID Photo, in JPG format
"issues": ["string"], // The issues in the original photo & ID Photo. ISSUE_FACE_LIGHT_NOT_BALANCE, ISSUE_FACE_NOT_FOUND, ISSUE_EXPRESSION_NOT_NEUTRAL
"waterMark": true // indicating marks and watermark in the outcome photo.
}Get ID Photo without Watermark (For App Developers)
JSON
POST /v2/getIdPhotoNoWatermarkDescription: Get the ID photo without watermark based on photoUuid. For passport app developers.
Request:
JSON
{
"apiKey": "string",
"apiSecret": "string",
"photoUuid": "string" // photoUuid from /v2/makeIdPhotoWatermark
}Response:
JSON
{
"photoUuid": "string", // Each photo has a unique ID
"idPhotoUrl": "string", // The S3 based URL for access the ID Photo, in JPG format
"issues": ["string"], // The issues in the original photo & ID Photo. ISSUE_FACE_LIGHT_NOT_BALANCE, ISSUE_FACE_NOT_FOUND, ISSUE_EXPRESSION_NOT_NEUTRAL
"waterMark": false // indicating marks and watermark in the outcome photo.
}List Photo Specifications
JSON
POST /v2/listIdPhotoSpecCodeDescription: Get all photo specs supported by us (Free to use). For passport app developers.
Request:
JSON
{
"apiKey": "string",
"apiSecret": "string"
}Response:
JSON
{
"results": [
{
"specCode": "string", // photo spec, for example: us-passport
"specCodeName": "string" // for example: US Passport
}
],
"total": "number"
}Get Photo Specification Details
JSON
POST /v2/getIdPhotoSpecDescription: Get the details of a photo spec (Free to use). For passport app developers.
Request:
JSON
{
"apiKey": "string",
"apiSecret": "string",
"specCode": "string" // photo spec, you could use "schengen-visa" for testing.
}Response:
JSON
{
"specCode": "string", // photo spec, for example: us-passport
"specCodeName": "string", // for example: US Passport
"photoSizeUnit": "string", // for example: in
"photoSize": "string", // for example: 2 x 2 in
"photoPixel": "string", // for example: 600 x 600 px
"photoDpi": "string", // for example: 300 DPI
"headHeight": "string", // for example: 1 - 1 3/8
"eyeToBottom": "string", // for example: 1 1/8 - 1 3/8
"backgroundColor": "string", // for example: #FFFFFF
"backgroundColorName": "string", // for example: white
"recency": "string", // for example: 6 months
"expression": "string", // for example: NEUTRAL
"color": "string", // for example: IN_COLOR
"glasses": "string", // for example: NOT_ALLOWED
"eyesAndEars": "string" // for example: VISIBLE_NO_HIDE
}