chad API

Используйте chad в своих программах или приложениях. Новый OpenAI-совместимый API chad можно подключать в большинство интеграций сервисов/плагинов/конструкторов ботов/расширений как замену ChatGPT API-ключа

Модели и цены

Текущие модели

Стоимость использования моделей указана в рублях за миллион токенов модели (RUB / 1М). Модели транскрибации тарифицируются за минуту аудио — колонка «За минуту»

IDНазваниеВходВыходКэшЗа минуту
gpt-5GPT 5170.001360.0017.00
gpt-5-thinkingGPT 5 THINKING170.001360.0017.00
gpt-5.1GPT 5.1170.001360.0017.00
gpt-5.2GPT 5.2238.001904.0023.80
gpt-5.2-thinkingGPT 5.2 THINKING238.001904.0023.80
gpt-5.3-codexGPT 5.3 CODEX238.001904.0023.80
gpt-5.5GPT 5.5680.004080.0068.00
gpt-5.6-solGPT 5.6 SOL544.002720.0054.40
gpt-5.6-sol-proGPT 5.6 SOL PRO544.002720.0054.40
gpt-5.6-terraGPT 5.6 TERRA272.001632.0027.20
gpt-5.6-lunaGPT 5.6 LUNA27.20163.202.72
gpt-6-astraGPT 6 ASTRA1360.006800.00136.00
gpt-5-miniGPT 5 MINI34.00272.003.40
gpt-5-nanoGPT 5 NANO6.8054.400.68
gemini-2.5-proGEMINI 2.5 PRO170.001360.0017.00
gemini-2.5-flashGEMINI 2.5 FLASH40.80340.004.08
gemini-3.1-pro-previewGEMINI 3.1 PRO PREVIEW408.002040.0040.80
gemini-3-flash-previewGEMINI 3 FLASH PREVIEW68.00408.006.80
gemini-3.5-flashGEMINI 3.5 FLASH204.001224.0020.40
gemini-3.6-flashGEMINI 3.6 FLASH204.001020.0020.40
gemini-3.7-flashGEMINI 3.7 FLASH204.001020.0020.40
gemini-3.8-flashGEMINI 3.8 FLASH204.001020.0020.40
gemini-3.1-flash-lite-previewGEMINI 3.1 FLASH LITE PREVIEW34.00204.003.40
gemini-3.5-flash-liteGEMINI 3.5 FLASH LITE40.80340.004.08
claude-4-opusCLAUDE 4 OPUS2040.0010200.00204.00
claude-4.1-opusCLAUDE 4.1 OPUS2040.0010200.00204.00
claude-4.5-opusCLAUDE 4.5 OPUS680.003400.0068.00
claude-4.6-opusCLAUDE 4.6 OPUS680.003400.0068.00
claude-4.7-opusCLAUDE 4.7 OPUS680.003400.0068.00
claude-4.8-opusCLAUDE 4.8 OPUS680.003400.0068.00
claude-5-opusCLAUDE 5 OPUS680.003400.0068.00
claude-5-fableCLAUDE 5 FABLE1360.006800.00136.00
claude-5.1-fableCLAUDE 5.1 FABLE1360.006800.0034.00
claude-4-sonnetCLAUDE 4 SONNET408.002040.0040.80
claude-4-sonnet-thinkingCLAUDE 4 SONNET THINKING408.002040.0040.80
claude-4.5-sonnetCLAUDE 4.5 SONNET408.002040.0040.80
claude-4.5-sonnet-thinkingCLAUDE 4.5 SONNET THINKING408.002040.0040.80
claude-5-sonnetCLAUDE 5 SONNET408.002040.0040.80
claude-5-sonnet-thinkingCLAUDE 5 SONNET THINKING408.002040.0040.80
claude-4.5-haikuCLAUDE 4.5 HAIKU136.00680.0013.60
deepseek-v4-flashDEEPSEEK v4 FLASH40.80163.200.82
deepseek-v4-proDEEPSEEK v4 PRO236.64473.281.97
deepseek-v4.1-flashDEEPSEEK v4.1 FLASH40.80163.200.82
glm-5.2GLM 5.2133.28418.88
kimi-k3KIMI k3408.002040.0040.80
qwen3.8-maxqwen3.8 MAX224.40673.3428.02
grok-4-latestGROK 4 LATEST408.002040.00102.00
grok-4-with-web-searchGROK 4 WITH WEB SEARCH408.002040.00102.00
grok-4-fast-latestGROK 4 FAST LATEST40.8068.006.80
grok-4-fast-with-web-searchGROK 4 FAST WITH WEB SEARCH40.8068.006.80
grok-4.1-fast-latestGROK 4.1 FAST LATEST40.8068.006.80
grok-4.1-fast-with-web-searchGROK 4.1 FAST WITH WEB SEARCH40.8068.006.80
grok-4.5GROK 4.5272.00816.0040.80
grok-4.5-with-web-searchGROK 4.5 WITH WEB SEARCH272.00816.0040.80
grok-4.5-thinkingGROK 4.5 THINKING272.00816.0040.80
grok-4.5-thinking-with-web-searchGROK 4.5 THINKING WITH WEB SEARCH272.00816.0040.80
grok-4.6GROK 4.6272.00816.0068.00
grok-4.6-with-web-searchGROK 4.6 WITH WEB SEARCH272.00816.0068.00
grok-4.6-thinkingGROK 4.6 THINKING272.00816.0068.00
grok-4.6-thinking-with-web-searchGROK 4.6 THINKING WITH WEB SEARCH272.00816.0068.00
text-embedding-3-smallTEXT EMBEDDING 3 SMALL2.720.00

