llm11

Quickstart

Your request format doesn’t change. Only the base URL does.

Step 1

Create an API key

Sign up, then create a key from /app/keys. It starts sandboxed - swap to a live key when you’re ready.

Step 2

Swap your base URL

# Before
curl https://api.openai.com/v1/chat/completions ...

# After
curl https://llm11.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_LLM11_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role": "user", "content": "Summarize this in one sentence."}]
  }'

Step 3

Pass context to unlock groundedness checking

curl https://llm11.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_LLM11_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "context": "Refunds are issued within 5 business days of a qualifying cancellation.",
    "messages": [{"role": "user", "content": "How long does a refund take?"}]
  }'

Omit context and that check simply doesn’t run - nothing else changes.

Step 4

Read the receipt

Every response includes an _llm11 block and matching x-llm11-* response headers: model used, verdict, cost, and what your declared baseline model would have cost for the same tokens.

Using an Anthropic SDK instead? Point it at https://llm11.com/v1/messages - same key, same behaviour. Full reference: /docs/api.