One API for 500+ AI models The Krater API is a REST API at https://api.krater.ai/v1 that gives you programmatic access to everything in Krater: chat with 500+ AI models, generate images and video, ...
The Krater API is a REST API at https://api.krater.ai/v1 that gives you programmatic access to everything in Krater: chat with 500+ AI models, generate images and video, text-to-speech, transcription, music, web search, AI detection, plagiarism checks, code, and documents — all billed in Krater credits from your plan.
Requests and responses follow OpenAI-compatible shapes wherever an OpenAI equivalent exists, so existing OpenAI SDKs work by changing the base URL. Full endpoint reference, examples, and error documentation live in the API docs.
API access is included on Ultra and Max plans.
| Plan | API access | Monthly credits | Chat context |
|---|---|---|---|
| Pro | Not included | 1500 | 150k tokens |
| Ultra | Yes | 4000 | 400k tokens |
| Max | Yes | 10000 | 1M tokens |
You can have up to 5 active keys. Keys look like kr_live_... and are sent in the Authorization header:
Authorization: Bearer kr_live_your_key
Revoke a key from the same panel at any time — revocation is immediate and permanent. Keys created by third-party apps over OAuth show a Connected app badge; revoking one also disconnects that app’s access.
curl https://api.krater.ai/v1/chat/completions \
-H "Authorization: Bearer kr_live_your_key" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-4o-mini","messages":[{"role":"user","content":"Hello!"}]}'
With the OpenAI Python SDK, just repoint the client:
from openai import OpenAI
client = OpenAI(
api_key="kr_live_your_key",
base_url="https://api.krater.ai/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Hello!"}]
)
Chat completions support streaming: pass "stream": true and responses arrive token-by-token over Server-Sent Events.
| Endpoint | What it does |
|---|---|
POST /v1/chat/completions |
Chat with 500+ models |
POST /v1/images/generations |
Generate images |
POST /v1/images/edits |
Edit images with a prompt |
POST /v1/images/upscale |
Upscale images |
POST /v1/videos/generations |
Generate video |
POST /v1/audio/speech |
Text to speech |
POST /v1/audio/transcriptions |
Speech to text |
POST /v1/audio/music |
Generate music |
POST /v1/audio/effects |
Sound effects |
POST /v1/audio/voice-change |
Voice changer |
POST /v1/audio/realtime/sessions + /finalize |
Real-time voice sessions |
POST /v1/text/detect |
AI text detection |
POST /v1/text/humanize |
Humanize AI text |
POST /v1/text/plagiarism |
Plagiarism check |
POST /v1/text/summarize |
Summarize text or URLs |
POST /v1/search |
Web search |
POST /v1/code/completions |
Code generation |
POST /v1/documents/generations |
Document generation |
GET /v1/models |
List available models (free) |
GET /v1/models costs no credits — use it to discover model IDs programmatically.
Every API call spends credits from the same pool as your in-app usage — there is no separate API balance.
| Limit | Value | Scope |
|---|---|---|
| Requests per minute | 60 | Per API key |
| Daily credit cap | 5,000 credits | Per API key, adjustable |
| Max request body | 50 MB | Per request |
429 with a rate_limit_error — back off and retry.402 until the window resets.All errors return a consistent JSON shape with a machine-readable type, so 401, 402, 429, and upstream failures are easy to handle in code. The API docs cover the full format, and common error codes explains what each code means.
If you want Claude, ChatGPT, Cursor, or another MCP client to call Krater tools directly — without writing against REST endpoints — use the Krater MCP server instead:
https://api.krater.ai/v1/mcp
It authenticates with OAuth sign-in and exposes 20 tools (chat_completion, generate_image, generate_video, text_to_speech, web_search, list_models, and more), billed against your plan credits. Connections appear in Settings → API as connected apps and can be revoked there.