Уровни обслуживания
Параметр service_tier позволяет управлять балансом между стоимостью и задержкой при отправке запросов через AITUNNEL. Передайте его в теле запроса, чтобы выбрать нужный уровень обработки; в ответе будет указано, какой уровень фактически использовался. Запрос оплачивается по тарифу того уровня, который реально обслужил запрос.
Использование
Передайте service_tier как параметр верхнего уровня в теле запроса. Поддерживаемые значения: flex (ниже стоимость, выше задержка) и priority (быстрее, дороже). Пример ниже запрашивает уровень flex для gpt-5 — скидка на стоимость в обмен на более высокую задержку и меньшую доступность.
curl https://api.aitunnel.ru/v1/chat/completions \
-H "Authorization: Bearer <AITUNNEL_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"service_tier": "flex",
"messages": [
{ "role": "user", "content": "В чём смысл жизни?" }
]
}'import requests
response = requests.post(
"https://api.aitunnel.ru/v1/chat/completions",
headers={
"Authorization": "Bearer <AITUNNEL_API_KEY>",
"Content-Type": "application/json",
},
json={
"model": "gpt-5",
"service_tier": "flex",
"messages": [
{"role": "user", "content": "В чём смысл жизни?"}
],
},
)
data = response.json()
print(data["choices"][0]["message"]["content"])
print("Served by tier:", data.get("service_tier"))const response = await fetch("https://api.aitunnel.ru/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer <AITUNNEL_API_KEY>",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-5",
service_tier: "flex",
messages: [{ role: "user", content: "В чём смысл жизни?" }],
}),
});
const data = await response.json();
console.log(data.choices[0].message.content);
console.log("Served by tier:", data.service_tier);from openai import OpenAI
client = OpenAI(
base_url="https://api.aitunnel.ru/v1",
api_key="<AITUNNEL_API_KEY>",
)
completion = client.chat.completions.create(
model="gpt-5",
extra_body={
"service_tier": "flex",
},
messages=[
{"role": "user", "content": "В чём смысл жизни?"}
],
)
print(completion.choices[0].message.content)
print("Served by tier:", getattr(completion, "service_tier", None))import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://api.aitunnel.ru/v1",
apiKey: "<AITUNNEL_API_KEY>",
});
const completion = await openai.chat.completions.create({
model: "gpt-5",
service_tier: "flex",
messages: [{ role: "user", content: "В чём смысл жизни?" }],
});
type CompletionWithTier = typeof completion & {
service_tier?: string | null;
};
console.log(completion.choices[0].message.content);
console.log("Served by tier:", (completion as CompletionWithTier).service_tier);Параметр service_tier также поддерживается в Responses API и Claude Messages API — см. раздел Различия в ответах API ниже.
curl https://api.aitunnel.ru/v1/messages \
-H "Authorization: Bearer <AITUNNEL_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4.5",
"service_tier": "flex",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "В чём смысл жизни?" }
]
}'Поддерживаемые провайдеры
Следующие провайдеры поддерживают уровни flex и priority для выбранных моделей:
- OpenAI
- Google Vertex
- Google AI Studio
Поле service_tier в ответе сообщает, какой уровень фактически использовался. Возможные значения: default, flex, priority или null, если upstream не вернул уровень обслуживания. Эквивалентные базовые метки провайдеров (например, standard у Google) нормализуются в default.
Документация провайдеров:
- OpenAI: Chat Completions, Responses и pricing
- Google Vertex: Flex и Priority
- Google AI Studio: Flex и Priority
Различия в ответах API
Ответ API включает поле service_tier, которое указывает, какой уровень ёмкости фактически использовался для обработки запроса. Расположение поля зависит от формата API:
- Chat Completions API (
/v1/chat/completions):service_tierвозвращается на верхнем уровне объекта ответа, как в нативном формате OpenAI. - Responses API (
/v1/responses):service_tierвозвращается на верхнем уровне объекта ответа, как в нативном формате OpenAI. - Messages API (
/v1/messages):service_tierвозвращается внутри объектаusage, как в нативном формате Anthropic.