Compression control
Intensity levels
Three levels let you trade compression against readability. lite is gentle, full is the sweet spot, ultra is maximum density. Set a default per API key, override per-request if needed.
The three levels
| Level | Avg. savings | Feel | Use when |
|---|---|---|---|
lite | ~40% | Professional, natural prose. Articles preserved. | Customer-facing output, marketing copy, anything a user reads directly. |
full (default) | ~65% | Fragment style. Articles dropped. Still grammatical enough to read fast. | Internal tools, dev workflows, technical explanations, summaries for other AI. |
ultra | ~75% | Maximally abbreviated. Uses arrows (→) for causality. Almost a notation. | Logs, pipelines, agent-to-agent communication, places where no human reads the output. |
Setting a default per API key
Every mintoken key has an intensity field. Set it when you create the key (in the dashboard or via POST /v1/auth/keys with intensity: "ultra") and every request authenticated with that key uses it.
Per-request override
Sometimes you want ultra for machine-to-machine traffic but lite for anything shown to a user. Override with X-Mintoken-Intensity or the ?intensity= query param:
curl https://api.mintoken.in/v1/chat/completions \
-H "Authorization: Bearer mt_live_xxxxx" \
-H "X-Provider-Key: sk-proj-xxxxx" \
-H "X-Mintoken-Intensity: ultra" \
-H "Content-Type: application/json" \
-d '{ "model": "gpt-4o-mini", "messages": [...] }'
Pick one and stick with it at first
If you're starting out, keep your API key on
fulland don't override. Once you have a week of data in analytics, look at which endpoints deliver customer-facing content and carve out a separate API key on lite for them.Confirming what ran
Every response includes an X-Mintoken-Intensity response header with the intensity mintoken actually used for that request. If you have smart detection enabled, this tells you what the classifier picked.