Перейти к основному содержимому

Подключение к Detta API

Detta — единый OpenAI-совместимый gateway для моделей разных провайдеров. Вы пополняете баланс кредитами, создаёте API-ключ и используете его в CLI, IDE или собственном приложении.

Быстрый маршрут

  1. Войдите в панель Detta через Telegram.
  2. Если у вас есть код пополнения, откройте раздел Dashboard и погасите его в форме Redeem code.
  3. В разделе API keys нажмите Generate new key.
  4. Скопируйте ключ сразу: Detta показывает полный ключ только один раз.
  5. Подключите его к клиенту через базовый 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.

  1. Установите расширение из корня клонированного репозитория Detta:

    omp install ./pi/detta-provider
  2. Запустите OMP:

    omp
  3. Выполните в TUI:

    /login detta
  4. Вставьте ключ dk_... и выберите модель через /modeldetta.

Подробности: настройка OMP.

Вариант 2: pi.dev

pi.dev использует тот же provider:

pi install ./pi/detta-provider -l
pi

Затем в интерфейсе выполните /login detta, вставьте ключ и выберите модель через /modeldetta.

Для одноразового запуска можно использовать переменные окружения:

DETTA_API_KEY='dk_<ваш-ключ>' pi -e ./pi/detta-provider

Подробности: настройка pi.dev.

Вариант 3: VS Code и Cursor

Используйте расширение или встроенный провайдер, который явно поддерживает OpenAI-compatible API. В его настройках укажите:

ПараметрЗначение
Base URLhttps://api.detta.one/v1
API keyваш ключ dk_...
APIOpenAI-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-ключ и полный текст приватного запроса.