Models
GET https://api.devotel.com/v1/models{
"object": "list",
"data": [{ "id": "kimi-k3", "object": "model", "created": 0, "owned_by": "devotel" }]
}created is always 0 — the catalogue does not track model creation dates. It is present for
shape compatibility with clients that expect the field.
kimi-k3
Moonshot AI’s Kimi K3, served through DigitalOcean Serverless Inference. One model today; the catalogue is a database table, so more can be added without an API change.
| Capability | Status |
|---|---|
| Tool calling / function calling | Yes |
Image input (image_url parts) | Accepted |
Reasoning (reasoning_content) | Yes |
| Streaming (SSE) | Yes |
| Context window | Not published by the provider |
Reasoning
Kimi K3 reasons before it answers. Every response carries reasoning_content next to content, and
those thinking tokens are billed as output tokens.
"message": {
"content": "Standing in between—\nI speak your words, not my own,\nfaceless messenger.",
"reasoning_content": "The user wants a haiku about proxies. Proxies could refer to..."
}Measured on this endpoint: that 72-character haiku cost 799 completion tokens, 782 of them
reasoning. A five-word greeting cost 158 completion tokens, 141 of them reasoning. Plan for
reasoning to dominate output cost on short answers, and read
Chat Completions before setting max_tokens.
Tool calling
Verified end to end: the model returns finish_reason: "tool_calls" with a tool_calls array,
accepts role: "tool" results, and then answers. Complete loops in Python and TypeScript are in
Tool Calling & Agents.
Image input
The endpoint accepts image_url content parts — including data: URIs — and returns 200 rather
than an error.
We have confirmed image parts are accepted, not how well they are understood: our check used a 1×1 test pixel, which the model described incorrectly. The provider publishes no vision benchmark for this model. Validate with your own images before relying on it.
Context window
The provider’s model metadata publishes no context length for kimi-k3, so we do not quote one.
For reference, the same catalogue reports 262,144 tokens for kimi-k2.5 and kimi-k2.6 — but do
not treat that as K3’s limit. If you are near any limit you will see a 400 from the provider,
surfaced as 502 upstream_error.
Pricing
Billed per token, at the rate for the direction of travel. Reasoning tokens are output tokens.
| Model | Input | Output |
|---|---|---|
kimi-k3 | $2.85 / 1M tokens | $14.25 / 1M tokens |
The usage dashboard shows your daily token counts and an estimated cost computed from exactly these numbers.
Worked example
A request with 200 input tokens and 115 output tokens (reasoning included):
input: 200 / 1,000,000 × $2.85 = $0.00057
output: 115 / 1,000,000 × $14.25 = $0.00164
total ≈ $0.00221
Output is 5× the input rate, and reasoning lands on the output side — so on this model the cost of a request is driven by how hard it thinks, not by how long your prompt is.
Choosing a model
There is one. When more arrive they appear in GET /v1/models and on this page; existing model ids
keep working.