Подключение к Detta API
Detta — единый OpenAI-совместимый gateway для моделей разных провайдеров. Вы пополняете баланс кредитами, создаёте API-ключ и используете его в CLI, IDE или собственном приложении.
Быстрый маршрут
- Войдите в панель Detta через Telegram.
- Если у вас есть код пополнения, откройте раздел Dashboard и погасите его в форме Redeem code.
- В разделе API keys нажмите Generate new key.
- Скопируйте ключ сразу: Detta показывает полный ключ только один раз.
- Подключите его к клиенту через базовый URL
https://api.detta.one/v1.
Внимание: API-ключ — это секрет.
Не отправляйте ключ в чатах, Git, скриншотах или публичных issue. Не вставляйте реальный ключ в команды, которые попадут в shell history. Если ключ потерян, отзовите его и создайте новый.
Что поддерживает Detta
Detta предоставляет OpenAI-совместимые HTTP-эндпоинты:
GET https://api.detta.one/v1/models— публичный каталог доступных моделей;POST https://api.detta.one/v1/chat/completions— чат и streaming;POST https://api.detta.one/v1/completions— legacy completions;POST https://api.detta.one/v1/embeddings— embeddings, если модель доступна в каталоге.
Для запросов inference используется заголовок:
Authorization: Bearer dk_<ваш-ключ>
Проверка через curl
Передавайте ключ через переменную окружения, секрет-менеджер или другой безопасный механизм:
export DETTA_API_KEY='dk_<ваш-ключ>'
curl https://api.detta.one/v1/chat/completions \
-H "Authorization: Bearer $DETTA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello from Detta"}]
}'
Модель должна присутствовать в актуальном каталоге. Получить его можно без API-ключа:
curl -s https://api.detta.one/v1/models
Каталог и цены могут меняться. Не храните список моделей в приложении навсегда — проверяйте каталог при настройке или обновлении клиента.
Вариант 1: OMP
OMP подключается через официальный для этого репозитория provider.
-
Установите расширение из корня клонированного репозитория Detta:
omp install ./pi/detta-provider -
Запустите OMP:
omp -
Выполните в TUI:
/login detta -
Вставьте ключ
dk_...и выберите модель через/model→detta.
Подробности: настройка OMP.
Вариант 2: pi.dev
pi.dev использует тот же provider:
pi install ./pi/detta-provider -l
pi
Затем в интерфейсе выполните /login detta, вставьте ключ и выберите модель через /model → detta.
Для одноразового запуска можно использовать переменные окружения:
DETTA_API_KEY='dk_<ваш-ключ>' pi -e ./pi/detta-provider
Подробности: настройка pi.dev.
Вариант 3: VS Code и Cursor
Используйте расширение или встроенный провайдер, который явно поддерживает OpenAI-compatible API. В его настройках укажите:
| Параметр | Значение |
|---|---|
| Base URL | https://api.detta.one/v1 |
| API key | ваш ключ dk_... |
| API | OpenAI-compatible / OpenAI Completions |
| Model | точный id из /v1/models |
Названия полей зависят от расширения. Если оно добавляет /v1 автоматически, укажите base URL https://api.detta.one; если нет — используйте полный URL с /v1.
Внимание: проверьте формат API.
Если клиент ожидает именно Anthropic Messages API, используйте гайд для Anthropic-клиентов. Для клиентов OpenAI и OpenAI-compatible используйте настройки и формат из этого раздела; эти два протокола имеют разные endpoint и тела запросов.
Вариант 4: Python или JavaScript
Любой OpenAI-совместимый SDK может использовать Detta через кастомный base_url.
Python
from openai import OpenAI
client = OpenAI(
api_key="dk_<ваш-ключ>",
base_url="https://api.detta.one/v1",
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Hello from Detta"}],
)
print(response.choices[0].message.content)
JavaScript / TypeScript
import OpenAI from 'openai'
const client = new OpenAI({
apiKey: process.env.DETTA_API_KEY,
baseURL: 'https://api.detta.one/v1',
})
const response = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: 'Hello from Detta' }],
})
console.log(response.choices[0]?.message?.content)
Выбор модели
Модель задаётся её точным идентификатором из GET /v1/models. В каталоге могут быть chat-, embedding-, image-, audio- и другие модели; конкретный клиент поддерживает не все типы.
Для CLI и coding agents выбирайте модель, которую клиент использует через chat/completions. Убедитесь, что у записи есть pricing с ненулевой стоимостью input и output. Модели без такой цены не предназначены для обычного chat-запроса через этот путь.
Баланс и тарификация
- Каждый inference-запрос требует активного API-ключа и положительного баланса.
- Стоимость зависит от модели и количества input/output tokens.
- Streaming поддерживается; списание выполняется после получения итогового usage.
- При недостаточном балансе запрос отклоняется до отправки downstream-провайдеру.
- API-ключ не пополняет баланс сам по себе: сначала погасите код в Dashboard.
Диагностика
401 Unauthorized
Проверьте, что:
- заголовок имеет вид
Authorization: Bearer dk_...; - в ключе нет лишних пробелов и кавычек;
- ключ не был отозван ротацией или кнопкой Revoke;
- вы используете ключ пользователя, а не код пополнения.
402 или сообщение о недостаточном балансе
Пополните баланс кодом в Dashboard. Партнёрские и административные аккаунты предназначены для управления и не используют inference API keys.
404 для модели
Сверьте model с текущим id из /v1/models. Идентификатор чувствителен к регистру; устаревшие модели могут исчезнуть из активного каталога.
502 или 504
Это означает ошибку или недоступность downstream-провайдера. Повторите запрос позже и сохраните x-request-id, если клиент его отправлял. Не создавайте новый API-ключ без причины: сетевой сбой не означает, что ключ неверен.
Модели не появились в pi или OMP
- проверьте доступ к
https://api.detta.one; - перезапустите клиент после установки provider;
- повторите установку
omp install ./pi/detta-providerилиpi install ./pi/detta-provider -lиз актуального клона; - убедитесь, что выбран провайдер
detta, а модель имеет префиксdetta/.
Чек-лист перед первым запросом
- Баланс пополнен и отображается в Dashboard.
- Создан активный API-ключ
dk_.... - Ключ сохранён в секрет-менеджере, а не в репозитории.
- Используется
https://api.detta.one/v1. - Модель взята из актуального
/v1/models. - Клиент настроен в OpenAI-compatible режиме.
- Тестовый запрос успешно вернул ответ.
Если проблема сохраняется, передайте поддержке время запроса, HTTP-статус, endpoint и x-request-id. Не отправляйте API-ключ и полный текст приватного запроса.