One API. Every task. Your server.
Test in the Playground, copy the sample code and keep building. kayetana offers a REST API under /v2 with bearer keys, streaming and monthly limits, with no per-token costs.

What the API can do.
chat
Streaming via server-sent events, JSON mode, function calling, reasoning with a budget, images as input.
documents and citations
Pass documents with the request and get answers with sources, streamed too.
embed and rerank
Vectors as float, int8, uint8, binary or ubinary. Rerank via similarity with bge-m3.
classify
With examples in the request or a trained classifier, one or more labels, confidence per label.
transcribe and parse
Audio to text with timestamps, text from PDF, Word, RTF, ODT and HTML.
datasets and finetuning
Upload datasets, run embed jobs in the background, LoRA fine-tuning and custom classifiers.
Try it first, then build it in.
In the Playground, you set the model, system prompt, temperature and max tokens and see the result right away. Every request comes with ready-made code in Python, TypeScript and curl.
- Sample code for every request
- Test JSON mode and tools
- Embeddings as a 2D plot
Keys, limits and numbers.
Create API keys for each app, each with a monthly limit. Once it's exceeded, the API returns 429. The usage overview shows tokens and requests per key and model, plus response time and error rate.
- Bearer authentication
- Monthly limit per key
- Time ranges of 7, 30, 90, 365 days

Your first request in three steps.
Create a key
Generate an API key with a limit in the web interface.
Test in the Playground
Pick a model and parameters, then copy the sample code.
Make the call
Call the REST API under /v2 from your app.
See the API in a demo.
We'll show you endpoints, streaming and answers with sources using an example from your project.
Frequently asked questions
How do I authenticate?
With an API key as a bearer token. Every key has a monthly limit, and the API returns 429 once it's exceeded.
How do I get answers with sources?
Pass documents in the documents parameter. The response includes citations, also when streaming.
Can I train my own models?
Yes. You can fine-tune a chat model (currently qwen3:4b-instruct) with LoRA on your own conversation examples, which gives you ft-name. From labeled datasets, you can build clf-name classifiers.
Is function calling supported?
Yes. You can define tools in chat. JSON mode enforces structured responses.