Documentation
Most people never need this page — open the portal, drop photos in and export the result. This is for getting the most out of each workflow, and for wiring one into software you already run.
Each workflow reads every photo on its own terms, then writes one document across all of them. That second pass is why twenty photos come back as a single report instead of twenty disconnected notes.
Up to 20 photos. Per photo it records the view, the dominant construction material, permanent features and each visible defect with a severity of none, minor, moderate or severe and a location. The report consolidates duplicates — the same defect photographed twice is one finding — and ends with what the photos do not cover, which is the line that keeps a file honest.
It does not estimate costs and it will not report damage it cannot see. If you need a repair estimate, that is a judgement call for you, not for the photos.
Up to 12 aerial or GIS screenshots. Per parcel: canopy and cleared percentages, terrain, visible road access, structures and water features, plus a confidence level. The summary gives a one-line verdict per parcel and splits them into worth-a-look and pass, naming the disqualifying feature. Feed it screenshots in the order of your list and the verdicts come back in that order.
Up to 30 photos. Per photo: room, visible selling features, materials and finishes, condition, and one sentence of accessible alt text. The report is a headline, two or three paragraphs, and up to six highlight bullets.
It will not state square footage, lot size, age, school district or price — none of that is visible in a photograph, and a listing description that invents them is a problem you do not want. It also describes the property rather than the buyer, which keeps the copy on the right side of fair housing rules. Read it before you publish it.
Up to 8 images and your own instruction. Ask for one thing and say what shape you want it in — "Reply with only a number." or "Reply as JSON with keys make, model, colour." — and that is what comes back, per image.
The three fixed workflows already know their job, so the context box is for what the photos cannot tell them: an address, a claim number, "focus on the north slope", "the garage is not part of this claim". Short and specific beats long. Anything you put there appears in the report's framing, so do not paste anything you would not want in the finished document.
| Button | What you get |
|---|---|
| Save as PDF | Your browser's print dialog, laid out for paper — the report and the per-photo table, no site chrome. Choose "Save as PDF" as the destination. |
| Download CSV | One row per photo with that workflow's columns. Opens in Excel, Sheets or Numbers. |
| Copy | Whichever tab you are looking at, as plain text, ready to paste into your own system. |
12 MB an image, 1,000 characters of context. Jobs run one at a time, so a busy moment queues you rather than failing — the portal tells you where you are in line. A twenty-photo inspection takes roughly a minute.
The free trial is 10 images a day per visitor, with every workflow and every export unlocked. Paid plans lift that to a monthly allowance; enter the key we send you from the button in the top right of the portal and it is remembered in that browser.
Each image is deleted the moment it has been read — before the report is even finished. Nothing is retained after a job, nothing is used for training, and everything runs on hardware we own and operate in the United States. Your photos are not passed to any third-party service.
On Studio and Scale plans the same workflows are available over HTTP: one image, one JSON response. Authenticate with the key we issued.
curl https://api.northerntechcircuit.com/v1/analyze \ -H "Authorization: Bearer $NTC_KEY" \ -H "Content-Type: application/json" \ -d '{ "workflow": "adjuster", "image": "<base64 jpeg>" }'
{ "model": "ntc-vision-1", "workflow": "adjuster", "result": { "view": "roof, north slope", "material": "architectural asphalt shingle", "features": ["chimney", "ridge vent"], "damage": [{ "item": "hail bruising", "severity": "moderate", "location": "upper third of the slope" }], "confidence": "high" } }
Pass "workflow": "custom" with your own "prompt" for a free-text answer instead of fields. GET /v1/usage with the same header reports where the key stands this month.
| Code | Meaning |
|---|---|
| 200 | Analysis complete. |
| 400 | Unreadable or unsupported image, or a missing prompt on a workflow that needs one. |
| 401 | Missing, malformed or revoked key. |
| 413 | Image over 12 MB. |
| 429 | Monthly allowance reached. |
| 503 | Momentarily saturated. Honour Retry-After and send it again. |