Your monthly AI allowance
The free plan and every current plan include 500 AI requests a month, and the pricing page offers larger allowances. Only the endpoints listed below spend it. Everything else, such as creating an index, a keyword search, a crawl, a backup or reading logs, never counts.
- The allowance starts again on the first day of every month. Unused requests do not carry over.
- It belongs to the account that owns the index, whoever makes the call: you, a team member, your site or a visitor.
- See what you used under Account › API Usage.
- The calls per minute and per hour are a separate limit: Rate limits.
The endpoints that count
This list is read live from the platform, so it always matches what the API counts.
| Endpoint | How it is counted |
|---|---|
embed |
One text or one search query turned into a vector. Counts 1. |
batch_embed |
Up to 50 documents embedded in one call. Counts once per document, not once per call. |
ai_summary |
One answer or summary written from your own documents. Counts 1, and only when it is not already cached. |
image_to_text |
One picture read into search words: its text read by OCR (0.5) and what it shows worked out (0.5), 1 in all. With meaning_only, the description alone: 0.5. A picture answered from cache counts nothing. |
embed_and_search |
A hybrid query embedded and run in one round trip. Counts 1, and only when the query vector is not already cached. |
embed_opensolr_index |
Every document already in an index embedded in bulk. Counts once per document encoded. |
image_clip |
One picture read into search words by what it shows, no OCR. Counts 0.5 per picture the model ran on; a cached picture counts nothing. |
image_index |
Up to 5 pictures read into search words with CLIP, each with the vector of those words. Counts once per picture that needed the GPU, not once per call. |
image_ocr |
Up to 5 pictures, each read for the text printed in it (receipts, labels, screenshots). Counts 0.5 per picture actually read; a picture read before is free. |
doc_to_text |
Up to 5 documents (PDF, Word, RTF, OpenDocument, HTML, text) read into plain text; a PDF page by page, with the pictures inside it read by OCR. The text itself is free; each picture OCR actually reads counts 0.5. A document read before is free. |
What counts as one request
One request is one piece of work that really ran for you.
- Batches count per item. A
batch_embedwith 50 documents counts 50. - Cached answers are free. When Opensolr already has the result, nothing runs and nothing is counted.
- Failures are free. A call that did not produce a result is not counted.
- Pictures count half. Reading the text printed in a picture counts 0.5, working out what it shows counts 0.5. The plain text of a document is free: only its pictures count. On an Opensolr Photos index, every photo counts 0.1. See it live on the OCR search demo.
Without calling the API yourself
- The hosted search page counts only the AI work a search triggers: the meaning of a new query (1, as
embed) and each AI Hints or AI Reader answer not already cached (1, asai_summary). A keyword search is free. - The chat bot counts each step its assistant takes to answer (1 each, as
ai_summary), each search by meaning it runs (1, asembed_and_search) and each picture of your site it describes (1, asai_summary). Its commands that only look something up are free. - The crawl of your site counts the meaning vector of each page it indexes (1 per page) and the description of pictures without text inside the PDFs it finds (0.5 each). Reading the text in pictures during a crawl is free.
The same, explained for site search: What site search uses from your plan.
When a call is refused
- AI switched off on the plan of the index owner:
403 VECTOR_NOT_ALLOWED, before any work and before anything is counted. - The month's allowance is used up:
429 Too Many Requests, with aRetry-Afterheader holding the seconds until the allowance starts again, and a body that says where you stand:
{
"status": false,
"msg": "ERROR_AI_MONTHLY_QUOTA_EXCEEDED",
"cap": 10000,
"used": 10000,
"requested": 50,
"resets_at": "2026-11-01 00:00:00"
}
Nothing else stops: your indexes stay online, keyword searches keep working, and so does every endpoint that does not count. For more requests, pick a larger AI allowance on the pricing page.