Which API API

Обычный OpenAI-совместимый API, который сам выбирает модель под каждый запрос: по бенчмаркам нужной задачи и цене задачи с учётом «думания». Если модель не ответила, запрос уходит к запасной модели другого разработчика.

Подключение

Адрес (base URL)https://whichapiapi.sluice.stream/v1 или просто https://whichapiapi.sluice.stream
КлючAuthorization: Bearer wa-… — личный ключ выдаёт владелец
Модельauto — задача определяется по запросу

Python (openai)

from openai import OpenAI

client = OpenAI(base_url="https://whichapiapi.sluice.stream/v1", api_key="wa-…")
r = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Объясни, что такое трейсы"}],
)
print(r.choices[0].message.content)

curl

curl https://whichapiapi.sluice.stream/v1/chat/completions \
  -H "Authorization: Bearer wa-…" -H "Content-Type: application/json" \
  -d '{"model":"auto:coding","messages":[{"role":"user","content":"Напиши FizzBuzz на Rust"}]}'

Работает и в любых клиентах с «OpenAI-compatible» провайдером (Cline, Continue, Open WebUI, n8n, LibreChat): укажите base URL и ключ, модель — auto.

Как выбрать поведение

auto · auto:<задача> · auto:<задача>@<пресет>

Задачи: generalcodingmathagentsrussianwritinglong_contextvision

Пресеты: optimal баланс (по умолчанию) · best качество · value дёшево · fast быстро

Пример: auto:coding@best. Потоковый режим ("stream": true) поддерживается.

Что приходит в ответ

x-whichapiapi-routeкакая модель ответила, например openlux:deepseek-v4.1-flash
x-whichapiapi-taskкак был распознан запрос
x-whichapiapi-triedкакие модели пробовали по порядку (запасные)
x-whichapiapi-cost-usdсколько стоил этот запрос

Лимиты