On this page
Get started
dense CLI
API reference
Overview
condense.chat sits between your app and your LLM provider. Point your SDK at api.condense.chat/{provider}, add your condense key, keep your provider key. condense compresses the repeated context in each request before forwarding it upstream: same API shape, same responses, fewer input tokens.
Developer quickstart
Point your SDK at a condense provider route, add your condense key, and keep your provider key. Same request and response shape, just fewer input tokens on the way upstream.
bash# route Claude Code through condense
dense claude
# or point any SDK at a provider route
export ANTHROPIC_BASE_URL="…/anthropic"
export OPENAI_BASE_URL="…/openai/v1"
# base host: api.condense.chatOverview
Base URL: https://api.condense.chat. Every endpoint requires a condense API key. The dialect is selected by the path prefix; by default we compress and forward to the provider, and an X-Condense-Upstream-Url header points the same proxy at any endpoint that speaks the same request shape.
| Anthropic dialect | POST /anthropic/v1/messages. Drop-in for the Anthropic SDK / Claude Code. |
|---|---|
| OpenAI dialect | POST /openai/v1/chat/completions. Drop-in for the OpenAI SDK. |
| OpenAI Responses | POST /openai/v1/responses. Drop-in for the OpenAI Responses API / Codex. |
| Compress | POST /v1/compress. Compress a transcript directly; no upstream call. |
| Pass-through | Any other path under /{provider}/… (models list, embeddings, etc.) is forwarded verbatim. |
| Upstream | Header X-Condense-Upstream-Url. Forward to an arbitrary OpenAI- or Anthropic-shaped endpoint instead of the provider default. |
Sign up & mint a key
- Open login.condense.chat and sign in with Google or email.
- Visit your dashboard → New API key.
- Copy the generated
ak_…secret. It is shown once; the dashboard only retains a suffix abbreviation afterwards.
Keep your upstream provider key (sk-ant-… for Anthropic, sk-… for OpenAI) handy. It travels alongside the condense key on every request.