Kelly Intelligence API

OpenAI-compatible AI tutor API. 162,000 words in 47 languages, powered by Claude. Drop-in replacement for any OpenAI client.

162KWords
47Languages
74KLessons
6Models
Get Free API Key Quick Start

Quick Start

Works with any OpenAI-compatible client. Just change the base URL.

curl https://api.thedailylesson.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kelly-haiku",
    "messages": [{"role": "user", "content": "What does ephemeral mean?"}],
    "stream": true
  }'
import requests

response = requests.post(
    "https://api.thedailylesson.com/v1/chat/completions",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "kelly-sonnet",
        "messages": [{"role": "user", "content": "Teach me about 'serendipity'"}]
    }
)
print(response.json()["choices"][0]["message"]["content"])
const res = await fetch('https://api.thedailylesson.com/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'kelly-haiku',
    messages: [{ role: 'user', content: 'What does ubiquitous mean?' }],
  }),
});
const data = await res.json();
console.log(data.choices[0].message.content);
# Works with the official OpenAI Python SDK!
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.thedailylesson.com/v1",  # just change the base URL
)

response = client.chat.completions.create(
    model="kelly-sonnet",
    messages=[{"role": "user", "content": "Explain 'paradigm' like I'm 12"}],
    stream=True,
)
for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

Models

Kelly models include the AI tutor persona + vocabulary RAG. Claude models include RAG only.

ModelEngineBest ForMin Tier
kelly-haikuClaude Haiku 4.5Fast tutoring, quizzes, definitionsFree
kelly-sonnetClaude Sonnet 4.6Deep explanations, lesson generationDeveloper
kelly-opusClaude Opus 4.6Curriculum design, complex pedagogyPro
claude-haikuClaude Haiku 4.5Fast general AI + vocab contextFree
claude-sonnetClaude Sonnet 4.6Balanced general AI + vocab contextDeveloper
claude-opusClaude Opus 4.6Most capable AI + vocab contextPro

Drop-In Compatible

Works with every tool that supports OpenAI's API format. Just change the base URL.

OpenAI Python SDK OpenAI Node SDK LangChain LlamaIndex Cursor Continue.dev AutoGen CrewAI Semantic Kernel Any OpenAI client

Endpoints

POST /v1/chat/completions

Generate a chat completion. Supports streaming.

ParameterTypeRequiredDescription
modelstringNoDefault: kelly-haiku
messagesarrayYesArray of {role, content} objects
streambooleanNoEnable SSE streaming
max_tokensintegerNoMax output tokens (default 1024, max 8192)
temperaturenumberNo0-1, controls randomness
top_pnumberNoNucleus sampling

GET /v1/models

List available models and your access level.

GET /v1/usage

View your usage stats, limits, and recent requests.

Pricing

Free

$0
  • 500 requests/month
  • Haiku models only
  • Vocabulary RAG
  • Streaming support
  • Community support
Get Started

Pro

$99/mo
  • 25,000 requests/month
  • All 6 models incl. Opus
  • Kelly AI tutor persona
  • Priority support
  • Usage analytics
Go Pro — $99/mo

Enterprise

Custom
  • Unlimited requests
  • All models + SLA
  • Custom Kelly persona
  • Dedicated support
  • White-label option
Contact Sales

Authentication

All requests require a Bearer token in the Authorization header.

Authorization: Bearer lotd_your_api_key_here

Get your free API key at email-engine.nicoletterankin.workers.dev/developers

Why Kelly Intelligence?

FeatureRaw Claude APIKelly Intelligence
162K vocabulary database✓ Auto-injected via RAG
47 language translations✓ 601K translations
AI tutor persona✓ Kelly (12 archetypes)
Education guardrails✓ Age-appropriate, factual
OpenAI format✓ Drop-in compatible
Usage dashboardBasic✓ Per-model analytics
Structured lessons✓ 74K lessons, 5-phase method