YandexGPT API or foreign models through a gateway: which to choose
A Russian model in Yandex Cloud and foreign models behind an OpenAI-compatible gateway solve the same job differently. We compare the approaches without rankings.
5 min · · сравнение · models
If you are choosing a model for a chatbot, classification or data extraction, there are two options: a Russian service such as Yandex Cloud, or foreign models (Claude, GPT, Gemini, DeepSeek) through a gateway. This article is about the YandexGPT API and its alternative: how request format, key setup, payment and context differ, and above all how to compare quality on your own data rather than on someone else's tables.
Yandex Cloud's tariffs and features are deliberately left out below: they change, and the service's documentation is the only reliable source. Everything about Zukko's API and prices is as of 18 October 2026.
The YandexGPT API: how it works
YandexGPT is part of the Yandex Cloud platform. Broadly, the path to the first request is:
- Register in Yandex Cloud and set up a billing account.
- A folder, inside which you work. Its identifier takes part in requests.
- A service account with a role that allows calling models (check the role name in the documentation).
- An API key of the service account, or an IAM token, for authentication.
- A request to the models endpoint, where the model is addressed with a string that includes the folder identifier.
Take exact role names, endpoints and the model address format from the current Yandex Cloud documentation: they have changed over time, and outdated guides from the internet easily lead to 401 and 403 errors. The Yandex Cloud documentation also describes an OpenAI API compatibility mode; check whether it supports the features you need (tools, streaming, images).
Hence the answer to a common question, how to get a YandexGPT API key: according to the Yandex Cloud documentation, the key is created for a service account in the cloud console, not in a user profile.
Foreign models through a gateway
With Zukko you get one fetch_... key, a single dollar balance and pay-per-token billing with no subscription. The request format is OpenAI-compatible, so the regular openai SDK works:
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Extract the date and amount from the email: 'Pay by 5 November, 12,400 RUB.'"}],
)
print(r.choices[0].message.content)Switching models means changing one model string. Any model can also be called in the Anthropic format (/v1/messages). GET https://api.zukko.pro/v1/models returns the model list.
Access from Russia goes through the gateway, with payment by SBP (the payment page adds 8.5% on top), MasterCard, or crypto.
Comparing the approaches
| Criterion | YandexGPT in Yandex Cloud | Foreign models via Zukko |
|---|---|---|
| API format | its own, plus an OpenAI compatibility mode (check the docs) | OpenAI-compatible and Anthropic-compatible |
| Authentication | service account, API key or IAM token, folder identifier | one fetch_... key, limits and model list per key |
| Payment | Yandex Cloud account, tariffs on the cloud's site | dollar balance from $1, SBP, MasterCard or crypto |
| Model choice | Yandex's own lineup | Claude, GPT, Gemini, DeepSeek, Qwen, GLM on one key |
| Context | check per model in the docs | 1M tokens for most catalog models, 128K for GLM, 256K for Grok |
| Where data goes | set by Yandex's terms | set by the model provider; send personal data only after a risk assessment |
The last row matters more than it looks. If your project has data localization requirements or rules for personal data processing, that decision belongs to the company's lawyer, not the developer. A model with the best price-to-quality ratio is no help if the project's terms do not allow it.
Cost: YandexGPT API price versus a gateway calculation
We do not quote Yandex Cloud's price: take it from the cloud's tariff page and calculate by the same rules as below. For the gateway the calculation is simple: input tokens × input price + output tokens × output price, in dollars per 1M tokens.
Assume (as a hypothetical example) a classification bot handling 10,000 requests a day, each with 1,500 input tokens and 300 output tokens. That is 15M input tokens and 3M output tokens per day. Prices as of 18 October 2026:
| Model | Input / output, $ per 1M | Formula | Per day |
|---|---|---|---|
deepseek-v4.1-flash | 0.013 / 0.038 | 15 × 0.013 + 3 × 0.038 | $0.309 |
gpt-6.1-sol | 0.27 / 1.32 | 15 × 0.27 + 3 × 1.32 | $8.01 |
claude-sonnet-5-5 | 0.4 / 2 | 15 × 0.4 + 3 × 2 | $12.00 |
The gap between models is large, so first decide what quality you need, and only then compare prices. If requests share a long prefix (instructions, a knowledge base), the cache is billed separately and can noticeably reduce spend, but note the caveats: for GPT only cache reads are visible, and Claude gives the cache discount in the Anthropic format. More in prompt caching.
Comparing Russian and foreign models without fooling yourself
Public rankings transfer poorly to your task. The model strength index (Artificial Analysis Intelligence Index; in our catalog claude-opus-5-5 has 58, gpt-6.1-sol 52, deepseek-v4.1-flash 39) shows overall level, but not how a model handles your emails, contracts or Russian-language dialogues. So you need a small test of your own:
- Collect 30 to 50 real examples, including hard and messy ones.
- Decide in advance what counts as a correct answer (field, format, tolerated mistakes).
- Run the same requests through all candidates and save the answers.
- Count the share of correct answers and the cost per request.
A skeleton for the gateway (write the Yandex call as your own function following Yandex Cloud's documentation):
import csv
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
def gateway(model):
def ask(prompt):
r = client.chat.completions.create(
model=model, messages=[{"role": "user", "content": prompt}]
)
return r.choices[0].message.content
return ask
candidates = {Then grade the results by hand or with an automatic check. A fuller evaluation skeleton is in how to test prompts.
How to choose
- You need data and processing strictly inside a Russian cloud, or integration with other Yandex services: look at YandexGPT.
- You need a choice of different models, flexible pricing and one key for all tasks: a gateway.
- Not sure: run the test above on both options and compare quality and cost on your examples.
A Zukko key is created in the dashboard. The request format is in the chat/completions reference, and models are in the Models section.
FAQ
Can I use YandexGPT and foreign models together?
Yes. For example, some requests (with sensitive data) go to a Russian cloud and the rest go to the gateway. Make the choice in your code by request type.
Does the gateway need a separate SDK?
No. The openai SDK with base_url="https://api.zukko.pro/v1" or plain HTTP requests is enough. For Claude there is also the Anthropic format.
How do I find out which model is better for Russian?
There is no universal answer: check on your own texts using the method above. Do not rely on reviews that do not show examples like your data.
How much does it cost to try the gateway?
Top-ups start at $1. A test of 50 requests with 1,500 input tokens and 300 output tokens on deepseek-v4.1-flash comes to 50 × (0.0015 × 0.013 + 0.0003 × 0.038) ≈ $0.0015, a fraction of a cent.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- GPT-6 Astra or Claude Fable 5.1: Two Top Models by Price and IndexTwo premium models with the same intelligence index and different Zukko prices. We price a single request and an agent session with cache, and explain how to choose on your own data.
- Qwen or DeepSeek via API: Price, Context and Intelligence IndexFour models, one task and an honest calculation: what a run costs on Qwen 3.8 Max and Flash versus DeepSeek V4 Pro and V4.1 Flash.
- Claude Fable 5.1 or Sonnet 5.5: when a big price gap is justifiedFable 5.1 costs far more than Sonnet 5.5. We price the same task in both API formats and give a way to choose the model from results on your own examples.
- DeepSeek V4 Flash or V4.1 Flash: which cheap model to pickA newer version is not always more expensive. We compare DeepSeek V4 Flash and V4.1 Flash on price, cache, context and intelligence index, cost a workload and show how to test.