AI models and your own key
AI works in many places in the panel: product and dish descriptions, replies to guests, call analysis, building training material, the in-panel assistant. By default we pick the model for each task — and for most people that is enough.
The AI models (LLM) section is for those who want to decide for themselves: which service powers the account's assistant features and which model it runs on. And if you already have a contract with a provider, you can plug in your own key and have the calls go through it.
Open: the AI models (LLM) card in the app store (the "Account" category) → admin.cenaly.com/ai-models. The section has no entry of its own in the menu — that is not a bug, there is a single door, from the store. The section is available to the account owner only.
What this section is for#
| Scenario | What to do |
|---|---|
| "Let it just work" | nothing: you never have to open the section, the platform picks the model per task |
| "I want a specific model to answer" | connect a ready service and make it the preferred one |
| "We have our own provider contract / our own inference" | add a custom connection with your address and key |
| "I need to see where AI credits go" | look at the balance cards on the subscription page |
What you need to start#
| What | Why |
|---|---|
| You are the account owner | the section is owner-only, and that is enforced by the server, not just by the interface |
| The app store card | it is the only door into the section; there is no separate charge for switching the card on |
| For your own key — an OpenAI-compatible endpoint | you need the address (a base URL with the version, https only), an API key and the model id |
| An AI balance — for the ready services | they run through our infrastructure and are paid for with AI credits by actual usage |
Step 1. Connect a ready AI service#
The first block of the page is Cenaly AI services: ChatGPT (OpenAI), Gemini (Google), Grok (xAI) and DeepSeek. One click to connect:
- Press Connect on the service you need — no API keys required, the request goes through our infrastructure.
- A connected service gains a Model row — pick a specific model from that service's list (each has its own list, and it is refreshed from time to time).
- A service you no longer need is switched off with Disconnect.
Payment is in the account's AI credits, like any other AI feature: no separate invoice for "connecting ChatGPT" appears — you pay for the actual calls.
Step 2. Connect your own key#
The second block is Custom LLMs. It is for those who already have their own access to a model: a contract with a provider, a corporate gateway or a self-hosted model with an OpenAI-compatible API.
- Press Add custom LLM and fill in: the Name (how you will recognise it), the API base URL — the address including the version, for example
https://api.example.com/v1(httpsonly), the API key, and the Model — the model id at that provider. - Press Test connection — a real request goes out, and you see either "Connection OK" with the measured latency or the reason for the failure. The test works both before saving and later on a saved record.
- Press Add — the connection appears in the list. It can be switched off temporarily with a toggle or deleted (with a confirmation: the stored key goes with the record).
How the key is stored: it lives on the server and is never returned to the browser — the interface only shows "API key stored" and a mask. You can replace the key; you cannot read it back out of the panel.
About money: calls made with your key do not spend AI credits — you pay your provider directly. But if your endpoint fails to answer, the call does not die: it goes out through the usual platform queue — and that call is billed in credits. Check that your endpoint is reachable if you see usage where you did not expect any.
You can have several connections (up to ten) — different models for different experiments, say; the ones with the toggle on are the ones in play.
Step 3. Pick the preferred model#
The third block is Preferred model, a switch for the whole account:
- "Default (recommended per feature)" — the platform picks the model itself, separately for each feature. This is the initial state;
- a specific service or custom connection — the assistant features will reach for it first.
The order of attempts when a preference is set: first your custom endpoint (if that is what you preferred), then the platform call on the chosen model, then the usual fallback — so a feature does not die because of one unreachable provider.
⚠️ The choice does not apply to every AI feature — see "Limitations".
Where the usage is visible#
AI usage lives on the subscription page, in two cards: LLM credits — the balance left for AI tasks — and AI spend: the monthly usage per feature, the forecast to the end of the month and the monthly cap. The rows show which feature is spending: descriptions, calls, the translator, training.
Calls made with your own key will not be there — such calls do not touch our balance.
Limitations#
- The choice does not apply on
cenaly.ru. In the Russian cloud AI features run on YandexGPT, and this section's settings are not consulted there: the page opens and saves, but nobody applies it. That follows from data-processing requirements, not from a forgotten setting. - The choice does not apply to calls with tools. Some features are built as "a model plus tools" — the guest chat AI bot, the panel copilot, the mail prompter. They run on their own model regardless of what is selected here.
- Owner only. An employee will not see the section in the menu, and a direct link gives them a load-error screen with a "Retry" button rather than a polite "no access" — we know, we are fixing it.
- A custom key has neither an expiry nor automatic rotation. If you rotate the key at your provider, replace it here too, or calls will start taking the fallback path (and spending credits).
- OpenAI-compatible API only, and
httpsonly. The endpoint is given together with the version in the path; other protocols and custom response formats are not supported. - We do not know your provider's model list — the model id is typed by hand, from the provider's documentation.
- There are four ready services. ChatGPT, Gemini, Grok, DeepSeek; anything else goes through a custom connection.
Troubleshooting#
| Symptom | What to check |
|---|---|
| "Test connection" returns an error | the address must be complete, with the version (…/v1) and over https; the key must be valid; the provider must allow access from outside addresses |
| The connection is there, but answers come "as before" | the feature may be one of those that bypass the choice (chat bot, copilot, mail prompter); or the account runs in the cenaly.ru cloud |
| Credits are being spent although my own key is connected | your endpoint is not answering and calls take the fallback path. Use the test button and look at the rows in "AI spend" |
| The key field shows asterisks | by design: the key is stored on the server and never handed back. Need a different one — type a new one |
| An employee sees "Failed to load LLM settings" | the section is available to the account owner only |
| The page is not in the menu | it is not there: the only entrance is the "AI models (LLM)" card in the app store |
A symptom-by-symptom guide is in troubleshooting; if nothing helped, write to us — how to get help.
FAQ#
Do I have to open this section at all?#
No. Everything works without it: the platform picks a model per task. The section is for when you want to choose the model yourself or plug in your own key.
Do I need my own OpenAI key to use AI?#
No. The ready services connect in one click and run through our infrastructure, paid for with the account's AI credits. Your own key is an alternative, not a requirement.
Is my own key cheaper?#
That depends on your contract with the provider. Technically it is "off our invoice": such calls do not spend AI credits, and you pay the provider directly.
Who can see my API key?#
Nobody through the interface: the key is written to the server and never returned to the browser — you only see a note that it is stored. And the section is available to the account owner alone.
Can I choose different models for different features?#
No, the preference is one per account. Different models for different tasks is exactly the "default" mode, where the platform chooses.
Why does the choice not work on cenaly.ru?#
The Russian cloud runs on YandexGPT: data does not leave the cloud, so external providers and your own endpoint are not connected there.
What happens if my endpoint is temporarily down?#
The feature will not break: the call goes out through the usual platform queue — and is counted in AI credits. The request is not silently lost.
How much does the "AI models" card cost?#
There is no separate charge for switching the card on — you only pay for the actual use of models through our infrastructure.
Related articles#
- Subscription — the "LLM credits" and "AI spend" cards: balance, per-feature usage and the monthly cap
- App store — the only door into the "AI models" section
- Knowledge base — choosing the AI provider for building the base and the consent it needs
- Staff training — which model builds the training material and the questions
- AI translator for the guest — one of the features that spends the AI balance
- Guest chat — the AI bot that runs on its own model regardless of this choice
- Mail and the AI autoresponder — another "model plus tools" feature that bypasses this choice
- How to get help — if a connection will not pass the test