A Summary tab, generated once and kept

A saved document now has a third tab beside Preview and Markdown: three to five sentences that say what it says, so you can tell what something is without opening it. The first open generates it; after that, reading it again is free. Regenerate is one click, for a document that has moved on since.

A history with forty documents in it is forty names, and a name tells you almost nothing about a report somebody else converted three weeks ago. The question in front of that list is always the same — what is this, and is it the one I want — and opening each candidate to find out is the slow way to answer it.

What the tab holds

A saved document has a third tab beside Preview and Markdown, called AI Summary: three to five sentences of plain prose saying what the document says. No headings, no bullet points, no restating the title — the point is something you can read in ten seconds and then decide.

It needs a saved document, and says so rather than leaving the tab mysteriously empty: the text is stored on the document, so there has to be a document to store it on.

Generated once

The first open asks the model. What comes back is written onto the document along with the time it was made, and every open after that reads that copy — no second call, no waiting, and nothing counted against anything. Regenerate is there for a document that has moved on since, and is the only thing that asks again.

The model is Gemini Flash, called directly rather than through a gateway, with its reasoning turned off: three sentences is a small task, and there is no sense paying a bigger model's latency for it. The first 60,000 characters of the source are what it reads, which is a token budget rather than a judgement about long documents — a summary only needs to have read the thing once.

The limit

Twenty summaries a day per account. Past that the request comes back saying so and asking you to try again tomorrow; reading summaries you already have is unaffected, because those never reach the model. The count is per account per day and lives in its own tally, so a burst of ordinary API requests cannot eat into it.

From a program

POST /api/v1/documents/:id/summary returns the same text with the same cache behind it — ?force to regenerate — and tp summary <id> is the same thing from the CLI. An assistant with the connector attached calls tp_summarize_document, which is how a chat can triage a folder of documents without pasting any of them into the conversation.

It is a summary, not an extract: a document whose value is in its exact numbers or its table is a document to open. This is for deciding whether to.

Related: free AI document summarisers, compared, and turning an assistant's output into a page.