Tīrtha is still being built, so some features and models may not work as expected yet. Billing always follows the prices shown. Something broken? Email [email protected].
Models from Qwen, DeepSeek, Google, Meta and more. Pick one, call it with one key, and pay per token from prepaid credit. Or let Tīrtha pick the model and check each tool call against your schema.
Live prices per 1M tokens, read from billing.
No models match.
OpenAI-compatible, and it also speaks Anthropic messages and OpenAI responses. Point your client at Tīrtha and keep your code. Streaming and tool calls work the same way.
from openai import OpenAI
client = OpenAI(base_url="https://api.tirtha.ai/v1",
api_key=TIRTHA_KEY)
client.chat.completions.create(
model="catalog/qwen3.8-flash",
messages=[{"role": "user", "content": "Hi"}])
Send tirtha/auto instead of a model. With tirtha/auto, Tīrtha picks the model for each task by price, speed and accuracy, checks each tool call against your schema before serving it, and moves up a level when the check fails. Every response tells you what was checked.
"choices": [ ...your answer... ], "tirtha": { "served_by": "<base model id>", "checked": true, "checked_by": "schema", "escalated": false }
"choices": [ ...your answer... ], "tirtha": { "served_by": "frontier-value", "checked": true, "checked_by": "consensus", "escalated": true }
Tīrtha picks the model for each task by price, speed and accuracy.
Each tool call is checked against your schema. Code and prose are not tested; the response's label says what was checked.
With tirtha/auto, a request that fails moves up to Plus, then Max, and its tool calls are checked again.
The model picked for the task answers, and each tool call is checked against your schema.
With tirtha/auto, only when the Base check fails. Its tool calls are checked against your schema again.
The rare hard case that still needs the strongest model. Its tool calls are checked against your schema too.
Send routine tool calls and code generation to Tīrtha. You hit your Claude or Codex limit less often, and the strong model stays available for the hard parts.
With tirtha/auto, you pay for Plus or Max only when the check fails.
When auto moves a request up a level, you pay the level that answered, plus the first Base attempt at Base rates. Levels route to listed models, each under its own licence.
We publish Tīrtha's own scores once a version is named official. Until then, Tīrtha Bench shows how the models Tīrtha can use perform on the same 800 tool-calling tasks, and the model catalogue lists every model you can call.
Every model on Tīrtha Bench ran the same tool-calling tasks and trap prompts, and was scored the same way.
Every model we test, ranked only where the test was the same.
Every raw row is public at tirtha.ai/bench/.
model field, with your Tīrtha key and the base URL https://api.tirtha.ai/v1. Each model is billed at its own price per token, shown on its card.tirtha/auto, Tīrtha picks the model for each task by price, speed and accuracy, checks each tool call against your schema before serving it, and moves up a level when the check fails. If you pin a level, that level answers and every tool call is still checked against your schema. On Plus and Max a call that fails is removed from the response, which shows checked: false, and the tokens are billed at the pinned price. On Base a call that fails is retried once with the error, then returned marked as failing the schema check; you pay the pinned Base price for both attempts.