The TextCortex API gives your application one connection to proprietary and open-weight models. GPT, Claude and Gemini sit next to Kimi K3, GLM-5.3, DeepSeek and MiMo, and you switch between them by changing a single model identifier.
Already using an OpenAI-compatible client? Then you're most of the way there. Point it at TextCortex, add your key, pick a model.
What you can build with it
Keeping a separate integration alive for every model family gets old fast. With TextCortex, every request goes through the same API with the same key, so a support reply, a code review and a classification step can each use the model that fits the job.
- GET /models lists the model identifiers available to your account.
- POST /chat/completions handles chat requests.
- POST /responses provides the documented Responses interface.
- Streaming, tool use and structured output, wherever your chosen model supports them.
Start with a minimal request, then layer on the rest. Each model keeps its own capabilities, so check the API reference for the parameters a specific model accepts.
Getting started
- Create a TextCortex account.
- Generate an API key on the API key page in your account settings.
- Install an OpenAI-compatible client on your server, such as the OpenAI Python package.
- Store the key in an environment variable (the official example uses TEXTCORTEX_API_KEY) instead of hardcoding it.
- Call GET /models, pick an identifier, and send your first chat completion.
Connection settings
The whole connection boils down to 3 values:
- Base URL: https://api.textcortex.com/v1. The /v1 is included already; SDK clients append the endpoint path themselves.
- Authentication: an Authorization header, formatted as Bearer <api_key> with your key.
- Model: an identifier returned by GET /models.
Models and EU hosting
The catalog spans proprietary families (GPT, Claude, Gemini) and open-weight ones (Kimi K3, GLM-5.3, DeepSeek, MiMo). Your exact list comes from GET /models, because availability depends on your account.
Need European processing? EU-hosted routes exist for Kimi K3, GLM-5.3, DeepSeek and MiMo. Select the EU-hosted deployment your workload requires.
Heads up: catalog membership alone doesn't establish where a request is processed. When European inference is a requirement, pick the EU-hosted route explicitly.
For choosing between models, the model catalog guide covers the families and the inference router guide covers application-level selection. Start with explicit model choices so behavior stays predictable.
When something goes wrong
Most integration problems come down to a 400 or a 401.
400, invalid request. Usually a token limit: you went over the endpoint's maximum, or you didn't send enough input tokens. The response tells you the relevant limit and what your request actually contained, so read it before adjusting. Header typos land here too.
401, authentication. The key isn't valid, doesn't exist, or is blacklisted. Typical causes: a deleted or revoked key, a typo or stray space, or a stale cached key. Check your key in account settings, generate a new one if in doubt, and clear your local cache.
What it costs
Usage is billed in tokens, with input and output priced separately at the rates for your selected model and account. Don't assume a model's input and output prices are identical.
There's no fixed public rate card, and API consumption is separate from a workspace subscription. Use the cost calculator with the rates from your quote to estimate monthly spend.
Model choice changes the bill. A longer response, a reasoning-heavy request, or a retry can burn more tokens than your first successful test, so measure representative traffic before forecasting.
Where to go next
- API reference for endpoint-specific parameters.
- OpenAI-compatible API guide for the full connection walkthrough.
- Model catalog guide and inference router guide for multi-model setups.
The TextCortex Team