Тот же список в машинном виде отдает эндпоинт GET /api/v1/models: он проверяет API-ключ и возвращает модели, доступные по текущей серверной конфигурации. Пример запроса - в разделе «Примеры запросов».


Что это и как работает

Вы отправляете HTTP POST-запрос с сообщениями и получаете ответ модели:

  • обычный JSON (stream=false)
  • поток SSE (stream=true)

Не поддерживается работа с вашими чатами и шаблонами. Запросы, отправленные через API, не будут видны в списке ваших чатов в интерфейсе chad

Как начать?

1

Нужен активный аккаунт

Корпоративный или личный, подойдёт любой

Выбрать тариф
2

В личном кабинете нужно перейти в меню «Управление API» и получить ваш персональный API-ключ

Создать ключ
3

Пополнить рублями API баланс - счет для списывания оплаты API запросов

Если у вас есть активная подписка chad с непотраченными искрами и нет рублей на API балансе, будут тратиться искры. Однако, конвертация будет по менее выгодному курсу, поэтому с API рекомендуем работать именно через пополнение баланса.

4

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

Смотрите ниже, как

Тарификация

Как списывается оплата

  • Личный аккаунт: сначала списание идет с API баланса (рубли). Если личного баланса не хватает, остаток списывается в искрах по текущему курсу (Личный кабинет -> Управление API)
  • Компания: полная стоимость запроса списывается с API баланса компании
  • Семейная подписка: доступные искры/рубли для участника берутся из семейного лимита владельца (если семья активна)
  • Стоимость рассчитывается по фактически использованным моделью токенам, цена за токены ввода, вывода и кэширования отличаются для разных моделей. Цена кэшированных токенов, как правило, меньше в 4 раза относительно цены токенов ввода

Если денег/лимита не хватает

  • Личный или семейный аккаунт: запрос пройдет, только если хватает доступного лимита слов; иначе вернется ошибка 429 - insufficient_quota
  • Компания: если у компании нулевой или отрицательный API баланс до запроса, вернется ошибка 429 - insufficient_quota
  • Баланс может уйти в минус при параллельных запросах. Так работает для компаний, семейной группы и личных аккаунтов

Поддерживаемые ссылки

  • https://ask.chadgpt.ru/api/v1/chat/completions
  • https://ask.chadgpt.ru/api/v1/embeddings
  • https://ask.chadgpt.ru/api/v1/audio/transcriptions
  • https://ask.chadgpt.ru/api/v1/models

Быстрый старт API

  1. Получите API-ключ в личном кабинете
  2. Передавайте ключ в заголовке запроса Authorization: Bearer <API_KEY>
  3. Отправляйте openAI-совместимый запрос на https://ask.chadgpt.ru/api/v1/chat/completions
  4. Список доступных моделей можно получить на https://ask.chadgpt.ru/api/v1/models

