Don't type personal details, such as a client's name.

Document Storage & Photo Automation

Collect visa photos and passport scans from your clients through the intake link, validate them as they're uploaded, and let the agent submit the photo to the official DS-160 portal automatically.

Every DS-160 form has three document slots — an application photo, a passport scan and an optional US visa — and, to fill in the answers about the applicant’s family, optional passports of their spouse, father and mother. You and your clients can manage them through the dashboard or the client intake link, and when a submission runs, the agent uploads the photo to the State Department’s Photo Submission System automatically.

Before you start

  • Who uploads: your team, from the form’s Documents section (its first section), and your client, from the Documents step of their client intake link. Only the client can upload the US visa, through their client link.
  • Every document is optional, but the DS-160 needs the photo: without one, a submission stops before signing until a photo is added on the DS-160 site.
  • Formats and sizes: each slot’s limits are in the table below. The application photo must pass the DS-160 photo checks unless you allow any photo.
  • Passport extractions: a workspace can make up to 100 a day.

1. Document slots

SlotWire nameFormatSize limitUsed by
Application photoapplicationPhotoJPEG240 KBThe agent uploads this to DS-160
Passport scanpassportScanJPEG, PNG, or PDF30 MBKept on file; can fill answers (§4)
US visausVisaJPEG, PNG, or PDF30 MBKept on file; ask for it on renewals
Spouse’s passportspousePassportScanJPEG, PNG, or PDF30 MBKept on file; can fill answers (§4)
Father’s passportfatherPassportScanJPEG, PNG, or PDF30 MBKept on file; can fill answers (§4)
Mother’s passportmotherPassportScanJPEG, PNG, or PDF30 MBKept on file; can fill answers (§4)

The family passports are listed under Family passports, below the other three, and the spouse’s only once the marital status asks for a spouse. The Documents row’s count includes the ones the form asks for (a spouse’s passport the form no longer asks for is not counted), and none of them is ever sent to the DS-160 site.

Each form holds at most one active document per slot. Uploading a new one soft-deletes the previous version — the file is removed from object storage, the metadata stays for the audit trail.

The 240 KB / JPEG-only limit on the application photo is the strict DS-160 spec. If you turn on lenient photo upload (see Allowing any photo), the slot accepts the same formats and 30 MB ceiling as the passport scan.

2. Where clients upload

When you generate a client intake link, the client sees a Documents step as the first section of the questionnaire. They can:

  • Drop or pick a file for each slot
  • See validation results in-line (size, format, basic biometric checks for the photo)
  • Replace or delete what they’ve uploaded
  • Continue completing the questionnaire while documents are still missing — uploads are independent of the rest of the form

The client never sees a storage URL or any agency credentials. Authentication is scoped to their intake token; uploads from one client link can’t touch documents on another form.

Example: how this looks on the platform

3. Application photo — what we check

The photo runs through the same validator that powers the public US Visa Photo Checker. By default these are hard rejections — the upload fails (to accept any photo and turn them into warnings instead, see Allowing any photo):

  • File is not a JPEG, or is outside 10 KB – 240 KB
  • Pixel dimensions outside 600×600 – 1200×1200, or aspect ratio is not square
  • Image is not sRGB / 24-bit color
  • JPEG compression ratio above 20:1 (over-compressed)
  • Background is not mostly white / off-white
  • No face detected, multiple faces, a head (top of the hair to the chin) under 50% or over 85% of the image height or cut off at the top, eyes closed, or a profile shot (when face detection is enabled)

Advisory warnings (the upload succeeds, but the client sees a heads-up):

  • Head between 69% and 85% of the image height — larger than the State Department’s 69%; CEAC usually accepts it, but a consulate may ask for a new photo
  • Image is not 300 DPI — only required for printed photos (DS-260 immigrant visa, in-person interview); not enforced for digital DS-160 uploads
  • Image would print at a size other than 2×2 inches — same context as DPI
  • EXIF metadata suggests the photo may be older than six months
  • Image is saved as a progressive JPEG
  • Photo appears under- or over-exposed, or has unusually low contrast
  • Face is not centered in the frame

The warning text is translated into the client’s selected language; you’ll see the same text in their language in the audit log.

