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.chat

Overview

Base URL: https://api.condense.chat. Every endpoint requires a condense API key. The dialect is selected by the path prefix; an X-Condense-Function header picks whether we forward to the upstream or just return the rewritten body.

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.
Function Header X-Condense-Function: proxy | rewrite, default proxy.

Sign up & mint a key

  1. Open login.condense.chat and sign in with Google or email.
  2. Visit your dashboardNew API key.
  3. 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.