Важно сразу

  • Доступны модели OpenAI, Anthropic, Google, xAI, DeepSeek, GLM и Moonshot. Актуальный список - в разделе «Модели и цены»
  • Сервер принимает OpenAI-совместимые параметры запроса и передает их в upstream-модель (если поле поддерживается форматом OpenAI payload)
  • Картинки на вход принимают только модели с поддержкой изображений. Текстовая модель на image_url вернет ошибку
  • Поле api_key в body передавать нельзя

Допустимые параметры запроса

Заголовки POST /api/v1/chat/completions

ПолеТипОписание
AuthorizationstringBearer-токен в формате Bearer <API_KEY> (обязательно)
Content-TypestringОбычно application/json

Тело запроса (application/json)

ПолеТипОписание
modelstringID модели из /api/v1/models (обязательно)
messagesarray<object>Непустой массив сообщений (обязательно)
streambooleanЕсли true, ответ идет как text/event-stream
stream_optionsobjectПараметры stream-режима; работает только при stream=true. Если include_usage не передан, сервер добавляет include_usage=true
max_tokensintegerРекомендуемый лимит output-токенов
temperaturenumberПараметр семплирования OpenAI-совместимого payload
top_pnumberПараметр nucleus sampling OpenAI-совместимого payload
toolsarray<object>Инструменты в OpenAI-совместимом формате
tool_choicestring или objectРежим выбора tool в OpenAI-совместимом формате

Формат messages[]

ПолеТипОписание
rolestringРоль сообщения (system, user, assistant, tool)
contentstring или array<object>Текст сообщения или массив контент-частей

Пример content как string:

json
{
  "role": "user",
  "content": "Коротко объясни, что делает этот API."
}

Пример content как array<object>:

json
{
  "role": "user",
  "content": [
    {
      "type": "text",
      "text": "Опиши, что на изображении."
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/cat.png"
      }
    },
    {
      "type": "text",
      "text": "И отдельно оцени настроение на фото."
    }
  ]
}

Что передавать нельзя?

api_key в JSON body как в старой весии api. Если передать api_key в body, вернется 400 invalid_request_error.


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

Обычный запрос (Python)

python
import requests

BASE_URL = "https://ask.chadgpt.ru"
API_KEY = "YOUR_API_KEY"

resp = requests.post(
    f"{BASE_URL}/api/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-5-mini",
        "messages": [
            {"role": "system", "content": "Отвечай кратко."},
            {"role": "user", "content": "Что такое OpenAI-compatible API?"},
        ],
        "temperature": 0.3,
        "max_completion_tokens": 5000,
    },
    timeout=60,
)

print(resp.status_code)
print(resp.json())

Stream-запрос (Python)

python
import requests

BASE_URL = "https://ask.chadgpt.ru"
API_KEY = "YOUR_API_KEY"

with requests.post(
    f"{BASE_URL}/api/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-5-mini",
        "messages": [{"role": "user", "content": "Напиши короткий слоган про AI."}],
        "stream": True,
    },
    stream=True,
    timeout=120,
) as resp:
    for line in resp.iter_lines(decode_unicode=True):
        if not line:
            continue
        print(line)
        if line.strip() == "data: [DONE]":
            break

Библиотека OpenAI

python
from openai import OpenAI

client = OpenAI(
    base_url="https://ask.chadgpt.ru/api/v1",
    api_key="chad-<your-api-key>",
)

resp = client.chat.completions.create(
    model="chadgpt-5.4",
    messages=[{"role": "user", "content": "Hello! Who are you?"}],
    max_completion_tokens=5000,
)

print(resp)

Список моделей (Python)

python
import requests

BASE_URL = "https://ask.chadgpt.ru"
API_KEY = "YOUR_API_KEY"

resp = requests.get(
    f"{BASE_URL}/api/v1/models",
    headers={"Authorization": f"Bearer {API_KEY}"},
    timeout=30,
)

print(resp.status_code)
print(resp.json())

Интеграции с приложениями

Подставьте эти значения в любое приложение с поддержкой OpenAI-совместимого API:

ПараметрЗначение
Base URLhttps://ask.chadgpt.ru/api/v1
API-ключваш ключ из личного кабинета, меню «Управление API»
Модельлюбой id из раздела «Модели и цены»: gpt-5.6-sol, claude-5-opus, claude-5-sonnet, glm-5.2

Base URL указывайте вместе с /v1 и без /chat/completions.

Cursor

  1. Откройте Settings и перейдите в раздел Models
  2. Включите Override OpenAI Base URL и вставьте https://ask.chadgpt.ru/api/v1
  3. В поле OpenAI API Key вставьте ваш ключ
  4. В списке моделей добавьте нужные id (например gpt-5.6-sol, claude-5-sonnet, glm-5.2)

OpenCode

Добавьте провайдер в ~/.config/opencode/opencode.json (глобально) или в opencode.json в корне проекта:

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "chad": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "chad",
      "options": {
        "baseURL": "https://ask.chadgpt.ru/api/v1",
        "apiKey": "{env:CHAD_API_KEY}"
      },
      "models": {
        "gpt-5.6-sol": { "name": "GPT 5.6 SOL" },
        "gpt-5.6-luna": { "name": "GPT 5.6 LUNA" },
        "glm-5.2": { "name": "GLM 5.2" },
        "claude-5-opus": { "name": "CLAUDE 5 OPUS" },
        "claude-5-sonnet": { "name": "CLAUDE 5 SONNET" },
        "grok-4.5": { "name": "GROK 4.5" }
      }
    }
  }
}

Задайте ключ и выберите модель командой /models:

bash
export CHAD_API_KEY="YOUR_API_KEY"

Cline (VS Code)

В настройках расширения укажите:

  • API Provider - OpenAI Compatible
  • Base URL - https://ask.chadgpt.ru/api/v1
  • API Key - ваш ключ
  • Model ID - id модели, например gpt-5.6-sol, claude-5-sonnet или glm-5.2

Continue (VS Code и JetBrains)

Добавьте модель в config.yaml:

yaml
models:
  - name: chad GPT 5.6 SOL
    provider: openai
    model: gpt-5.6-sol
    apiBase: https://ask.chadgpt.ru/api/v1
    apiKey: YOUR_API_KEY
    roles:
      - chat
      - edit
  - name: chad CLAUDE 5 SONNET
    provider: openai
    model: claude-5-sonnet
    apiBase: https://ask.chadgpt.ru/api/v1
    apiKey: YOUR_API_KEY
    roles:
      - chat
      - edit
  - name: chad GPT 5.3 CODEX
    provider: openai
    model: gpt-5.3-codex
    apiBase: https://ask.chadgpt.ru/api/v1
    apiKey: YOUR_API_KEY
    roles:
      - chat
      - edit

Aider

bash
export OPENAI_API_BASE="https://ask.chadgpt.ru/api/v1"
export OPENAI_API_KEY="YOUR_API_KEY"

aider --model openai/gpt-5.6-sol

Префикс openai/ в имени модели обязателен.

Другие приложения

Задайте переменные окружения:

ПеременнаяКто использует
OPENAI_BASE_URLофициальные библиотеки openai для Python и JavaScript
OPENAI_API_BASEклиенты на LiteLLM, в том числе aider
OPENAI_API_KEYключ, общий для обоих вариантов

Если интеграция не заработала

  • 401 invalid_api_key - ключ не подставился, скопирован не полностью или неверен. Проверьте заголовок Authorization: Bearer <API_KEY>
  • 400 invalid_request_error с упоминанием api_key - приложение отправляет ключ в теле запроса. chad API принимает ключ только в заголовке Authorization
  • 429 insufficient_quota - пополните API баланс в личном кабинете
  • Модель не отвечает или отсутствует в списке - сверьте id с ответом GET /api/v1/models
  • Приложение обращается к эндпоинту, которого нет в разделе «Поддерживаемые ссылки»
  • Ошибка осталась - напишите в поддержку: Telegram или Max

Эмбеддинги

POST /api/v1/embeddings, модель - text-embedding-3-small.

Тело запроса

ПолеТипОписание
modelstringID эмбеддинг-модели (обязательно)
inputstring или array<string> или array<int>Текст, массив текстов или массив токенов (обязательно)
dimensionsintegerРазмерность вектора, от 1 до 3072
encoding_formatstringfloat (по умолчанию) или base64

