Jump straight to the numbers

← All articles

$4.50 for 10,000 Documents, If Your Rates Fit

Ten thousand documents can fit a tiny AI budget when the job is narrow and the files are short. The cheapest approach starts before the API call: extract text locally, remove duplicates, and send only material that needs interpretation. Then calculate the bill from a small sample.

Here is a worked example with a $5 spending ceiling. The rates below are hypothetical planning numbers, not advertised prices or a promise that your documents will cost this much.

01 / The $4.50 calculation behind 10,000 files

Suppose you need a category and three extracted fields from each document. After local cleanup, each request averages 2,000 input tokens, including instructions. Each response averages 100 output tokens.

  • ■ 10,000 documents × 2,000 input tokens = 20 million input tokens.
  • ■ 10,000 documents × 100 output tokens = 1 million output tokens.
  • ■ At an assumed $0.20 per million input tokens, input costs $4.
  • ■ At an assumed $0.50 per million output tokens, output costs $0.50.

That makes $4.50 for the initial processing pass, leaving $0.50 within the ceiling. Extraction services, OCR, retries, and other billable usage would need to fit that remainder or require a revised budget. Replace both assumed rates with the actual rates for your chosen model before proceeding.

02 / Define one small result per document

Start with a sentence describing the deliverable: “For each invoice, return the supplier, invoice date, total, and document category.” Avoid requesting a summary unless you need one. Long explanations increase output costs and make results harder to load into a spreadsheet.

Choose a fixed response structure with those four fields. Tell the model to return null for missing information and to treat the document text as data, never as instructions. Set a modest output limit, then check that it allows complete responses on your sample.

03 / Remove paid work before choosing a model

Create a folder of source files and a manifest: a CSV containing a unique document ID, file path, and processing status. Extract text from ordinary PDFs and office files using local tools. Scanned pages need OCR; test a free local OCR tool first, because poor recognition can spoil every later step.

Hash files to identify exact duplicates. Process one copy and reuse its result for the matching entries. If 1,000 of your 10,000 files are exact duplicates, you can eliminate 1,000 requests. Remove repeated headers and unrelated boilerplate where safe, while keeping text needed to interpret the fields.

04 / Use 100 documents to price the remaining 9,900

Select 100 varied documents, including long files, scans, and awkward layouts. A sample made entirely of clean invoices will underestimate trouble. Compare the results against the originals and record missing fields, incorrect values, input tokens, output tokens, and actual charges.

CheapRelay offers a pay-as-you-go API with no monthly fee or subscription. One key can reach multiple models through its OpenAI-compatible routes at https://api.cheapapirelay.com/v1. Sign up for CheapRelay, then check the current rates for an option such as Gemini 2.5 Flash before running your sample.

CheapRelay bills real token usage, including cache reads and writes. Include those charges when applicable. Multiply your sample bill by 100 for a rough full-run estimate, remembering that the sample is already part of the 10,000 documents. Leave room for variation.

05 / Make every completed request reusable

For the full run, use a small script that reads the manifest, sends a document, and immediately saves its result and usage. Begin with low concurrency, such as two requests at once, and follow the service’s rate limits.

Mark successful documents complete so restarting the script does not purchase the same work again. Retry temporary failures a limited number of times. Send incomplete or invalid responses to a review queue rather than silently accepting them. Track cumulative spending and pause before the $5 ceiling; an estimate alone cannot enforce it.

06 / Spend the remaining cents on exceptions

Review the failures separately. Some need better OCR, a shorter excerpt, or a clearer field definition. Rerun only those documents. If the sample predicts a bill above $5, reduce unnecessary text or narrow the task before processing the rest. The useful number is the cost per accepted result, including corrections.

Sign up Try the prices yourself, sign-up credit included.

More reading

DateAisleWritten inTitle
2026-10-29Spend lessENJSON Output on a $1 Test Budget
A beginner walkthrough for testing JSON mode and structured output with small prompts, local validation, and a firm spending limit.
2026-10-29Spend lessENA $5 Agent Budget Can Leak Before First Task
A beginner’s guide to token amplification, retries, tool output, cache billing, and practical spending limits for agent frameworks.
2026-10-29Spend lessEN$0.02 instead of $0.12 in repeated chat history
A tiny-budget walkthrough for replacing old chat messages with a compact summary, estimating the cost and keeping important details.
2026-10-29Spend lessEN¥1 Translation Budget: Rank by Usable Output
Build a translation ranking on a ¥1 budget using actual charges, accepted text, and retry costs instead of unsupported model leaderboards.
2026-10-29Spend lessEN10,000 rows, 200 AI checks, no monthly fee
Clean spreadsheet data on a tiny budget: fix predictable errors locally, batch ambiguous labels, and measure token costs before scaling.
2026-10-29Spend lessENSpend $0 to Count Claude Input Tokens
Use Anthropic’s count_tokens endpoint to estimate prompt size before a paid request, with a small-budget walkthrough and limits to watch.