Change one line — your base URL — and one API key routes to every model in the live catalog, plus the dogecat/moa and dogecat/code virtual models. First-party models from $0.20 per 1M tokens, in and out. Fully OpenAI-compatible.
Try it in the browser — no signup
For developers & apps
Pools are cost-weighted — each model draws at its own rate; live per-model pricing at /api/v1/models.
Use any OpenAI-compatible client. Just change the base URL.
from openai import OpenAI
client = OpenAI(
base_url="https://dogecat.com/api/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="moonshotai/Kimi-K2.6", # any model id from /api/v1/models
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message.content)curl https://dogecat.com/api/v1/chat/completions \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "moonshotai/Kimi-K2.6",
"messages": [{"role": "user", "content": "Hello!"}]
}'Add dogecat as a provider in your OpenClaw config. Works with any OpenClaw agent.
providers:
dogecat:
kind: openai
baseUrl: https://dogecat.com/api/v1
apiKey: PASTE_YOUR_API_KEY_HERE
models:
- moonshotai/Kimi-K2.6
- MiniMaxAI/MiniMax-M2.7
# any model id from /api/v1/models works
# Then use it as your default:
defaultModel: dogecat/moonshotai/Kimi-K2.6Don't have OpenClaw? Get it here →
/api/v1/chat/completionsCreate a chat completion. Fully compatible with OpenAI's API.
| Parameter | Type | Description |
|---|---|---|
model | string | Any model id from /api/v1/models |
messages | array | Text or OpenAI-style multimodal messages |
stream | boolean | Whether to stream responses (optional) |
max_tokens | integer | Maximum tokens to generate (optional) |
temperature | number | Sampling temperature 0-2 (optional) |
/api/v1/modelsList available models. This is the live catalog — each entry carries label, vision, and pricing metadata — so discover models from it rather than hardcoding ids.
| Model | Input / 1M | Output / 1M | Notes |
|---|---|---|---|
moonshotai/Kimi-K2.6 Kimi K2.6 | $0.20 | $0.20 | vision |
MiniMaxAI/MiniMax-M2.7 MiniMax 2.7 | $0.20 | $0.20 | — |
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8 Qwen 235B | $0.05 | $0.05 | 0.25x pool draw |
dogecat/moa Virtual model — two models + synthesis | per-model | per-model | billed per underlying call |
dogecat/code Virtual model — plan, two implementations, review | per-model | per-model | billed per underlying call |
The live list is GET /api/v1/models.
Running a platform with your own users? Mint credit-capped sub-keys from your server and hand one to each user — no dogecat signup for them, hard spend cap per key, usage attributed per key. $1 of credit = 5M standard tokens (the $0.20/M rate). Pools are cost-weighted — each model draws at its own rate; live per-model pricing at /api/v1/models. Sub-keys can only call chat completions; your admin key (from the dashboard) manages them.
curl https://dogecat.com/api/v1/keys \
-H "Authorization: Bearer $DOGECAT_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "user-42", "credit_usd": 1, "metadata": {"user_id": "42"}}'
# -> { "key": "sk-gc-...", "api_key": { "tokens_allocated": 5000000, ... } }
# The key is shown once — store it and hand it to your user.client = OpenAI(base_url="https://dogecat.com/api/v1", api_key=user_key)
client.chat.completions.create(model="moonshotai/Kimi-K2.6", messages=[...])
# When the credit runs out the API returns 402 insufficient_key_credit.# usage per key (tokens_used / tokens_remaining)
curl https://dogecat.com/api/v1/keys -H "Authorization: Bearer $DOGECAT_ADMIN_KEY"
# 30-day usage report per key — JSON, or format=csv for spreadsheets
curl "https://dogecat.com/api/v1/usage?group_by=key&days=30" \
-H "Authorization: Bearer $DOGECAT_ADMIN_KEY"
# add another $1 of credit
curl -X PATCH https://dogecat.com/api/v1/keys/KEY_ID \
-H "Authorization: Bearer $DOGECAT_ADMIN_KEY" \
-H "Content-Type: application/json" \
-d '{"add_credit_usd": 1}'
# cut a key off immediately
curl -X DELETE https://dogecat.com/api/v1/keys/KEY_ID \
-H "Authorization: Bearer $DOGECAT_ADMIN_KEY"