Chat Network Dashboard Docs GitHub
EN RU ES ZH
Документация/ Эндпоинты/ Chat Completions

Cocoon API

OpenAI-совместимый доступ к децентрализованной AI-сети Cocoon. Подмените base_url на https://cocoon.knyazevai.work/v1 — всё остальное работает как раньше.

Stable OpenAI-compatible SSE stream TON billing

Введение

Cocoon API — это шлюз к децентрализованной сети инференса. Запросы форвардятся на воркеры сети, вы платите за токены в TON. Без логирования контента, без KYC.

Поддерживаемые модели доступны через GET /v1/models. Текущий набор:

  • Загрузка…

Аутентификация

Все запросы идут через заголовок Authorization: Bearer ck_…. Ключ создаётся в панели управления за одну кнопку.

Совместимость с OpenAI

i
Drop-in замена. Если у вас уже есть код на openai для Python или openai-node, достаточно поменять base_url на https://cocoon.knyazevai.work/v1 и подставить свой Cocoon-ключ.

POST /v1/chat/completions

POST https://cocoon.knyazevai.work/v1/chat/completions

Основной endpoint для чат-инференса. Поддерживает потоковый режим SSE и режим «размышления» — reasoning-токены возвращаются в поле reasoning_content.

Заголовки

Authorization req
string
Bearer ck_… — ваш API-ключ.
Content-Type req
string
Должен быть application/json.

Тело запроса

model req
string
Идентификатор модели, например Qwen/Qwen3-32B.
messages req
array
Массив {role, content}. Роли: system, user, assistant.
stream opt
boolean
Если true — ответ идёт потоком SSE-событий. По умолчанию false.
temperature opt
number
Случайность. Диапазон 0.0–2.0, по умолчанию 0.7.
max_tokens opt
integer
Максимум токенов в ответе. По умолчанию 4096.

Пример запроса

curl
curl https://cocoon.knyazevai.work/v1/chat/completions \
  -H "Authorization: Bearer ck_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-32B",
    "messages": [
      {"role":"system","content":"Ты лаконичный ассистент."},
      {"role":"user","content":"Почему небо голубое?"}
    ],
    "temperature": 0.7,
    "stream": true
  }'

Ответ (non-stream)

application/json
{
  "id": "chatcmpl-9xK3mZ2Q",
  "object": "chat.completion",
  "created": 1729612801,
  "model": "Qwen/Qwen3-32B",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "Небо голубое из-за…" },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 28, "completion_tokens": 142, "total_tokens": 170 }
}
!
Биллинг по факту. Списание происходит после успешного ответа. Если воркер прервал генерацию — платите только за фактически сгенерированные токены.

Потоковый режим (SSE)

При stream: true сервер возвращает Content-Type: text/event-stream. Каждый чанк — SSE-event:

stream sample
data: {"choices":[{"delta":{"role":"assistant"}}]}

data: {"choices":[{"delta":{"content":"Небо "}}]}

data: {"choices":[{"delta":{"content":"голубое…"}}]}

data: [DONE]

POST /v1/completions

POST https://cocoon.knyazevai.work/v1/completions

Text-completion endpoint. Используется в основном для translation-моделей вроде ByteDance-Seed/Seed-X-PPO-7B. Принимает поле prompt вместо messages.

GET /v1/models

GET https://cocoon.knyazevai.work/v1/models

Публичный endpoint без авторизации. Возвращает список доступных моделей с метаданными.

GET /v1/balance

GET https://cocoon.knyazevai.work/v1/balance

Возвращает текущий баланс в TON: {"balance_ton": 1.234}. Требует Authorization: Bearer ck_….

GET /v1/deposit

GET https://cocoon.knyazevai.work/v1/deposit

Возвращает адрес кошелька и ваш уникальный memo-код для пополнения. Требует Bearer-ключ.

GET /v1/pricing

GET https://cocoon.knyazevai.work/v1/pricing

Публичные тарифы. Возвращает текущие расценки за токен (prompt / completion / cached / reasoning) в нанотонах, а также текущий курс TON→USD.

Тарификация

Предоплатная модель: пополняете баланс в TON, списываем по факту за каждый запрос. Минимальный депозит: 1 TON. Минимальный баланс для запросов: 0.01 TON.

Пополнение TON

В панели управления получите адрес кошелька и свой уникальный memo-код. Без memo мы не сможем привязать транзакцию к аккаунту. Баланс обновляется автоматически в течение ~30 секунд после подтверждения сети.

Ошибки

  • 401 unauthorized — неверный или удалённый ключ.
  • 402 payment_required — баланс исчерпан, пополните через панель.
  • 429 too_many_requests — превышен rate-limit (регистрация: 10/мин на IP).
  • 503 no_worker_available — все воркеры заняты; повторите запрос через ~2 сек.
← На главную Открыть Playground →