Skip to content

Passport Photo API

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

3ce34219-c54e-428e-8f2c-d5469b432100

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/health

Description: Simple Health Check

Sample Output:

JSON
{
  "status": "GOOD"
}

Make ID Photo (Direct)

JSON
POST /v2/makeIdPhoto

Description: 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/makeIdPhotoWatermark

Description: 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/getIdPhotoNoWatermark

Description: 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/listIdPhotoSpecCode

Description: 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/getIdPhotoSpec

Description: 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
}