llms.txt
# AgentReady
> Cut your AI API bill, keep every answer. One HTTP call before your LLM squeezes the prompt (input tokens) and adds a short rule that makes the model answer terse, "caveman style" (output tokens). Code, numbers, URLs, errors, quotes and negations are never changed. Your LLM API key never touches AgentReady.
## Get an API key (30 seconds, free during beta)
https://agentready.cloud/quick-key — keys start with `ak_`.
## Endpoint
POST https://agentready.cloud/v1/compress
Authorization: Bearer $AGENTREADY_API_KEY
Body:
- messages (required): chat messages, OpenAI format
- compression_level: light | standard (default) | aggressive | caveman — input lever. caveman removes greetings, polite wrappers, hedges, filler and articles.
- output: off (default) | lite | caveman | ultra — output lever. Adds a system rule so the answer is short while code, data and requested formats stay complete.
- system: Anthropic-style system prompt (squeezed; the rule is appended and returned as `system`)
- provider: "anthropic" to always get the rule in `system` instead of a system message
Response: { "messages": [...], "system"?: "...", "output_rule"?: "...", "stats": { original_tokens, compressed_tokens, tokens_saved, reduction_percent, output_mode, output_rule_tokens, sent_tokens } }
## Python (OpenAI)
```python
import os, requests
from openai import OpenAI
def squeeze(messages):
try:
r = requests.post(
"https://agentready.cloud/v1/compress",
headers={"Authorization": f"Bearer {os.environ['AGENTREADY_API_KEY']}"},
json={"messages": messages, "compression_level": "caveman", "output": "caveman"},
timeout=3,
)
return r.json()["messages"] if r.ok else messages
except requests.RequestException:
return messages # never block on AgentReady
reply = OpenAI().chat.completions.create(model="gpt-4o-mini", messages=squeeze([{"role": "user", "content": "..."}]))
```
## Node (Anthropic)
```ts
const r = await fetch('https://agentready.cloud/v1/compress', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.AGENTREADY_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ provider: 'anthropic', system: 'You are a helpful assistant.', messages, compression_level: 'caveman', output: 'lite' }),
});
const { system, messages: squeezed } = await r.json();
// anthropic.messages.create({ model, max_tokens, system, messages: squeezed })
```
## Choosing levels
- Chat, support and agent prompts written by people: compression_level "caveman".
- Answers read by code or developers: output "caveman". End-user replies: output "lite". Agent-to-agent: output "ultra".
- Streaming, tools and function calling work unchanged: AgentReady runs before your LLM call.
## Links
- Docs: https://agentready.cloud/docs/quickstart
- API reference: https://agentready.cloud/docs
- Live playground: https://agentready.cloud/#playground
- Full reference for LLMs: https://agentready.cloud/llms-full.txt