Guides
Choosing a model
Swift, Summit and Compass compared: what each is for, what it costs, how auto chooses and how to choose yourself.
In short:
leave model
on auto
and Northdoc picks Swift or Summit by how much the document holds. Choose one
yourself when cost or accuracy matters more.
| Model | Best for | Reads up to | US$ per 1M tokens |
|---|---|---|---|
|
Swift model: "swift" northdoc-swift-1 |
Everyday documents: invoices, letters, forms, reports. Fast and economical, and what auto picks for most documents. | 180k tokens | $2.75 in · $13.75 out |
|
Summit model: "summit" northdoc-summit-1 |
Long or dense documents where accuracy matters most: contracts, financial statements, technical reports. | 900k tokens | $8.25 in · $41.25 out |
|
Compass embeddings: true northdoc-compass-1 |
Embeddings for search: one vector of 1024, 512 or 256 numbers per page. Not a reading model. | One vector a page | $0.10 |
How auto chooses
- After the pages are read, Northdoc measures how much the model will have to read: the text (about one token per four characters) plus the pictures.
- Up to about 150k tokens (roughly 250 pages of dense text) it uses Swift.
-
Above that, up to 900k tokens, it uses Summit. Bigger than that is refused with
document_too_large: split the document. - It goes by size, not difficulty. A short but dense contract goes to Swift unless you choose Summit.
Choosing one yourself
Set model
on the document to use it for the extraction and every question asked during ingest,
and on a question to use it for that answer. It only matters when the model runs, so
send it with an extraction
or queries. model.used
on the response says which one ran.
# Summit for a dense contract
curl -X POST "$NORTHDOC_API/documents" \
-H "Authorization: Bearer $NORTHDOC_KEY" \
-F file=@contract.pdf \
-F 'options={"model": "summit", "extraction": {"fields": ["parties", "dates", "amounts"]}}'
# Swift for one quick question about a document auto would give to Summit
curl -X POST "$NORTHDOC_API/documents/$DOC_ID/queries" \
-H "Authorization: Bearer $NORTHDOC_KEY" \
-H "Content-Type: application/json" \
-d '{"question": "What is the settlement date?", "model": "swift"}'
- Choose Summit when accuracy on hard documents matters most: legal and financial documents, long reasoning, subtle wording. It costs about three times as much as Swift.
-
Choose Swift
to keep costs down on everyday documents. A document too long for it (over 180k
tokens) is refused with a message suggesting
summitorauto.
Always up to date
Swift and Summit are kept current. When a better model becomes available, Northdoc moves
the name to it, so you get the improvement without changing a line of code: the option
values, the endpoints and the response shape stay the same. The version at the end of
model.used
moves with it (northdoc-swift-1
becomes northdoc-swift-2), so every result says exactly which model
produced it.
Compass is the exception. Vectors from two embedding models cannot be compared, so a
silent change would quietly break a search index. Compass changes only with notice, and
its version in embedding.model tells you which vectors to re-embed.