Ограничения: строка - не больше 100 000 символов, массив - не больше 10 000 элементов.

От encoding_format зависит поле embedding в ответе: при float это массив чисел, при base64 - строка.

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

python
import requests

BASE_URL = "https://ask.chadgpt.ru"
API_KEY = "YOUR_API_KEY"

resp = requests.post(
    f"{BASE_URL}/api/v1/embeddings",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "model": "text-embedding-3-small",
        "input": ["Первый текст", "Второй текст"],
    },
    timeout=60,
)

print(resp.json())

Ответ

json
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [0.0023, -0.0091],
      "index": 0
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}

Транскрибация аудио

POST /api/v1/audio/transcriptions, тело - multipart/form-data.

Поля формы

ПолеТипОписание
filefileАудиофайл (обязательно)
modelstringТолько gpt-4o-mini-transcribe, оно же значение по умолчанию
languagestringЯзык аудио
promptstringПодсказка для распознавания

Оплата считается по длительности аудио, цена за минуту указана в разделе «Модели и цены».

Параметры response_format, temperature и timestamp_granularities[] не поддерживаются - ответ всегда приходит в JSON.

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

python
import requests

BASE_URL = "https://ask.chadgpt.ru"
API_KEY = "YOUR_API_KEY"

with open("audio.mp3", "rb") as audio:
    resp = requests.post(
        f"{BASE_URL}/api/v1/audio/transcriptions",
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"file": audio},
        data={"model": "gpt-4o-mini-transcribe"},
        timeout=120,
    )

print(resp.json())

Ответ

json
{
  "text": "Распознанный текст"
}

Формат ответов

Успешный ответ

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1714567890,
  "model": "gpt-5-mini",
  "choices": [...],
  "usage": {...}
}

choices[]

json
{
  "index": 0,
  "message": {
    "role": "assistant",
    "content": "Короткий ответ модели"
  },
  "finish_reason": "stop"
}

usage

json
{
  "prompt_tokens": 38,
  "completion_tokens": 29,
  "total_tokens": 67
}

Stream-ответ (stream=true)

Формат: text/event-stream.

Пример событий:

text
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1714567890,"model":"gpt-5-mini","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1714567890,"model":"gpt-5-mini","choices":[{"index":0,"delta":{"content":"AI"},"finish_reason":null}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1714567890,"model":"gpt-5-mini","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

Что забирать клиенту из stream:

  • берите choices[0].delta.content в каждом чанке, где поле присутствует;
  • склеивайте эти фрагменты в финальный текст ответа.

Ошибки и формат error-ответа

Формат error-объекта

json
{
  "error": {
    "message": "Описание проблемы",
    "type": "тип_ошибки",
    "param": "поле_или_null",
    "code": null
  }
}

Реальные сценарии для POST /api/v1/chat/completions

HTTPerror.typeКогда возникает
400invalid_request_errorНевалидный JSON, body не объект, ошибки полей (model, messages, api_key в body и др.)
401invalid_request_errorНет Authorization или неверный формат заголовка
401invalid_api_keyAPI-ключ не найден или невалиден
403permission_deniedДоступ запрещен
429insufficient_quotaЗакончилась доступная квота
502server_errorUpstream недоступен или вернул сбой
500server_errorНепредвиденная ошибка сервиса

Пример ошибки: неверный Authorization

python
import requests

BASE_URL = "https://ask.chadgpt.ru"

resp = requests.post(
    f"{BASE_URL}/api/v1/chat/completions",
    headers={
        "Authorization": "Token WRONG_FORMAT",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-5-mini",
        "messages": [{"role": "user", "content": "hello"}],
    },
    timeout=60,
)

print(resp.status_code)
print(resp.json())
json
{
  "error": {
    "message": "Missing or invalid Authorization header. Header must be in format: \"Authorization: Bearer YOUR_API_KEY\"",
    "type": "invalid_request_error",
    "param": "Authorization",
    "code": null
  }
}

Остались вопросы?

Если возникли ошибки или что-то не работает, напишите в поддержку:

Приложите id модели, текст ошибки и минимальный пример запроса - так разберемся быстрее.