Photos fixed by the public checker. The form’s photo slot checks a photo; it does not change it. The public checker goes one step further: when a photo fails only on framing, size, colour format or file format, it crops, resizes and re-saves it (the face is never retouched) and offers the fixed copy for 24 hours. Someone who starts their DS-160 from that fixed photo finds it in the photo slot of the first form they create, checked again on the way in. A photo with a coloured background, closed eyes or a head cut off at the top still needs a retake.

Allowing any photo (lenient upload)

The strict checks above stop a client from uploading anything that doesn’t match the exact DS-160 photo spec. That’s the right default for self-service, but it frustrates clients whose phone photos aren’t square, are too large, or have a busy background — and they end up emailing you the photo instead. If you’d rather collect any photo and fix it yourself before submission, turn on lenient photo upload:

  • Per workspace — Workspace → Settings → Client intake → Allow any photo upload. This becomes the default for every new client link.
  • Per client link — the same toggle appears when you generate a link, pre-filled from the workspace default, so you can override it for an individual client.

When lenient upload is on, the application photo is gated like the passport scan — any JPEG, PNG, or PDF up to 30 MB is accepted — and every shape/biometric check above is downgraded to an advisory warning. The client (and you, in the audit log) still see exactly what’s off, but the upload succeeds and they can keep going.

Lenient mode only changes what the client intake link accepts. A photo that fails the checks still has to be replaced, or acknowledged with a tick box, before a submission starts (see E-Filing the DS-160), and the State Department’s own photo system still validates the image when the agent uploads it (see §6). Use lenient mode when you intend to review or replace the photo yourself before the agent runs.

Example: how this looks on the platform

4. Passport scan — what we check

The validator only looks at file shape:

  • Detected MIME type (via magic-byte sniff, not just the extension) is JPEG, PNG, or PDF
  • Size is at or below 30 MB
  • File is not empty

There are no biometric checks, and nothing is extracted from the scan when it is uploaded.

Filling answers from the passport

In a business workspace, the passport scan’s row in the form’s Documents section (its first section) has a Fill answers from passport button, and the same button sits at the top of the personal and passport sections once a scan is on file. It extracts the details on the photo page and proposes answers for up to 13 questions: surnames, given names, sex, date and city of birth (and country of birth, where the passport prints one), nationality, passport type and number, the issuing country, the city and date of issue, and the expiry date.

  1. Upload the passport scan in the form’s Documents section.
  2. Click Fill answers from passport. Nothing is extracted until you do. The scan is then sent to Google Gemini for extraction, which takes about ten seconds.
  3. Check the proposals. Each proposal sits beside the form’s current answer. Questions with no answer yet are ticked; an answer the passport would change is shown but not ticked.
  4. Click Apply. Nothing on the form changes until you apply.

How to read the proposals:

  • Checked against the code lines means the value comes from the two lines of code along the bottom of the photo page, its check digit matched, and the printed page agrees. From the printed page: check it means it was taken from the printed page alone (the issue date and places have no check digit), so compare it with the scan.
  • A value is never proposed when its check digit fails, when the code lines and the printed page disagree, or when it is not a valid answer to the question (the expiry date of an expired passport, for example). Those are listed under Not filled from the passport, with the reason.
  • Names are written the way the DS-160 accepts them: letters and single spaces, accents dropped, hyphens as spaces.
Example: how this looks on the platform

Filling answers from a family member’s passport

The spouse’s and the parents’ passports fill the questions the DS-160 asks about them, in the same way:

  • Spouse’s passport: surnames, given names, date, city and country of birth and nationality, on the Spouse page, or on the Deceased Spouse page when the applicant is widowed. It is offered only while the marital status asks for a spouse; a scan uploaded before the marital status changed stays listed as not used by the form, and can be deleted.
  • Father’s or mother’s passport: surnames, given names and date of birth, in that parent’s row of the Family page.

