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 model

Pricing

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 →