Visual understanding, on your schema

Ask an image a question. Get JSON back.

Routeser reads images and PDFs and answers in the exact shape your code expects. Name what you need — a value, a category, a yes-or-no check — and each answer comes back typed, not as a wall of text to parse.

Free plan: 20 page credits each month, no card required.

ReadsJPEG, PNG, WebP, PDF
AnswersValues, categories, checks
ReturnsTyped JSON, your field names
DeliveryPoll or signed webhook
extract.tsTypeScript client
// Three questions about one image, answered as typed JSON.
const { result } = await client.extractFile({
  file,
  idempotencyKey: "doc-2048",
  input: { fileName, mediaType, sizeBytes },
  schema: {
    version: "1",
    fields: [
      { name: "document_type", type: "enum",
        enumValues: ["invoice", "receipt", "form"] },
      { name: "total_due", type: "number" },
      { name: "is_signed", type: "boolean",
        description: "A handwritten signature is visible." }
    ]
  }
});
terminal resultcompleted
{
  "document_type": "invoice",
  "total_due": 1248.5,
  "is_signed": true
}

One contract

You write the question. We answer it.

Most vision APIs hand back what they saw and leave you to find your data in it. Routeser works the other way round: you declare the fields you want, and the response is those fields — same names, same types, every time.

That contract is the product. Models get better and the pipeline behind them changes; what your code integrates against does not.

Read a value

Totals, dates, names, reference numbers. Declare each one a number or a string and it arrives that way, not as text your code has to coerce.

Sort into categories

Give a field the list of categories you use and every image comes back labelled with one of them, never something you did not ask for.

Check what is there

Is it signed? Is the box ticked? Is the plate damaged? Describe what to look for and the answer comes back true or false.

How it works

Four steps from an image to data you can use.

  1. Write down the fields you want, with a type and — where the label is ambiguous — a sentence describing what to look for.
  2. Send the image or PDF. It uploads straight to the region you picked.
  3. Start the job with an idempotency key, so a retry never costs you twice.
  4. Take the answer from a poll or a signed webhook, and check it against your own rules before you act on it.

Use cases

Start from a workflow, not a blank schema.

Security

What happens to a file you send us.

Four things worth knowing before you send anything real. The trust center has the rest — including what we do not have yet.

Read the trust center

FAQ

Frequently asked questions

What can Routeser read?

JPEG, PNG, and WebP images, and PDF documents. A PDF is read page by page; an image counts as a single page.

Is this only for documents?

No. Anything you can photograph or scan works the same way: name the fields you want and Routeser answers them. Documents are simply the most common starting point, which is why the examples begin there.

What is it priced on?

Page credits. One image is one page and costs one credit; a PDF costs one credit for each page it renders.

Do I wait for the answer on the request?

No. Routeser accepts the job straight away and you collect the answer from a bounded poll or a signed webhook, so nothing in your stack has to hold a connection open.

Next step

Map one real workflow

Open the console to define a schema and evaluate Routeser with an authenticated workspace.

Open console