Upload the scan in the Documents section, or from the prompt at the top of the Spouse or Family page, then click Fill answers from passport (on the Family page, Fill from father’s passport or Fill from mother’s passport). The proposals are checked and applied as above. If the scan turns out to be the applicant’s own passport (the same passport number, or the same name and date of birth), it is refused: upload it as the passport scan instead, and swap in the family member’s own passport with Replace spouse’s passport (or Replace father’s passport, Replace mother’s passport) in the same prompt, or Replace in the Documents section. In a business workspace, each family passport in the Documents section links to this section. When the spouse has their own form in the same group, the Spouse page links to it instead.

Each extraction and every answer applied from it are recorded in the form’s Change History (§7), marked From passport scan. A workspace can make up to 100 passport extractions a day; extracting from the same scan again does not count, as what was extracted is kept for 30 days (or until the scan is deleted or replaced). Clients have the same button on their client link, once they upload a scan; their extractions appear in the Change History as theirs and count towards the workspace’s 100 a day.

5. Storage

Documents are encrypted at rest.

Deleting a document — or replacing it with a new upload — removes the file from storage immediately. We keep a metadata row for the audit log, but the file itself is gone the moment you confirm the delete.

6. Automated photo upload

When a submission runs with an application photo on the form, the agent uploads it to the State Department’s Photo Submission System itself. Two steps in the submission’s progress table cover it:

  • Upload Photo — the agent sends the JPEG to the State Department’s photo system and waits for its quality check.
  • Confirm Photo — the agent returns to the DS-160 and continues past the Confirm Photo page.

The agent reads the photo when the submission starts. A photo added to the form after that is not used: start a new submission. If the photo will be taken in person at an Applicant Service Centre, both steps are skipped. If there is no usable photo, the agent fills in the rest of the application and stops before signing, as Photo needed: see what to do.

When the State Department rejects the photo

The State Department’s quality check occasionally rejects a photo that passed ours: we are stricter on file shape, it is stricter on some biometric edge cases. The Upload Photo step then fails with the State Department’s own message, so you can tell whether to ask the client for a new photo.

7. Change history

Every upload, replacement and deletion is recorded in the form’s Change History, on its overview, beside the questionnaire’s answers: which slot, who did it (the client through their link, or a member of your team), when, and the new file’s name and size. So is each extraction from the passport scan, and who asked for it.

Expected result

Each slot shows its file and when it was uploaded, and the Documents row on the form’s overview says how many are uploaded. A photo that passed the checks is uploaded to the State Department by the agent when the submission runs, and every upload, replacement and deletion is in the form’s Change History.

Troubleshooting

ProblemWhat to do
The photo upload fails a check, for example “Image must be in JPEG format”The message names the rule. Ask the client for a new photo, or turn on lenient photo upload and replace or fix the photo yourself before the submission.
“The uploaded application photo did not pass the DS-160 quality checks.”Replace it with a compliant photo, or remove it, before submitting. You can also tick the box to go ahead without it: see Fixing a Submission That Did Not Finish.
“Passport scan must be JPEG, PNG, or PDF” or a size over 30 MBSave the scan as a JPEG, PNG or PDF of 30 MB or less, and upload it again.
“This scan does not look like a passport’s photo page.”Upload the page with the photo and the two lines of code along the bottom.
“Nothing could be extracted from this scan.”Upload a sharper, straight-on scan of the passport’s photo page.
“This PDF is too large to extract from.”Upload a photo of the passport’s photo page, or a PDF under 14 MB.
“Your workspace has made as many passport extractions as it can today.”The limit is 100 a day. Try again tomorrow, or fill in the answers by hand.
“These answers were extracted over an hour ago.”Extract them again: click Fill answers from passport.
“This is the applicant’s own passport.”The scan was uploaded as a family member’s passport. Upload it as the passport scan, and replace it with the family member’s own passport: Replace spouse’s passport (or the father’s or mother’s) at the top of the Spouse or Family page, or Replace in the Documents section.
“This form does not ask for these answers.”The spouse’s passport fills the Spouse or Deceased Spouse page, which the form asks for only when the marital status is married, in a civil union or common-law partnership, separated, or widowed. Check the marital status on Personal Information 1.
A photo added after the submission started was not usedThe agent reads the photo when the submission starts. Start a new submission.
The Upload Photo step failedThe State Department’s photo system rejected the photo, and the step shows its message: use it to decide whether to ask the client for a new photo. A photo added to the form is used by the next submission you start.