Passport Photo Print & Mailing API

Print compliant passport photos and mail them to your customers. Available per request.

Starting from $0.20 per photo. The catalog covers 300+ specifications across 200+ countries. See pricing.

Print & Mailing API — availability per request. Contact support@idphoto.ai to enable printing and mailing for your countries, print sizes and volumes.

The Print & Mailing API prints compliant passport photos and mails them to your customers. API availability per request: contact support@idphoto.ai with your destination countries, print sizes, and expected volume. You can also generate a printable photo sheet on the Passport Photo API. photoSheet.sheetSizes asks for one or more pixel layouts, up to 10, and the response returns a URL for each sheet. Many UK applications do not need a print at all: they need a UK passport photo code.

A printable sheet from the same call that sizes the photo

Government and visa workflows still ask for paper in some cases. The digital specification and the sheet are one request. You send the portrait and the specCode. You may also send sheetSizes as width*height in pixels. The example in the docs is 1800*1200, a sheet of repeated copies. The single ID photo is still returned as a URL or Base64. The sheet is an extra map of size to URL.

Passport photo prepared as a printable sheet of repeated portraits
A photo sheet from the Passport Photo API repeats the portrait for printing. The Print & Mailing API mails prints to your customers and is available per request.

Photo sheet request and response

curl -sS -X POST "https://api-us.idphotoapp.com/v2/makeIdPhoto" \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "apiSecret": "YOUR_API_SECRET",
    "imageBase64": "BASE64_IMAGE",
    "specCode": "us-passport",
    "photoSheet": { "sheetSizes": ["1800*1200"] }
  }'
{
  "photoUuid": "example-photo-uuid",
  "specCode": "us-passport",
  "idPhotoUrl": "https://example-signed-url",
  "widthPx": 600,
  "heightPx": 600,
  "photoDpi": 300,
  "issues": [],
  "photoSheet": {
    "1800*1200": "https://example-sheet-url"
  }
}

US passport details in the specification example are 2 × 2 in and 600 × 600 px at 300 DPI. Sheet URLs follow URL output. The privacy policy describes temporary storage from 2 hours to 14 days for that option. Download the sheet into your own storage if the user will print later. You can also ask for a sheet on POST /v2/getIdPhotoNoWatermark after a watermarked preview, using the same photoSheet object.

When a code replaces a mailed print

For a UK passport applied for online, the applicant enters a photo code. The supplier hosts the JPEG. HM Passport Office retrieves it. You do not need to mail a 35 × 45 mm print for that path. Generate idPhotoCode with uk-passport or uk-digital-passport. The code is not an acceptance decision. Other countries still require paper. Check the issuer. Do not assume a sheet URL satisfies a consulate that wants a specific paper size from the applicant’s own printer.

Print & Mailing API — available per request

Print & Mailing API — availability per request. Contact support@idphoto.ai to enable printing and mailing for your countries, print sizes and volumes.

The Print & Mailing API prints compliant passport photos and mails them to your customers. Email support with your destination countries, print sizes, and expected volume so printing and mailing can be enabled for your account.

Apps, agencies, and studios that still need paper

How to request a printable sheet

  1. Pick the specCode with POST /v2/getIdPhotoSpec so the single photo matches the document before you repeat it on a sheet.
  2. Call /v2/makeIdPhoto with photoSheet.sheetSizes set to the pixel sizes you print. Stay at or under 10 sizes.
  3. If issues is not empty, do not print. Map photo issue codes to a retake.
  4. Download photoSheet URLs promptly. They are temporary.
  5. For a consumer app, use watermark mode first so the sheet is only requested on /v2/getIdPhotoNoWatermark after the user confirms.
  6. To mail prints to customers, contact support@idphoto.ai. The Print & Mailing API is available per request.

Why the sheet lives on the Passport Photo API

The crop and the print layout stay in one response, so you cannot print a sheet of a photo that used a different specification than the file you store. You also see issue codes before ink. When customers need the print posted to them, the Print & Mailing API prints and mails it. API availability per request.

FAQ

Can I mail a passport photo through the API?

Yes. The Print & Mailing API prints compliant passport photos and mails them to your customers. Availability is per request — contact support@idphoto.ai with your destination countries, print sizes and expected volume.

How do I request a print layout?

Add photoSheet.sheetSizes to POST /v2/makeIdPhoto. Each entry is width*height in pixels, for example 1800*1200. You can request up to 10 sizes. The response photoSheet object maps each size to a URL.

Does a UK passport application need a mailed print?

The online UK application accepts a photo code. Generate idPhotoCode with a UK passport spec. HM Passport Office still checks the photo. Paper rules for other documents are set by those issuers.

How long is the sheet URL valid?

URL output uses temporary storage. The data privacy policy describes a retention period of 2 hours to 14 days for that option. Copy the file into your own storage if the user will print later. Base64 output is the alternative when you do not want the image stored on our service. Sheet fields in the reference are returned as URLs.

Should I print when the response includes issue codes?

No. A sheet can come back alongside issues. Read the array and ask for a new photo when the problem would make the print unusable. An empty issues array is not an acceptance letter from a passport office.

Streamline Your Photo Fulfillment

Contact us to discuss integration and volume pricing for your business needs.