Echols API
Your own private model, in the tools you already use.
Point Claude Code, Codex, Cline, or any OpenAI/Anthropic-compatible app at Jah — a private model on dedicated hardware. OpenAI andAnthropic API formats. No CLI to learn. Your prompts never train anyone's model.
Your API keys
No keys yet.
Quickstart
Base URL: https://echols.ai/v1 · Model: jah
OpenAI format — curl
curl https://echols.ai/v1/chat/completions \
-H "Authorization: Bearer $ECHOLS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jah",
"messages": [{"role": "user", "content": "Write a haiku about privacy."}]
}'OpenAI format — Python SDK
from openai import OpenAI
client = OpenAI(
base_url="https://echols.ai/v1",
api_key="sk-echols-...",
)
resp = client.chat.completions.create(
model="jah",
messages=[{"role": "user", "content": "Hello, Jah."}],
)
print(resp.choices[0].message.content)Anthropic format — curl
curl https://echols.ai/v1/messages \
-H "x-api-key: $ECHOLS_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "jah",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello, Jah."}]
}'Run Claude Code on Jah
export ANTHROPIC_BASE_URL="https://echols.ai"
export ANTHROPIC_API_KEY="sk-echols-..."
claude # now runs on your own private modelPricing
API access is included with your Echols plan. Higher tiers raise your rate limits. It's the same private model behind the app — your own sovereign endpoint, not a reseller of someone else's cloud.
See plans →