Skip to main content

1. Pick an approach

Default to System One for a fixed label set. Use chat completions when the label set is not fixed. Use them when you need an explanation with the label.

2. Classify a page image

Add any yes/no checks the pipeline needs. Send the questions with an image_url part. The System One quickstart has the same call in Python, Node.js, cURL, and the CLI. It shows the shape of the reply.
An input with no detail is read at 280 vision tokens. Classification rarely needs full page detail. Set "detail": "low" to read at 70, as the examples here do. That bills 4x fewer image tokens. Latency stays the same. See Inputs.

3. Classify a PDF

Pass the PDF as a file part. The route rasterises the first 8 pages at 96 DPI. That is one call, with no OCR pass before it. Keep detail at low. Document kind does not need small print.
A request carries images or one document, never both. The document’s pages are the read’s images. A longer PDF is answered from its opening pages. To read every page, fan out per page on chat completions.

  1. Act on the confidence

confidence runs from 1 (all mass on one label) to 0 (uniform).
Thresholds are model-specific. Tune them on a labelled sample of your own documents, and re-tune whenever you change models.

System One

Question types, images, confidence, and cost levers.

Document OCR

Reading documents to markdown or structured blocks.

System One API

Request and response reference.

Models

Catalog, capabilities, and accepted inputs per model.