Для разработчиков и ИИ-агентов

Подключите API.
Используйте свой ключ.

Чат, ответы в потоке и статистика расхода через единый HTTPS-адрес.

01 · Подключение

Один адрес для запросов

Передавайте ключ в заголовке Authorization. В URL и тексте запроса ключ не нужен.

Base URL
https://accs.digital/v1
Модель
deepseek-v4.1-flash-free
Авторизация
Authorization: Bearer YOUR_API_KEY
Формат
JSON · UTF-8 · HTTPS

Для клиента с настройкой Base URL укажите адрес с /v1. Для прямого HTTP-запроса используйте полный путь метода.

02 · Быстрый старт

Первый запрос

Замените YOUR_API_KEY своим ключом и отправьте сообщение.

curl https://accs.digital/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash-free",
    "messages": [{"role": "user", "content": "Привет!"}],
    "stream": false
  }'

Текст ответа находится в choices[0].message.content. В каждом запросе передавайте необходимую историю в messages.

Пример для Python-клиента OpenAI
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://accs.digital/v1",
    api_key=os.environ["DEEPSEEK_API_KEY"],
    timeout=180.0,
    max_retries=0,
)

response = client.chat.completions.create(
    model="deepseek-v4.1-flash-free",
    messages=[{"role": "user", "content": "Привет!"}],
    stream=False,
)
print(response.choices[0].message.content)
print(response.usage)
03 · Методы

Основные возможности

GET
/v1/models

Список доступных моделей.

GET
/v1/usage

Баланс, лимит и статистика текущего ключа.

POST
/v1/chat/completions

Текстовый чат. Обычный JSON-ответ или SSE при stream: true.

POST
/generate

Короткий формат: {"prompt": "Привет!"}.

Актуальные параметры, форматы ответов и ограничения описаны в API.md и OpenAPI-схеме.

04 · Streaming

Читайте ответ как поток событий

Установите stream: true. Сервер вернёт text/event-stream, а текст будет передаваться в событиях SSE.

curl -N https://accs.digital/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash-free",
    "messages": [{"role": "user", "content": "Напиши короткое приветствие"}],
    "stream": true,
    "stream_options": {"include_usage": true}
  }'

Для автоматизации используйте SSE-парсер или совместимый SDK. Не считайте границу сетевого пакета границей JSON-сообщения. При include_usage: true итоговый расход приходит отдельным событием с choices: []; неизвестный расход равен null. Событие с error означает ошибку, даже если затем пришёл [DONE].

05 · Расход

Токены ответа и остаток ключа

Объект usage показывает расход запроса, когда сервер получил полные метрики. Для проверки остатка обращайтесь к GET /v1/usage с тем же Bearer-ключом.

prompt_tokens

Входной контекст и кеш.

completion_tokens

Ответ и reasoning.

total_tokens

Общий расход без двойного счёта.

curl https://accs.digital/v1/usage \
  -H "Authorization: Bearer YOUR_API_KEY"

Баланс относится к лимиту вашего ключа. Он не показывает неизвестный остаток общей бесплатной квоты провайдера. Неизвестные метрики не заменяются выдуманными значениями.

06 · Обработка ошибок

Проверяйте HTTP-статус и тип ошибки

400

Некорректный запрос или неподдерживаемый параметр.

401 / 403

Ключ неверен, не передан или отключён.

429

Исчерпан лимит ключа, сервер занят или сработало ограничение провайдера.

5xx

Ошибка сервиса, провайдера или таймаут.

При исчерпанном лимите ключа требуется пополнение, а при gateway_busy учитывайте Retry-After. Отключите автоматические повторы в SDK: повтор генерации может снова потратить токены. Сохраняйте заголовок X-Request-ID для разбора ошибок; остальные правила смотрите в API.md.