Try it now
Paste into Claude Code, Cursor, or any agent
Use SaveToken to show me real cost savings on my own file. 1. Get a free key: curl -X POST https://api.savetoken.org/v1/keys/free 2. Ask me for a log, JSON, or tool-schema file I actually have. If I have no real file, GET https://savetoken.org/demo-samples.json and POST the Tool schema sample (id: schema). Never invent mixed JSON or a dummy traceback. 3. Call POST /v1/optimize with that file's content and my new key. 4. Print a receipt: tokens_in, tokens_out, % reduction, dollars_saved, and verdict. 5. If verdict is NEUTRAL, say so plainly — don't round it up to a win.
Works with any agent that can make an HTTP call. No SDK required.
n8n
Drop it into an n8n workflow
One HTTP Request node before your OpenAI / Anthropic node:
Method POST
URL https://api.savetoken.org/v1/optimize
Header Authorization: Bearer YOUR_KEY
Body { "text": "{{ $json.log }}" }
Then point your model node at {{ $json.optimized }} instead of the raw text. Nothing else changes.
Mechanism
How it actually works
Three deterministic mechanisms. We pick the one that fits your payload shape, run a programmatic proof, and only ship a smaller version when the proof passes. No pixel rendering, no guessing, nothing paraphrased.
Uniform JSON arrays
A repeated key set is sent once, not once per row. Round-trip equality checked before shipping.
Tool / MCP schemas
Minified losslessly by default. Descriptions trimmed only with logged proof your agent still picks the right tool.
Logs & tracebacks
Library-internal frames dropped. App frames and the root-cause line survive byte-for-byte.
curl -X POST https://api.savetoken.org/v1/optimize \ -H "Authorization: Bearer YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"text": "<your dense JSON / log / tool schema>"}' # -> {"optimized": "...", "verdict": "WIN", "dollars_saved": 0.014, ...} # Send `optimized` to Claude/OpenAI/whichever provider you already use. # We never see your LLM key and never call the model ourselves.
Comparison
Why not just...
| Approach | What it costs you | SaveToken |
|---|---|---|
| Summarize the prompt | Meaning drifts — the model answers a slightly different question | ✓ Structural re-encoding only; nothing paraphrased or generated |
| Truncate the payload | Real data silently disappears | ✓ Round-trip proof required — every record survives, checked programmatically |
| Route to a cheaper model | Answer quality drops with the model tier | ✓ Same model, same provider — we only shrink what you send it |
| Run a free open-source tool | You install, host, and keep it updated — and unmaintained repos fall behind | ✓ Hosted, maintained, and continuously improved — one API call, nothing to run |
Support
FAQ
Does this call the model for me?
No. We return a smaller version of your text; you send that to Claude/OpenAI/whichever provider you already use, with your own key.
Will this ever make my bill worse?
Every transform is checked before it ships — a request that can't be safely reduced is marked NEUTRAL and passed through unchanged, never inflated.
What content types does this help with?
Machine-generated content — JSON arrays, tool/MCP schemas, logs and tracebacks. Human prose sees little to no benefit; we don't claim otherwise.
Do you see my LLM API key or my data content?
We process the text you send us to produce the optimized version; we never see or store your downstream LLM provider key.
What about privacy — do you store my data?
No. We log token counts, dollars saved, and verdict per call — never the request or response text itself.
Does it work with non-Claude LLMs?
Yes — since we never call the model ourselves, the optimized text works with Claude, ChatGPT, Gemini, or anything else you send it to.
Does it break Claude's / OpenAI's prompt caching?
No — the stable prefix (system prompt, tool definitions) is marked by you and never touched. Only the dynamic tail gets compressed, so cached reads stay cheap.
Is there a free trial?
Yes — 100 free calls/day, no card required.
Can I cancel?
Anytime. Pick monthly, quarterly, or annual billing at checkout — cancelling stops future billing, no lock-in.
Get started