Blog/Automate the Boring 80% With an LLM
Automation

Automate the boring 80%, with an LLM that never bills per token

By Samuel Seidel · Updated September 5, 2026 · 7 min read

The LLM project that pays back fastest usually has no chat window. It is a scheduled job that reads every document, ticket and spreadsheet row that came in overnight and does the boring part before a person opens it. Most companies start with a chatbot anyway.

Chat is the demo. Batch is the business case.

A chat interface makes a good demo because a person is in the loop, typing, watching it think. Most operational work is a queue, not a conversation. Invoices arrive. Contracts get uploaded. Support tickets pile up overnight. Reports need writing every Monday. Someone, somewhere, is currently reading these one at a time and typing a summary or a category into a field.

An LLM can do that first pass unattended and without a UI, as long as two things hold: the model can run over the entire volume, not a sampled slice, and the documents can go to it without landing in an AI vendor's API.

Six batch jobs worth automating first

None of these need a chat window. Each is a script that reads a row or a file, calls a model and writes a result. Scripts like that have existed since regex; the difference is that the model reads the document instead of pattern-matching it.

The marginal token is free

Per-token API pricing is built for chat: a person types a question, waits and reads an answer. Point it at a queue of ten thousand documents and the bill scales with volume, so "run the model over everything" becomes a line item someone has to approve.

Rough, generic numbers to show the shape. API pricing varies by provider and model class, so treat these as ballpark ranges, not quotes:

Per-token API (generic range)Flat-rate dedicated DGX Spark
Pricing basis~$0.15–$3 per million tokens, varies by model tier$0.79/hr for one node; usage depends on runtime
10,000 docs/day, ~1,500 tokens each (in+out)~15M tokens/day → roughly $70–$1,300/mo depending on model tier$576.70 for 730 running hours before tax; benchmark your workload to determine capacity
Cost of processing the whole backlog, not a sampleScales linearly, the safe move is to sample and skip most of itNo per-token cost; running it over everything is the default
Where the data goesEvery document goes to a third-party AI vendor's APIGoes to your own model on a dedicated machine in EU-Central, or stays on a Spark you own
Rate limits / throttlingProvider-imposed, tightens under batch loadNone beyond the machine's own throughput; you set the queue depth

At low volume, per-token APIs are cheaper than renting a machine. What matters is the shape of the curve. A per-token bill grows every time you use the model more, so someone ends up deciding what not to run it on. A flat-rate machine reverses that: once it is running, the cheapest use of idle GPU time overnight is to run it over everything you have.

There is still a ceiling. My planning figure is that a 32B model on one Spark sustains roughly 10–15M tokens a day under batched load, which is what the 10,000-documents-a-day row assumes; measure your own workload before relying on it. Past that you add nodes. At real document volumes, tens of thousands a month, the crossover comes fast. The spreadsheet also misses the data question: your documents go to your own model, not to an AI vendor's API, so no vendor retention or training policy applies.

A practical architecture

You don't need a platform team to build this. The whole thing is: a scheduler, a queue of documents, and an OpenAI-compatible endpoint.

# serve a capable model with an OpenAI-compatible API, see our vLLM guide
# /dgx-spark/guides/serve-qwen3-vllm
pip install vllm
vllm serve Qwen/Qwen3-32B-AWQ --host 0.0.0.0 --port 8000

# any workflow tool or script now treats it like OpenAI
curl http://spark.local:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"Qwen/Qwen3-32B-AWQ","messages":[{"role":"user","content":"Classify this invoice: ..."}],"response_format":{"type":"json_object"}}'

From there, two shapes cover most real deployments:

Either way, the pattern is the same: batch the requests, use structured output (JSON mode or a strict schema in the prompt) so downstream systems can consume it without parsing prose, and let the job run unattended overnight.

Keep a human on judgment calls

Be honest about what this replaces. A model is very good at first-pass work and consistently mediocre at final judgment calls.

So automate the mechanical parts (reading, extracting, sorting, drafting) and keep a person on the parts that need judgment. That split alone usually removes most of the manual grind.

Related pages

First top-up: pay $10, get $20 in credit

Put the queue on a machine that doesn't meter you.

Point your overnight batch job at a dedicated Spark in EU-Central. Start with public or synthetic documents; real business documents need a signed DPA and an agreed setup.

A dedicated DGX Spark in EU-Central, $0.79/hour, billed per minute. $20 of credit is about 25 hours of compute.

Create account Talk to us