Developers
Models & modes via API
The curated model list, how to pick a model, the anonymous and TEE modes, and the pricing fields returned by /v1/models.
On this page
GET /v1/models lists every model your key can use, in OpenAI format with extra Tacita fields:
curl https://api.tacita.chat/v1/models -H "Authorization: Bearer $TACITA_API_KEY"
{
"object": "list",
"data": [
{
"id": "claude-sonnet-5.5",
"object": "model",
"owned_by": "network",
"name": "Claude Sonnet 5.5",
"mode": "anonymous",
"type": "text",
"contextLength": 1000000,
"pricingKind": "market",
"listPrice": { "metering": "per_token", "inputPer1MUsd": 2, "outputPer1MUsd": 10 },
"marketPrice": { "metering": "per_token", "inputPer1MUsd": 1.6, "outputPer1MUsd": 8, "updatedAt": "2026-10-27T19:00:00.000Z" },
"capabilities": { "streaming": true, "vision": true, "tools": true, "reasoning": true },
"presets": ["Smart"],
"popularRank": 16
}
]
}
The catalog#
We keep a short list of models instead of hundreds:
- 20 chat models: the most-used model families, plus a coding model and an uncensored model.
- About 5 image models and about 4 video models.
popularRank (1 = most popular) ranks each model within its type by real recent usage. presets marks good defaults:
| Preset | Text | Image | Video |
|---|---|---|---|
| Fast | deepseek-v4.1-flash | flux.2-klein-4b | wan-2-2-a14b-text-to-video |
| Smart | claude-sonnet-5.5 | seedream-4.5 | ltx-2-fast-text-to-video |
| Top | claude-opus-5.5 | gemini-2.5-flash-image | ltx-2-full-text-to-video |
| Uncensored | deepseek-v4.1-flash-uncensored | ||
| Vision | gpt-6-luna |
The list changes over time, so read /v1/models rather than hard-coding ids.
Modes#
| Anonymous | TEE | |
|---|---|---|
| Via API | ✅ (default) | ⏳ Not available yet |
| What it hides | Who is asking | Who is asking and what you ask (end-to-end encrypted, attested hardware) |
| Price | pricingKind: "market": never above listPrice, usually below | pricingKind: "list": exactly listPrice |
Anonymous is the default, so you can omit mode. Requests run on a secondary compute market of trusted providers and go to the best available trusted offer for your model, with a fallback if that offer fails before it answers. The provider sees the prompt but not who you are. Don't send anything you wouldn't want a provider to read.
TEE runs open models inside hardware enclaves, so not even we can read your request. It works in the Tacita app today. Through API keys it is not available yet, and a request with "mode": "tee" returns 403 tee_api_not_available. When it opens, @tacita/sdk already includes the full encrypted flow.
Parameters#
The usual OpenAI chat parameters work:
| Parameter | Notes |
|---|---|
messages | Required. |
stream | Supported. |
max_tokens / max_completion_tokens | The default is 4096. Reasoning models get at least 1024. |
temperature, top_p, stop, seed, presence_penalty, frequency_penalty | Passed through. |
response_format, reasoning_effort | Passed through. |
tools, tool_choice | Passed through. |
Tacita-specific extras:
| Field | What it does |
|---|---|
fallback_models | Up to 2 model ids to try, in order, if your model can't answer. The x-tacita-model response header tells you which model served the request. |
mode | "anonymous" (default). "tee" is not available through the API yet. |