Photos and proof of work
Can AI review a large photo inspection report and flag only the problems?
Yes, if you break the report into small checks instead of asking a model to read 300 pages at once: pull out the data table, pair each row with its photos, and ask the model one written question per pair (is this the device the row names, does the label match, is anything missing or damaged). The output is a short exception list with the page, the item ID and the reason, and an analyst confirms or rejects each flag before the report goes to the client. Cost stays predictable because you control the pages per call, the model and the number of calls, and the model never signs the report.
- Split the report: one device row plus its photos per check, not the whole PDF in one prompt.
- Write the rules as yes or no questions per item; the AI returns exceptions with page and item ID.
- A person confirms every flag and signs the report; the AI never approves on its own.
- Test it on old reports with known mistakes before you trust a pass.
- Cost is tokens per page times pages times reports; cap it, and use batch pricing when the SLA allows.
This is office review of a finished report. If you want photos checked on the phone before the technician leaves site, see the page on AI photo checks before a job is closed.
Facts checked as of November 2026. Sources at the end of the page.
Step by step
How it works, step by step
The same pipeline works for tower audits, structural inspections, install closeouts and PPM reports. What changes is the checklist of questions.
1. Get the report in as data, not just a file
If the report comes from your own app, you already have each photo tied to an item. If it arrives as a PDF from a client's app or a subcontractor, extract it first. Azure AI Document Intelligence's Layout model, for example, returns tables and figures with their page numbers and bounding regions, handles PDFs up to 2,000 pages on the paid tier, and can output a cropped image for each detected figure.
2. Build the pairs: one item, its row, its photos
Read the summary table (device ID, type, position, serial, azimuth or whatever your client requires) and link every photo to the row it belongs to, by caption, page order or the ID printed on the photo page. A 300-page report with one table becomes, say, 40 small packets of one row and 6 to 10 photos each.
3. Write the rules as questions
Each check is a question with a yes, no or unsure answer: does the photo show the device type the row says; can the label or serial be read and does it match; is the required view present (front, label, connector, grounding); is there visible damage, corrosion or a cut sheath; are any of these photos the same image used twice. Add a rule for the specific item IDs the client asked about this month.
4. Run each packet through a vision model
Send one packet per call with the rules and ask for structured output: item ID, page, rule, answer, a one-line reason. Small calls stay inside model limits. Claude accepts up to 600 PDF pages per request (100 when the context window is under 1M tokens), and Gemini accepts PDFs up to 1,000 pages, but a dense photo report can fill the context window before it reaches the page limit.
5. Return only the exceptions
The analyst sees a list like: page 142, item ANT-07, label reads 7782, table says 7728; page 210, item RRU-03, no connector photo. Every row links to the page. Items that pass are not listed, which is the whole point.
6. A person confirms, then signs
The analyst marks each flag as a real problem or a false alarm, sends real problems back to the field engineer with the page attached, and approves the report. The approval, the flags and who cleared them stay on the record, so when the client rejects a report you can show what was checked.
7. Feed false alarms back into the rules
If a rule fires on every night photo, tighten the wording or add an example. Keep a short set of old reports with known mistakes and re-run them whenever you change a rule or a model.
Where it breaks
Why it goes wrong
These are the problems buyers described on our sales calls, by trade and size, plus the limits the model makers publish.
Hundreds of pages, one table, a 24 to 48 hour clock
A telecom tower maintenance provider gets reports with about 300 pages of photos and one table explaining how they relate, 10 to 20 a day, and must deliver each to its client within 24 to 48 hours. Analysts read every page to find the few errors field engineers made. The time goes on pages that are fine.
Pasting the whole PDF into a chatbot
One prompt over 300 pages gives a vague summary, misses items, and can fail outright. Anthropic notes that dense PDFs can fill the context window before reaching the page limit and recommends splitting the document into sections.
Trusting the model on small or rotated detail
Both major vendors document vision limits. Claude may make mistakes on low-quality, rotated or very small images under 200 pixels, and its counts are approximate. OpenAI lists the same kinds of limits for rotated images, small text, counting and panoramic or fisheye shots. A serial number shot from below a tower is exactly that kind of image, so a model's answer that a label matches needs a crop of the label, not the whole frame.
Unpredictable model bills
The tower provider's main reason for not building this in house was not knowing what the model API would cost each month. Cost is predictable once you fix the pages per call, the model and the calls per report. It is unpredictable when analysts paste whole reports into a chat tool as often as they like.
Rejections lost in email
The same provider's client rejects reports with comments by email, so nobody can see which items failed last time. If the flags, the analyst's decisions and the client's rejections all sit on the job, the next report for that site starts with the known problem items.
Slowing the field down
Engineers on a tower cannot wait for an AI answer, and signal at the top is often poor. Office review after upload does not block them. Checks on the phone before they climb down are a separate step, worth adding for the photos that are most often missing.
The options
Ways to do it
How teams review photo reports today, as each tool's own pages describe it.
| Approach | What it checks | Where a person decides | Watch for |
|---|---|---|---|
| Analysts read every page | Everything, by eye | Every page | Hours per report; misses rise late in the day |
| Form app with AI photo findings (FastField AI Photo Insights) | Each uploaded photo against admin-set criteria; findings with severity and a confidence score | Inspector confirms which findings go in the report | Runs when the inspector taps Analyze and needs a connection; checking photos against a finished report's table is not described |
| Telecom photo capture checks (Verdict Capture) | Angle, lighting, framing, blurry or wrong views, missing label shots, against carrier checklists before the crew descends | Crew retakes on site | Built for capture in its own app; reviewing PDFs from other apps is not described |
| Build it: document extraction plus a model API (Azure Document Intelligence, Claude, OpenAI, Gemini) | Whatever rules you write, against the table you extract | Whatever review screen you build | You own prompts, testing, cost caps and the review screen; batch APIs cut price by 50% but return later |
| FSM with the report, rules and review on the job (Fieldproxy) | Each item's photos against its row and your written rules; exceptions listed with page and item ID | Analyst clears each flag and approves before the client sees it | Write and test the rules on old reports before go-live |
As of November 2026, from each vendor's own pages (sources below). Features change, so test on three of your own reports.
Worked example
A worked example: 20 tower reports a day
Say a tower maintenance team receives 20 reports a day, each 300 pages with about 40 devices and 400 photos. Made-up volumes, with list prices from the vendor's own page in November 2026. Check with your provider's token counter before you budget.
| Step | Assumption | Result |
|---|---|---|
| Tokens per report | About 3,000 tokens per page (text plus page image) | About 900,000 input tokens per report |
| Split | 40 packets, one per device, about 22,500 tokens each | Every call well inside model limits |
| Model cost, mid-size model | Claude Sonnet 5.5 at $2 per million input and $10 per million output; 500 output tokens per packet | About $1.80 input plus $0.20 output, so about $2 per report, $40 a day |
| Same, with batch | Batch API at 50% off; most batches finish in under an hour | About $1 per report, $20 a day, still inside a 24 hour SLA |
| Model cost, small model | Claude Haiku 5.5 at $0.10 per million input for prompts up to 100,000 tokens | About $0.10 per report, for simple checks like label matching |
| Analyst time | Say 12 flags per report, 1 minute each | About 12 minutes per report instead of reading 300 pages |
The numbers move with model, image size and how much text is on each page. The point is that cost is a product of things you set, so you can cap it per report and per month.
Before you buy
What to check before you buy
Good signs
- It compares each photo with the data row it belongs to, not just the photo on its own
- You write the rules in plain language and can add item IDs to check this month
- Every flag shows the page, the item ID, the rule and a reason
- A person must clear each flag and approve; the approval is logged
- You can re-run old reports with known mistakes and see what it catches
- Monthly AI usage is capped or comes from a fixed allowance, with top-ups you choose
- It can read PDFs that come from other apps, not only reports made in its own
- The AI step can be switched off per job type
Red flags
- A single pass or fail for the whole report with no page references
- No way to see why an item was flagged
- The AI can approve or send the report to the client on its own
- Usage billed per call with no cap or estimate
- Only works on photos taken in its own app
- Accuracy claims with no test on your reports
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy is set up around your process, so the report fields, rules and statuses are configured with you. Field and status names are examples.
Reports in as data
Reports made in the Fieldproxy technician app already link each photo to its checklist item. Reports that arrive as PDFs by email are read by the Document intelligence agent (/agents/document-intelligence-agent), which turns the device table into line items on the job, e.g. device_id, type, serial and position.
The photo check
The Vision agent (/agents/vision-agent) reads each item's photos against its row and your written rules, e.g. "label photo must show the serial in the table" and "connector view required for every RRU", and writes an exception list with page, item ID and reason onto the job.
Review and approval
The report sits in a status like Awaiting review until an analyst clears every flag. Approval workflows (/solutions/approval-workflows) record who approved it and when. Flags marked as real go back to the field engineer as a task with the page attached.
SLA watch
The Watcher agent (/agents/watcher-agent) flags reports that are close to the 24 or 48 hour client deadline and still in review, and the Scheduler agent (/agents/scheduler-agent) can email the operations lead a daily list of late and rejected reports.
Client rejections on the record
Approved reports are shared on a customer portal (/solutions/customer-portals), where the client can accept or reject with comments, so rejections land on the job instead of in an inbox and the next report for that site starts with the known problem items.
Cost you can plan
AI review runs on the AI credits in your plan, with top-ups when you choose. Fieldproxy is one price per company with unlimited users; see /pricing.
How switching works
How switching to Fieldproxy works
We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.
Send three old reports
Pick reports where you already know the mistakes, plus the client's checklist and any rejection emails.We write the rules with you
Each client requirement becomes a yes or no question per item. We set the table fields and how photos link to rows.Run the old reports and compare
We check what the AI flags against the mistakes you know about, and tighten rules until analysts trust the list.Go live on new reports
New reports flow through review, analysts clear flags and approve, and clients see approved reports on their portal.
FAQ
Questions people ask
- Can an AI agent read a 300-page inspection PDF?
- Yes, but not well in one prompt. Split it into one packet per device or section, check each packet against its rows, and merge the exceptions. Model page limits are high, but dense photo pages can fill the context window first.
- Can it check photos against the device data in the report?
- Yes. Extract the table, link each photo to its row, and ask whether the photo shows that device and whether the label matches. Crop labels and serials, since small or rotated text is where vision models make mistakes.
- Can I tell it to check specific item IDs?
- Yes. Add a rule that lists the IDs, for example the items the client rejected last month, and every report gets those checked first.
- How much does AI review of a report cost?
- It is tokens per page times pages times reports. As a worked example, a 300-page report at about 3,000 tokens a page on a mid-size model is around $2 at list price, about half that with batch pricing. Count tokens on your own reports before budgeting.
- Will it slow down the engineers in the field?
- No, if the review runs in the office after upload. Engineers keep working; the analyst gets the exception list. Add phone checks only for the few photos most often missing.
- Can the AI approve the report and send it to the client?
- It should not. Let it flag, and have a person clear each flag and approve. That keeps the signature and the liability with the people who are qualified to give them.
- How do I know it is not missing problems?
- Run it on old reports with known mistakes and count what it catches. Keep spot checking a few passed items each week, and re-test whenever you change a rule or a model.
Sources
Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.
- Anthropic: PDF support (page limits, splitting dense PDFs, tokens per page): https://platform.claude.com/docs/en/build-with-claude/pdf-support
- Anthropic: Vision (image tokens and limitations): https://platform.claude.com/docs/en/build-with-claude/vision
- Anthropic: Message Batches API (50% cost, most batches under 1 hour): https://platform.claude.com/docs/en/build-with-claude/batch-processing
- Anthropic: model pricing: https://platform.claude.com/docs/en/about-claude/pricing
- Google: Gemini document processing (1,000 pages, 258 tokens per page): https://aistudio.google.com/docs/document-processing
- OpenAI: Batch API (50% discount, 24 hour window): https://developers.openai.com/api/docs/guides/batch
- OpenAI: images and vision (detail levels and limitations): https://developers.openai.com/api/docs/guides/images-vision
- Microsoft: Document Intelligence Layout model (tables, figures, 2,000 pages): https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/prebuilt/layout
- Quickbase: FastField AI Photo Insights: https://www.quickbase.com/blog/fastfield-ai-photo-insights-launch
- Switch Labs: Verdict Capture for telecommunications: https://verify.switchlabs.dev/industries/telecommunications
Related
Keep reading
- How can AI check technicians' job photos before a job is closed?
- How do I produce field inspection reports in my own format, with an engineer review before they go to the client?
- Approval workflows
- Customer portals
- What is the best field service software for a 5-10 person HVAC team?
- Cheaper ServiceTitan alternatives for small plumbing and HVAC companies, without payment processor lock-in