Skip to content

Уровни обслуживания

Параметр service_tier позволяет управлять балансом между стоимостью и задержкой при отправке запросов через AITUNNEL. Передайте его в теле запроса, чтобы выбрать нужный уровень обработки; в ответе будет указано, какой уровень фактически использовался. Запрос оплачивается по тарифу того уровня, который реально обслужил запрос.

Использование

Передайте service_tier как параметр верхнего уровня в теле запроса. Поддерживаемые значения: flex (ниже стоимость, выше задержка) и priority (быстрее, дороже). Пример ниже запрашивает уровень flex для gpt-5 — скидка на стоимость в обмен на более высокую задержку и меньшую доступность.

bash
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": "В чём смысл жизни?" }
    ]
  }'
python
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"))
typescript
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);
python
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))
typescript
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 ниже.

bash
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.

Документация провайдеров:

Различия в ответах 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.

AITUNNEL