После регистрации откройте «API-ключи». Полное значение показывается один раз.
Подключите модель
за один вечер.
OpenAI-совместимый API, один ключ и публичные цены в рублях. Здесь есть всё, чтобы оценить интеграцию до создания аккаунта.
Обновление · 10 октября 2026
GPT дешевле. GPT Image 2.5 уже доступен
Новые базовые цены уже действуют. Прежний ключ, адрес API и настройки подключения сохраняются.Текстовые GPT — цена за миллион токенов
| Модель | Было | Вход | Выход |
|---|---|---|---|
| GPT-6 Astra | 80 ₽ | 55 ₽ | 55 ₽ |
| GPT-6 Sol / GPT-6.1 Sol | 40 ₽ | 28 ₽ | 28 ₽ |
| GPT-5.6 Sol | 50 ₽ | 35 ₽ | 35 ₽ |
| GPT-5.6 Terra / GPT-5.5 | 30 ₽ | 21 ₽ | 21 ₽ |
| GPT-6 Luna / GPT-5.6 Luna | 15 ₽ | 10 ₽ | 10 ₽ |
Входные и выходные токены считаются отдельно, по одной ставке. Для соответствующих Review-моделей действуют те же новые цены. Это снижение примерно на 30–33%, а не вдвое. Персональные условия аккаунта сохраняются; свою цену проверяйте в GET /v1/balance.
GPT Image 2.5 — цена за одно изображение
| Формат | Low | Medium | High |
|---|---|---|---|
| Квадрат | 1,7 ₽ | 1,7 ₽ | 3,4 ₽ |
| Портрет / альбом | 2,5 ₽ | 2,5 ₽ | 5 ₽ |
Публичный ID — gpt-image-2.5, результат — PNG. Low, Medium и High проверены живыми запросами. До 10 референсов PNG, JPEG или WebP, каждый до 2,5 МБ. Пропорции указывайте также в описании: точные пиксели результата могут отличаться. Тарифы GPT Image 2 и GPT Image 1.5 не менялись.
Быстрый старт
Три шага до первого ответа
Примеры используют привычный OpenAI SDK. Меняются только ключ, Base URL и имя модели.Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
Положите kd_live_… в переменную KEYDEALER_API_KEY.
Выберите модель из каталога и используйте пример ниже.
cURL уже готов к работеМожно использовать любой HTTP-клиент. SDK нужен только для удобства.
curl https://api.keydealer.ru/v1/chat/completions \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sonnet-5",
"messages": [
{"role": "user", "content": "Объясни API простыми словами"}
]
}'Перед длинной сессией
Для длинных агентных задач рекомендуем KD Code
Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.Оптимизация KD Code работает только в задачах внутри приложения. Одна установка не уменьшает расход в другом клиенте; подключение к API само по себе не включает локальный движок KD Code.
Используйте прежний ключ KeyDealer и тот же баланс. KD Code бесплатен, запросы к моделям оплачиваются по тарифам вашего аккаунта. Экономия достигается сокращением повторного контекста, а не отдельной скидкой на токен.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
API остаётся доступен для собственных интеграций: контролируйте размер истории, повторные чтения и лимиты расходов. Серверные KD Trim и кэш готовых ответов имеют отдельные условия и не заменяют локальное управление контекстом KD Code.
Размер экономии зависит от модели, задачи, инструментов и управления историей. На коротких запросах или уже оптимизированном контексте её может не быть. Конкретный процент заранее не гарантируется.
Авторизация
Один заголовок для всех моделей
Каждый запрос к защищённым методам передаёт ключ по стандартной схеме Bearer.Authorization: Bearer kd_live_…Не вставляйте его во frontend-код, мобильное приложение или публичный репозиторий. Делайте запросы со своего сервера.
KeyDealer сохраняет необратимый отпечаток, а не полное значение.
Так проще ограничивать расходы и отзывать доступ без остановки других систем.
Скомпрометированный ключ можно отключить в личном кабинете.
Модели и цены
Каталог загружается прямо из API
Таблица показывает публичный каталог, включая позиции с нулевой ставкой, и честный статус каждого протокола: доступен или на проверке.| Модель | Назначение | Вход / 1 млн | Выход / 1 млн | Протоколы | Возможности | Prompt cache |
|---|---|---|---|---|---|---|
Получаем актуальные данные из GET /v1/models… | ||||||
id из каталога. Префиксные и короткие ID внутренних маршрутов поставщика не являются частью API KeyDealer и отклоняются. verified означает проверку контролируемым запросом, unsupported — известное отсутствие функции, unknown — KeyDealer пока ничего не обещает.-review доступны через Chat Completions. Проверены потоковый ответ, вызов инструментов и продолжение с их результатом. Review — отдельный выбор модели, а не автоматическая проверка каждого чата. Поддержку Responses, Messages и изображений смотрите отдельно в каталоге.safe / unsafe, Riva предназначена для перевода: задайте языковую пару в сообщении system, например ru-en. Content Safety и Riva — специализированные модели, не универсальные агенты.health.status показывает наблюдаемое состояние модели у поставщика. outage предупреждает о текущем сбое, но сам по себе не отключает маршрут: запрос продолжает использовать обычные повторы и резервные пути. Статус обновляется автоматически, а health.bars содержит почасовую историю за последние 168 часов.Закупочная стоимость маршрутов обновляется, поэтому ставки для будущих запросов тоже могут измениться. Актуальная базовая цена всегда опубликована в GET /v1/models, персональная — в GET /v1/balance. Уже принятый запрос рассчитывается по ставке, зафиксированной при его приёме.
Chat Completions
Знакомый формат запроса и ответа
Основной метод принимает историю сообщений и возвращает OpenAI-совместимый объект completion./v1/chat/completionsapplication/jsonmodelstring · обязательноПубличный ID из GET /v1/models.
messagesarray · обязательноОт 1 до 1 000 сообщений с ролями system, user и assistant.
max_tokensinteger · необязательноМаксимальный объём ответа в токенах: целое число от 1. Предел конкретной модели — capabilities.max_output_tokens в GET /v1/models; если он не указан, ответ ограничивает только сама модель. Запрос с числом больше предела не отклоняется: модель отвечает в пределах своего предела, а применённое значение приходит в заголовке x-kd-max-tokens-applied.
streamboolean · необязательноtrue включает потоковый ответ через Server-Sent Events.
tools / functionsarray · зависит от моделиОписание функций для tool calling. Проверяйте capabilities.tools.
tool_choice / function_callstring | objectПринудительный выбор работает только при forced_tool_choice = verified.
response_formatobject · зависит от моделиcapabilities.json_output = verified подтверждает JSON mode, а не соблюдение строгой схемы. Для строгого JSON используйте проверенный Responses-маршрут.
parallel_tool_callsboolean · зависит от моделиПараллельные вызовы имеют отдельный статус в каталоге.
Неизвестное поле верхнего уровня возвращает 400 unsupported_parameter. Если запрошенная возможность ещё не проверена, ответ содержит x-kd-unverified-capabilities. Поля с таким статусом используйте только после собственного теста.
{
"id": "chatcmpl_kd_…",
"object": "chat.completion",
"model": "sonnet-5",
"choices": [{
"index": 0,
"message": { "role": "assistant", "content": "…" },
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9584,
"completion_tokens": 126,
"total_tokens": 9710,
"prompt_tokens_details": {
"estimated_route_context_tokens": 9500,
"context_value_is_estimate": true
}
},
"keydealer_billing": {
"currency": "RUB",
"charge_source": "usage",
"input_rub_per_million": 30,
"output_rub_per_million": 30,
"charged_microrubles": 291300,
"operation_id": "kd_req_…"
}
}Messages и Responses
Один ключ, разные wire-протоколы
Проверенный endpoint выбирается по задаче и статусу конкретной модели в GET /v1/models.POST /v1/messagesAnthropic-compatibleИспользуется Claude Code и клиентами Messages API. Поддерживает заголовок x-api-key и Bearer-ключ KeyDealer.
POST /v1/responsesOpenAI ResponsesКонтракт для современных агентных клиентов. До открытия модели поле protocols.responses остаётся review.
gpt-5-6-terraCodex CLI · провереноРаботает через wire_api = "responses": streaming, terminal tools и возврат tool results подтверждены публичным E2E.
gpt-6-solResponses · проверено 28 сентябряПроверили форму запроса Codex Desktop: потоковый вызов инструмента, возврат результата, продолжение ответа и списание. Это не гарантия для любой версии клиента и каждой модели.
GET /v1/modelsисточник истиныПроверяйте protocols.chat_completions, protocols.anthropic_messages и protocols.responses отдельно.
GET /v1/models/info?id=…точный выбор endpointДля Codex выбирайте responses, для Claude Code — anthropic_messages из массива endpoints[] со статусом available. Одиночное поле endpoint оставлено только для старых клиентов.
# ~/.codex/config.toml
model = "gpt-6-sol"
model_provider = "keydealer"
[model_providers.keydealer]
name = "KeyDealer"
base_url = "https://api.keydealer.ru/v1"
wire_api = "responses"
requires_openai_auth = true
# Один раз сохраните ключ в локальном хранилище Codex:
export KEYDEALER_API_KEY="kd_live_…"
printf '%s' "$KEYDEALER_API_KEY" | codex login --with-api-key
codexЕсли базовый протокол не подтверждён, KeyDealer возвращает model_under_review до резерва баланса и до обращения к модельному сервису.
Структурированные ответы
Ответ по строгой JSON Schema
Для классификации, извлечения данных и интеграций, которым нужен предсказуемый объект.Используйте POST /v1/responses с gpt-5-6-terra или gpt-6-sol. Перед запросом проверьте capabilities.responses_json_schema = verified в GET /v1/models. Этот признак относится к Responses и проверяется отдельно от JSON mode.
{
"model": "gpt-5-6-terra",
"input": "Определи тон сообщения: Спасибо, очень помогли!",
"max_output_tokens": 1024,
"stream": false,
"store": false,
"text": {
"format": {
"type": "json_schema",
"name": "tone_probe",
"strict": true,
"schema": {
"type": "object",
"properties": {
"tone": {
"type": "string",
"enum": [
"neutral",
"warm"
]
},
"reason": {
"type": "string"
}
},
"required": [
"tone",
"reason"
],
"additionalProperties": false
}
}
}
}Результат находится в output[].content[] с типом output_text. Внутри — JSON-строка, которую можно разобрать через JSON.parse. На этом этапе доступны запросы с stream: false без инструментов. Выбор модели и действующий тариф сохраняются; автоматической замены другой моделью нет.
Поддерживаемая схемаограниченное подмножествоКорневой объект, вложенные объекты и массивы, string, number, integer, boolean, null, enum и const для простых значений. Nullable-поле задается массивом из одного типа и null. Все свойства объекта должны входить в required, additionalProperties — false.
Ограничениядо платного вызоваСхема до 16 КБ, глубина до 8, до 128 узлов схемы, до 64 свойств в объекте и значений enum. Выходной объект — до 20 000 узлов. $ref, $defs, anyOf, allOf, oneOf, pattern, format и ограничения длины, диапазона или числа элементов пока не поддерживаются.
Ошибка результатабез списания с клиентаЕсли итоговый ответ нарушает схему, вернется HTTP 502 с structured_output_invalid. Незавершенный ответ — 502 model_output_incomplete, отказ модели — 422 model_output_refused. Ошибка содержит request_id. Невалидная схема или неподдерживаемое сочетание параметров отклоняется HTTP 400 до обращения к модели.
KeyDealer проверяет итоговый текст ответа. Сервис не убирает Markdown-обрамление, не дополняет отсутствующие поля и не запускает платные повторы ради исправления формата. Для Luna и Luna Review поддержка строгой схемы через Chat Completions пока не подтверждена.
Входные изображения
Проверяйте не только значок vision
Каталог подтверждает приём изображения конкретным маршрутом, но пока не показывает, кто именно прочитал его внутри маршрута.capabilities.vision=verified означает, что KeyDealer получил правильный ответ на контрольную картинку. Это не гарантия точного OCR, понимания любого скриншота или нативной обработки выбранной моделью. Значение unknown означает отсутствие подтверждённого результата, а не доказанное отсутствие зрения.
Смотрите живой каталог
Перед отправкой изображения проверяйте capabilities.vision в GET /v1/models. Список меняется после новых проб и не должен храниться в клиенте вручную.
Прямой и с помощником
В проверке 7 сентября ответы маршрутов Opus сообщили, что изображение сначала читает Gemini, а выбранная модель отвечает по описанию. У ряда других маршрутов ответы указывали на прямую обработку. API пока не возвращает отдельный признак пути.
Маршрут не раскрывает исполнителя
Определение пути основано на согласованном ответе моделей, а не на отдельном поле протокола. Для чувствительных изображений используйте Opus только если допустима обработка вспомогательной моделью.
Deep Research
Актуальные данные из открытого интернета
Подтверждённый встроенный исследовательский маршрут сейчас один: Grok Multi-Agent через Responses API./v1/responsesдо нескольких минутmodelобязательноИспользуйте публичный ID grok-4-20-multi-agent.
inputстрока · обязательноОпишите тему, глубину, формат результата и требования к источникам.
streamboolean · необязательноtrue возвращает события SSE и завершает поток событием response.completed.
toolsне передаватьВеб-исследование встроено в этот маршрут. Клиентские функции ему не требуются.
curl https://api.keydealer.ru/v1/responses \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4-20-multi-agent",
"input": "Сравни актуальные тарифы трёх сервисов, проверь официальные страницы и укажи ссылки на источники."
}'/v1/modelsClaude server web search · fail-closedanthropic_server_web_searchсейчас unknownНи один Claude-маршрут сейчас не публикуется как проверенный для серверного поиска. Недоказанная возможность блокируется до резерва баланса.
web_search_20250305server toolGateway умеет валидировать и передавать этот инструмент, но пропустит его только после новой маршрутной пробы со статусом verified.
searchполе поставщикаОбщая пометка поиска в каталоге поставщика не доказывает поддержку конкретного Messages-инструмента и не повышает capability автоматически.
usage.server_tool_useтребуется для проверкиВозврат к verified потребует наблюдаемого поискового результата, цитат, terminal usage и корректного списания.
После обновления маршрута ранее подтверждённая модель перестала принимать инструмент. До новой успешной пробы используйте Grok Multi-Agent выше либо отдельные методы /v1/search и /v1/web/fetch.
o3-deep-research не опубликован в живом GET /v1/models, поэтому KeyDealer не принимает его и не резервирует баланс. Маршрут откроется только после появления модели и завершённого теста web_search_preview с usage.
Исследование может использовать много внутренних рассуждений. KeyDealer списывает фактические входные и выходные токены только после корректно завершённого ответа; при оборванном потоке резерв возвращается.
Интернет для агентов
Поиск и чтение страниц — двумя простыми методами
Оба метода доступны любому агенту с ключом KeyDealer и управляются одним переключателем «Доступ к интернету» в деталях ключа./v1/chat/completions, обычный /v1/responses и /v1/messages работают только с переданным контекстом. Для актуальных данных используйте Grok Multi-Agent выше либо вызовите /v1/search или /v1/web/fetch и передайте результат модели.
POST /v1/searchактуальный веб-поискПринимает query и необязательный max_results от 1 до 10. Возвращает готовый ответ, найденные ссылки, usage и точное списание.
POST /v1/web/fetchчтение конкретной страницыПринимает единственное поле url и возвращает очищенный текст публичной HTTP(S)-страницы размером до 2 МБ. Квоты по ключу и ограничения параллельности по ключу нет.
curl https://api.keydealer.ru/v1/search \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"Что изменилось в Node.js за последний месяц?","max_results":5}'
curl https://api.keydealer.ru/v1/web/fetch \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://nodejs.org/en/blog"}'fetch блокирует localhost, частные и служебные IP, cloud metadata, домены KeyDealer, нестандартные порты и повторно проверяет каждый redirect. Cookies, клиентские заголовки и авторизация на страницу не пересылаются.
search выполняет полноценное исследование через Grok 4.20 Multi-Agent, поэтому может занять несколько минут и списывает фактические токены. fetch включён в сервис без отдельного списания. Новые и существующие ключи получают доступ по умолчанию; его можно целиком выключить для конкретного ключа.Image API
Генерация и редактирование изображений
GPT Image, Gemini, Nano Banana и Grok работают по опубликованной цене за изображение. FLUX — без списаний после подтверждённого пополнения от 100 ₽./v1/images/generationsapplication/json| Модель | Размер | Low | Medium | High | Форматы |
|---|---|---|---|---|---|
Получаем актуальные цены из GET /v1/models… | |||||
modelобязательноВыберите любую image-модель из живого GET /v1/models?kind=image: GPT Image, Gemini, Nano Banana, Grok Imagine или FLUX.
promptобязательноТекстовое описание изображения. Текст не сохраняется в истории кабинета.
qualitylow | medium | highПо умолчанию medium. Чем выше качество, тем выше фиксированная цена. У GPT Image 2.6 Flare и Sunburst качество задаёт и класс разрешения: medium — около 2K (≈4,2 Мп), high — до 4K (не больше 8,3 Мп, длинная сторона до 3840 px); low у них нет.
size3 запрашиваемых размера1024x1024, 1024x1536 или 1536x1024. Модель может вернуть другие размеры; фактические пиксели — в заголовке X-KD-Image-Actual-Size.
aspect_ratioнеобязательно16:9, 9:16, 1:1, 3:2, 3:4 или 2:3. Передаётся модели, но соблюдение формата зависит от маршрута. У GPT Image 2.6 пропорция задаёт точный холст и должна совпадать с ориентацией size: 1:1 — с квадратом, 2:3, 3:4, 9:16 — с портретом, 3:2, 16:9 — с альбомом. GPT Image 2 параметр не принимает: пропорцию задаёт size (1024x1024, 1024x1536 или 1536x1024), запрос с aspect_ratio получает ошибку 400 без списания.
output_formatпо каталогу моделиДопустимые PNG, JPEG или WebP перечислены в capabilities.output_formats. Изображение возвращается в b64_json.
nтолько 1Один запрос создаёт одно изображение. Для серии отправляйте отдельные запросы.
image / imagesпо возможностям моделиGPT Image 2.6, GPT Image 2.5, GPT Image 2 и GPT Image 1.5 принимают до 10 референсов в одном запросе. Для остальных моделей лимит смотрите в capabilities.image_references_max живого каталога. Каждый файл — PNG, JPEG или WebP до 2,5 МБ; внешние URL не скачиваются. В Image Studio KD Code десять референсов доступны начиная с версии 0.3.49.
maskGPT Image 2.6Правка участка первой картинки из image или images. PNG с альфа-каналом того же размера, что первая картинка: полностью прозрачные пиксели отмечают, что менять. Нельзя вместе с markup.
markupGPT Image 2.6Прозрачный PNG того же размера, что первая картинка, с обведённым участком; что изменить, опишите в prompt. Нельзя вместе с mask.
complexityGPT Image 2.6low, medium или high — сколько модель планирует перед отрисовкой, отдельно от качества и без доплаты. По умолчанию у модели high; low подходит для точечных правок.
seed / stepsтолько FLUXВоспроизводимый seed и число шагов от 1 до 100. FLUX сейчас возвращает JPEG 1024×1024.
X-KD-Idempotency-Key и X-KD-Idempotency-Scope обязательны. Перед генерацией получите свежий image_idempotency_scope из GET /v1/balance. Для каждой логической генерации создавайте новый ключ длиной 16–128 ASCII-символов; после неопределённого ответа повторяйте неизменённый запрос с тем же ключом и scope.KD_IMAGE_SCOPE="$(
curl -fsS https://api.keydealer.ru/v1/balance \
-H "Authorization: Bearer $KEYDEALER_API_KEY" | \
python3 -c 'import json,sys; print(json.load(sys.stdin)["image_idempotency_scope"])'
)"
KD_IMAGE_REQUEST_ID="$(uuidgen)"
curl https://api.keydealer.ru/v1/images/generations \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-H "X-KD-Idempotency-Key: $KD_IMAGE_REQUEST_ID" \
-H "X-KD-Idempotency-Scope: $KD_IMAGE_SCOPE" \
-d '{
"model": "gpt-image-2.5",
"prompt": "Предметная фотография кроссовок на светлом фоне. Итоговый холст квадратный, 1:1, 1024 на 1024 пикселя.",
"quality": "medium",
"size": "1024x1024",
"output_format": "png"
}'KD_IMAGE_SCOPE="$(
curl -fsS https://api.keydealer.ru/v1/balance \
-H "Authorization: Bearer $KEYDEALER_API_KEY" | \
python3 -c 'import json,sys; print(json.load(sys.stdin)["image_idempotency_scope"])'
)"
KD_IMAGE_REQUEST_ID="$(uuidgen)"
curl https://api.keydealer.ru/v1/images/generations \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-H "X-KD-Idempotency-Key: $KD_IMAGE_REQUEST_ID" \
-H "X-KD-Idempotency-Scope: $KD_IMAGE_SCOPE" \
-d '{
"model": "flux-2-klein-4b",
"prompt": "Плакат кофейни в конструктивистском стиле",
"seed": 42,
"steps": 28
}'GET /v1/balance → image_equivalents заранее показывает цену и access.eligible. Тестовый бонус не открывает FLUX: учитываются только платежи со статусом approved суммарно от 100 ₽. Успешный ответ содержит base64-файл и точное нулевое либо платное списание.
prompt: это помогает модели выдержать формат, но не гарантирует точные пиксели. KeyDealer не переписывает ваши промпты и не обрезает результат. Ответ API остаётся JSON; передавать stream не нужно. Для проверенных маршрутов GPT Image 2 и GPT Image 2.5 поток используется внутри шлюза, превью не считаются готовой генерацией. Для Nano и GPT Image 2.6 этот режим не подтверждён. Прозрачный фон GPT Image 2.6 — background: "transparent" с PNG или WebP.data:image/...;base64,...; это исключает скачивание произвольных клиентских URL через наш сервер. Повтор с тем же idempotency key не запускает модель и не списывает генерацию второй раз. Готовый base64-результат сервер не хранит и повторно не выдаёт.Speech API
Озвучка текста тем же ключом KeyDealer
Gemini 3.8 Flash TTS: один диктор, готовый WAV. Перед запуском проверьте наличие модели в живом каталоге.Для изображений используйте Nano Banana через /v1/images/generations, для голоса — отдельный Speech API. Ключ и баланс общие. GET /v1/models/tts показывает доступные модели, GET /v1/audio/voices — имена голосов. Принимаются gemini-3-8-flash-tts и google/gemini-3-8-flash-tts; ответ нормализует ID к первому варианту.
OpenAI audio.speech.create() без адаптации не подходит. Поддерживаются до 2 500 символов текста, один готовый голос и WAV 24 kHz mono PCM16. MP3, speed, клонирование и несколько дикторов пока не поддерживаются.{
"model": "google/gemini-3-8-flash-tts",
"input": "Привет! Это озвучка через KeyDealer.",
"voice": "Charon",
"instructions": "Спокойно и доброжелательно.",
"response_format": "wav"
}# 1. Бесплатная оценка. Ничего не резервирует и не запускает.
curl --fail-with-body https://api.keydealer.ru/v1/audio/speech/quote \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" --data-binary @speech.json
# 2. Из ответа возьмите max_charge_microrubles и проверьте максимум.
# Для этой задачи сохраните один уникальный ключ и не меняйте его при повторе.
curl --fail-with-body https://api.keydealer.ru/v1/audio/speech \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-H "X-KD-Idempotency-Key: $SPEECH_IDEMPOTENCY_KEY" \
-H "X-KD-Max-Charge-Microrubles: $MAX_CHARGE_MICRORUBLES" \
--data-binary @speech.json
# 3. Сохраните id из JSON и проверяйте ТУ ЖЕ задачу до completed/failed.
curl --fail-with-body "https://api.keydealer.ru/v1/audio/speech/operations/$OPERATION_ID" \
-H "Authorization: Bearer $KEYDEALER_API_KEY"
# 4. Только после completed скачайте WAV. Повторное скачивание бесплатно.
curl --fail-with-body "https://api.keydealer.ru/v1/audio/speech/operations/$OPERATION_ID/content" \
-H "Authorization: Bearer $KEYDEALER_API_KEY" -o voice.wavЦена в оценке приблизительная. До отправки резервируется указанный максимум; итоговое списание по подтверждённому использованию не может его превысить. Лишний резерв возвращается при завершении. При unknown исход ещё не подтверждён: не создавайте новую задачу и не считайте списание нулевым. Повтор с тем же idempotency key и тем же телом не вызывает модель заново.
Текст и инструкции отправляются поставщику для озвучки. В KeyDealer они хранятся зашифрованными до отправки; неотправленная задача истекает через 24 часа. Готовое аудио зашифровано и доступно только с ключом вашего аккаунта в течение 24 часов. После этого остаётся финансовая квитанция, но файл повторно не генерируется.
Rerank
Бесплатно пересортируйте найденные документы
Два проверенных маршрута ранжируют фрагменты по релевантности запросу. После подтверждённых пополнений от 100 ₽ отдельного списания нет./v1/rerankapplication/jsonmodelобязательноВыберите публичный ID из GET /v1/models/rerank. Внутренние префиксные маршруты не принимаются.
queryобязательноСтрока или объект {"text":"…"} до 32 000 символов.
documentsобязательноСтроки или объекты с полем text. Лимит — 1 000 либо 512 документов в зависимости от модели.
top_nнеобязательноСколько лучших результатов вернуть. Точный максимум опубликован в capabilities.max_documents.
return_documentsbooleanПри true KeyDealer возвращает исходный текст документа из вашего запроса вместе с оценкой.
truncateEND | NONEEND разрешает усечение длинного текста, NONE требует принять его целиком.
curl https://api.keydealer.ru/v1/rerank \
-H "Authorization: Bearer $KEYDEALER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nemotron-rerank-vl-1b-v2",
"query": "как уменьшить задержку API",
"documents": ["Включите streaming", "Увеличьте размер картинки", "Используйте connection pooling"],
"top_n": 2,
"return_documents": true
}'GET /v1/balance → rerank_access показывает доступ. Успешный ответ содержит terminal usage и charged_microrubles: "0". В журнале остаются только счётчики, статус и время — не запрос и не документы.
Embeddings
Находите документы и код по смыслу
Два проверенных текстовых маршрута превращают текст в вектор из 2 048 чисел. Бесплатно после подтверждённых пополнений суммарно от 100 ₽; приветственный бонус не учитывается./v1/embeddingsapplication/jsonВыберите nemotron-3-embed-1b или nemotron-embed-vl-1b-v2. Передайте input как строку либо массив до 16 строк: до 8 000 символов в каждой и до 64 000 суммарно. Поддерживается только encoding_format: float; изменение размерности и изображения пока не поддерживаются.
{
"model": "nemotron-embed-vl-1b-v2",
"input": [
"Где списывается баланс?",
"После выполнения запроса баланс уменьшается на его стоимость."
],
"encoding_format": "float"
}GET /v1/models/embedding возвращает каталог, а GET /v1/balance → embedding_access — доступ вашего ключа. Ответ содержит векторы в порядке входных строк и квитанцию с нулевым списанием. Одновременно допускаются два запроса на аккаунт; при перегрузке API отвечает 429.
Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
Токены и списания
Формулу можно проверить
Фактический usage приходит вместе с ответом, а точное списание связывается с операцией в истории кабинета./v1/balanceBearer API keyМетод возвращает точный остаток, персональный коэффициент и фактические ставки аккаунта. Ответ не кэшируется.
curl https://api.keydealer.ru/v1/balance \
-H "Authorization: Bearer $KEYDEALER_API_KEY"
{
"object": "balance",
"currency": "RUB",
"pricing_scope": "account_effective",
"balance_microrubles": "6320000",
"balance_rub": "6.32",
"price_multiplier_bps": 10000,
"token_equivalents": [{
"model": "sonnet-5",
"pricing_scope": "account_effective",
"input_tokens": "210666",
"output_tokens": "210666",
"input_rub_per_million": 30,
"output_rub_per_million": 30
}]
}+ completion_tokens × цена выходаСтавки указаны в рублях за 1 000 000 токенов
Две области цены
GET /v1/models показывает базовый каталог, а GET /v1/balance — ваши account-effective ставки и индивидуальные условия.
Ставка фиксируется
Изменение каталога не пересчитывает уже принятый запрос: фактический usage оплачивается по ставке, с которой создан резерв.
Операция совпадает
x-request-id и keydealer_billing.operation_id ведут к той же записи в истории.
prompt_tokens может включать служебный контекст выбранного маршрута. Каталог публикует оценку, а после измерений — p50, p95 и размер выборки. Объём может зависеть от запроса; источник истины — фактический usage.
Response cache
Повторный ответ без нового списания
Отдельная добровольная настройка запроса, не режим хранения обычного журнала.Для поддерживаемого запроса Chat Completions укажите kd_cache: true, temperature: 0 и stream: false. Инструменты и вызовы функций исключены; n не задан или равен 1. Кэш привязан к вашему ключу, модели и полному телу запроса. Совпадение даёт готовый ответ без нового списания; первый запрос оплачивается обычно.
{"model":"PUBLIC_MODEL_ID","messages":[{"role":"user","content":"Кратко объясни HTTP"}],"temperature":0,"stream":false,"kd_cache":true}Это явное исключение из режима без хранения содержимого: тело ответа хранится зашифрованным с TTL (текущая настройка — 24 часа). Текст запроса не сохраняется в кэше; для поиска используется отпечаток. Без kd_cache: true запись не создаётся. Не включайте кэш, если хранение ответа вам не подходит. Наличие опции не гарантирует попадание в кэш; результат проверяйте по served_from_cache и фактическому списанию.
KD Trim
Галочка, которая режет счёт на длинных сессиях
Настройка ключа на стороне шлюза: устаревшие выводы инструментов не пересылаются модели целиком. Ставить ничего не нужно.Агент с каждым ходом пересылает всю историю заново, включая логи, диффы и содержимое файлов, прочитанные десять шагов назад. KD Trim заменяет тела таких устаревших выводов короткой пометкой прямо перед отправкой. Модель не подменяется: отвечает выбранная вами модель, но по укороченному входу, поэтому ответ может отличаться от ответа на полную историю. Свежие результаты остаются целиком. Для Responses API (Codex) Trim пока не применяется.
Новые ключи — включено
Для новых ключей KD Trim включён по умолчанию. Настройки существующих ключей сохранены. Проверить и изменить: «API-ключи» → нужный ключ → KD Trim. В KD Code локальная архивация отключает повторную серверную обрезку.
Для одного запроса
Заголовок x-kd-trim: 1 включает обрезку, x-kd-trim: off выключает. Явный заголовок всегда сильнее настройки ключа.
x-kd-trim: 1Видимый след
Заголовок x-kd-trim сообщает, сколько выводов и символов вырезано. В журнале кабинета появляется оценка сэкономленного.
cleared_tool_results=4На коротких запросах экономия может быть нулевой. Списание считается по фактически отправленным токенам, поэтому результат зависит от длины задачи и модели.
API остаётся доступен для собственных интеграций: контролируйте размер истории, повторные чтения и лимиты расходов. Серверные KD Trim и кэш готовых ответов имеют отдельные условия и не заменяют локальное управление контекстом KD Code.
Завершите текущую задачу и сохраните файлы. В приложении откройте «Настройки → KD Engine», нажмите «Проверить обновления», дождитесь загрузки и выберите «Обновить и перезапустить».
После перезапуска проверьте версию: актуальная — KD Code 0.3.60, KD Engine 0.9.29. Если обновление не предлагается, обратитесь в поддержку.
KD Code 0.3.60
Настольный агент с одной командой установки
Вы выбираете проект сами, запускаете сессии, работаете с файлами и моделями KeyDealer, а приложение показывает фактические списания и уменьшает повторный служебный контекст в длинных задачах.macOS 13+ на Apple Silicon, Windows 10/11 x64 или Linux x64 и ключ KeyDealer из кабинета. Управление рабочим контекстом уже встроено в приложение.
Оптимизация KD Code работает только в задачах внутри приложения. Одна установка не уменьшает расход в другом клиенте; подключение к API само по себе не включает локальный движок KD Code.
Используйте прежний ключ KeyDealer и тот же баланс. KD Code бесплатен, запросы к моделям оплачиваются по тарифам вашего аккаунта. Экономия достигается сокращением повторного контекста, а не отдельной скидкой на токен.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
Одна команда для вашей системы
Установщик проверит отдельную bootstrap-подпись манифеста, затем размер и SHA-256 пакета, установит и запустит KD Code.
curl -fsSL https://keydealer.ru/downloads/kd-code/install.sh | shirm https://keydealer.ru/downloads/kd-code/install.ps1 | iexcurl -fsSL https://keydealer.ru/downloads/kd-code/install-linux.sh | shLinux: Ubuntu 24.04 с графической сессией, Python 3, libsecret-tools и системной связкой ключей. Для профиля AppArmor установщик может один раз запросить sudo.
Введите ключ KeyDealer
Приложение проверит ключ и сохранит его в Keychain на macOS, Credential Manager на Windows или системной связке Secret Service на Linux. Он не записывается в файлы выбранного проекта.
Создайте или выберите проект
KD Code не подключает папки автоматически. Работа начинается в выбранном проекте, а доступ к пути за его пределами требует отдельного подтверждения.
Проекты и изолированные сессии, работа с файлами и командами, выбор моделей, продолжение после перезапуска, управление рабочим контекстом и фактическая стоимость каждой сессии.
В KD Code 0.3.50 рядом с основной моделью откройте «Глубина». Выбор действует со следующего запроса и сохраняется в текущем чате. «Как у модели» возвращает обычный режим; при смене модели настройка сбрасывается.
Меню появляется только у моделей с поддержкой effort, и набор уровней у них разный. Настройка относится к основной модели, не к помощникам или независимому ревью. Глубокий режим может отвечать дольше и расходовать больше токенов, но не гарантирует лучший результат. Тарифы не меняются.
Новая установка получает профиль balanced + active: Gemini 3 Flash (gemini-3-flash) находит нужные файлы, а KD Engine передаёт их основной модели как уже выполненные чтения. Выбранная модель по-прежнему пишет код и отвечает пользователю. Недоказанные экспериментальные этапы скрыты и не могут быть включены из клиентского интерфейса.
После первого уже разрешённого успешного теста KD Code автоматически подхватывает только простую безопасную команду длительностью до 15 секунд, записывает её в .kd/validation.json и повторяет после правок. Shell-цепочки, команды записи и медленные наборы не включаются; для них доступна адресная настройка. Финальный полный прогон обязателен. Оба доказанных этажа можно отключить или вернуть кнопкой «Вернуть рекомендуемые настройки».
Поиск по публичному tRPC · 06.09.2026 · Sonnet 5. Автоматический поисковый профиль: 4,36 ₽ за 12 задач, медиана до ответа 9,44 с, 144 900 входных токенов.
Живой прогон выполнен на KD Code 0.3.15. На всех 12 задачах движок подготовил полные выдержки до ответа; внешних вызовов библиотекаря и исполнения программ не потребовалось. В 0.3.16 исправлен выбор профиля на составных запросах; нового платного замера не было.
Один публичный репозиторий, 12 фиксированных задач и одна основная модель. Относительно исторического v27 стоимость ниже на 9,85%, но медиана времени выше на 19,19%. Это не гарантия такой же скорости, цены или точности на другом проекте. PROOF-LEDGER №58.
Поиск по проекту с локальным индексом
KD Engine внутри приложения находит определения, использования и подходящие файлы в разрешённых папках. При неоднозначном вопросе библиотекарь помогает выбрать выдержки. Индекс хранится локально; выбранные данные передаются моделям для ответа. Модель ответа выбираете вы.
Сколько стоила сессия, видно сразу
Рядом с каждой сессией стоит сумма завершённых списаний в рублях. Не прогноз интерфейса и не счёт в конце месяца.
Два доказанных этажа работают из коробки
KD Locate заранее находит нужные файлы, а KD Verify запускает разрешённую быструю проверку сразу после правки без отдельного обращения к модели. Оба этажа включены одним рекомендуемым тумблером; их можно отключить, перенастроить или вернуть к рекомендуемым значениям.
Экономия, которая не стирает память
После первого хода крупные вложения остаются в локальном архиве. Длинные выводы тестов, линтера, typecheck и сборки превращаются в точный дайджест с exit code и ошибками; полный оригинал можно дочитать. В платном A/B на 10 задачах стоимость снизилась на 15,05% к обычному архиву при одинаковой приёмке результатов.
Передайте работу коллеге вместе с контекстом
Сделайте выбранный чат общим и пригласите коллегу. Один участник занимает сессию, остальные видят его имя. Код и просмотренная история передаются вашей веткой Git; личные чаты и ключи не переносятся. Получатель выбирает свою модель и продолжает новым сообщением. Это работа по очереди, а не одновременное редактирование.
Семейства моделей под одним ключом
Claude, GPT, Gemini, GLM и остальной каталог KeyDealer выбираются в приложении. Рядом с моделью видно цену, статус и поддержку инструментов.
Ваши приложения рядом с проектом
Подключайте GitHub, Linear, Notion и другие сервисы из каталога или добавляйте свой MCP-сервер. В разделе «Приложения» — 12 пресетов, 7 категорий и подборки по задачам. Доступ выдаёте вы; права аккаунта и лимиты сервиса продолжают действовать.
Image Studio внутри KD Code
Опубликованные модели изображений, их размеры, качество, форматы и цены собираются из каталога KeyDealer. Каталог обновляется при смене модели, возвращении в приложение и раз в несколько минут, поэтому серверные изменения появляются без перезапуска. Создание запускается только в настольном приложении, а референсы добавляются только вами.
Файлы, команды и тесты, а не только чат
Агент читает и меняет файлы выбранного проекта, запускает команды и прогоняет тесты. Каждый шаг виден в диалоге и остаётся проверяемым.
Поставьте задачу через Telegram
Включите KD Code Remote, привяжите @KeyDealer_robot и разрешите конкретный проект. Каждая команда /kd создаёт новую изолированную локальную сессию; Plan включён по умолчанию, а Build разрешается отдельно на этом компьютере. Обычные сообщения и поддержка агента не запускают.
Работа продолжается после перезапуска
Сессии и состояние хранятся на этом компьютере. После закрытия приложения можно вернуться к задаче, а не начинать её заново.
Сохраняйте подход, а не повторяйте объяснение
По вашей просьбе агент сохраняет описание процедуры локально, находит его и проверяет, изменились ли указанные файлы. Каждое обращение требует одноразового согласия. В обычные запросы память не добавляется автоматически; её использование всё равно расходует токены.
Границы задаёте вы
Папка не подключается сама. По умолчанию обращение за пределы выбранного проекта требует подтверждения. Явный режим «Полный доступ» разрешает работать без повторных запросов, пока вы его не отключите.
Личный Jarvis связывает ваши проекты
Вы сами выбираете папки через системное окно и отдельно подтверждаете доступ. Jarvis локально строит визуальную карту файлов и связей, отвечает с реальными источниками и передаёт модели только подходящие фрагменты для конкретного вопроса. Доступ можно отозвать одной кнопкой.
Скиллы подключаются по запросу
Каталоги скиллов из других агентских приложений не подмешиваются в обычный запрос. На чужой машине такой каталог занимал больше двадцати тысяч токенов в каждом обращении.
Уточнение не сбивает текущий ход
Следующее сообщение ждёт, пока агент закончит. Вмешаться немедленно можно отдельным действием «Скорректировать».
Отдельная история приложения
Сессии и настройки других агентских приложений не импортируются и не смешиваются с вашей работой.
Обновление видно прямо в приложении
KD Code проверяет общий канал и показывает заметное уведомление всем установкам, когда выходит новая версия. Установка запускается только по вашему нажатию; перед ней приложение проверяет Ed25519-подпись, размер и SHA-256 архива.
KD Code распространяется напрямую с сайта. Первая установка проверяет detached SSH-подпись манифеста встроенным bootstrap-ключом, затем размер и SHA-256 пакета. Команды curl | sh и irm | iex до запуска этой проверки доверяют HTTPS-домену keydealer.ru; fingerprint bootstrap-ключа опубликован на странице KD Code для независимой сверки. Gatekeeper или SmartScreen всё равно могут показать предупреждение.
KD Code 0.3.60
Продолжайте одну сессию с коллегой
Один участник работает, затем передает выбранную историю и код другому через общую ветку Git. Это не одновременное редактирование.Обновите оба приложения. У каждого участника должны быть свой ключ KeyDealer, локальная копия одного Git-репозитория и доступ к его remote. Работайте в одной выбранной ветке. Кнопка «Совместная работа» находится рядом с управлением разрешениями в строке ввода чата.
Выберите общий чат
В существующей сессии откройте «Совместная работа», укажите свое имя и нажмите «Сделать этот чат общим». Через «Пригласить коллегу» получите одноразовый код и передайте его коллеге лично. Он вводит свое имя и код, затем нажимает «Принять приглашение». Приглашение действует 24 часа.
Сохраните код и просмотрите историю
Завершите ход агента и сохраните изменения кода обычным Git-коммитом. Нажмите «Подготовить передачу», проверьте всю выбранную историю и исходящие изменения, затем явно подтвердите публикацию. Приложение не коммитит посторонние незавершенные изменения. После успешной передачи сессия освобождается автоматически. Чтобы перестать работать без передачи нового checkpoint, используйте «Освободить».
Получите сессию на втором компьютере
Коллега нажимает «Получить из Git», выбирает общую сессию и нажимает «Посмотреть входящую историю». После просмотра выбирает свою модель и нажимает «Восстановить и занять». История появится в его локальном чате. Продолжение начинается только после нового сообщения; прежние инструменты повторно не запускаются.
В интерфейсе видно имя владельца. Владение продлевается автоматически. Если соединение или право владения потеряно, агент и его инструменты останавливаются. После перезапуска нужно занять сессию заново. Внешние редакторы и ручные Git-команды этой блокировкой не управляются.
Если публикация оборвалась, откройте ту же ветку и нажмите «Восстановить передачу». Приложение сверит уже отправленный checkpoint и завершит передачу без повторного выполнения задачи. Конфликт не перезаписывается автоматически. Для другой ветки нужна явная отдельная копия истории.
Личные чаты не публикуются. Выбранная история остается в вашем Git-репозитории: ее тексты и файлы не отправляются на сервер координации KeyDealer. Сообщения и вложения могут содержать секреты, поэтому перед передачей проверьте их целиком. Ключи аккаунта и локальные разрешения не переносятся; у получателя действуют его собственные разрешения.
На checkpoint действует лимит 500 сообщений и 1 МБ; исходящий diff кода ограничен 2 МБ. Превышение блокирует передачу, а не обрезает историю молча.
KD Code 0.3.48+
Независимое ревью в истории чата
Выбранная модель комментирует новые завершенные действия агента. Это советы, а не гарантия правильности или безопасности.Рядом с полем ввода нажмите «Ревью · выкл», затем откройте «Настройки» и выберите модель ревьюера. Включение и модель сохраняются для этой сессии при смене вкладок и перезапуске. По умолчанию ревью выключено.
Комментарий к своему ходу
Карточка «Независимое ревью» появляется в основной ленте на отдельной подложке. В ней указаны модель, время и стоимость, когда она доступна в ответе. Выключение ревью не удаляет комментарии.
Отдельные запросы
До пяти проверок за ход, с паузой минимум восемь секунд. Старые действия повторно не отправляются. Переключение чата и перезапуск не обнуляют бюджет проверок.
Не управляет агентом
Ревьюер не меняет файлы и не получает инструменты. Его комментарии не добавляются в контекст основной модели. Это отдельная функция, не KD Layers и не субагенты.
Настройки и комментарии сохраняются на этом компьютере. Они не передаются коллеге через Git и не входят в экспорт обычной истории. После включения отрывки новых действий передаются выбранной модели через KeyDealer. Фильтр типовых секретов не гарантирует обнаружения всех конфиденциальных данных: включайте ревью только для подходящих задач.
При ошибке, отмене или обрыве с неопределенным результатом платная проверка автоматически не повторяется. Если запрос уже обработан, отмена не гарантирует отсутствия списания.
KD Layers · KD Code 0.3.42+
Два доказанных этажа одной настройкой
KD Locate сокращает первичный поиск основной моделью, а KD Verify локально проверяет правку без отдельного модельного хода.Как включить: откройте KD Code → Настройки → в разделе KD Engine выберите Маршрутизация → включите «Рекомендуемая маршрутизация». Если приложение не показывает пометку об изменённых расширенных настройках, больше ничего настраивать не нужно.
Настройки → KD Engine → Маршрутизация
Это единственный экран управления KD Layers. Экспериментальные этапы здесь не показываются.
Рекомендуемая маршрутизация
Тумблер включает KD Locate и KD Verify вместе. Основная выбранная модель продолжает писать код и проверять итог.
Вернуть рекомендуемые настройки
Используйте эту кнопку, если меняли исполнителя, режим передачи файлов или локальную проверку и хотите вернуться к доказанной конфигурации.
Поиск нужных файлов
По умолчанию gemini-3-flash находит файлы, а режим «Готовые чтения · рекомендуется» передаёт их основной модели как уже прочитанные. В расширенных настройках можно выбрать другую доступную модель, основную модель или локальный исполнитель.
Проверка после правки
Рекомендуемое значение — «Запускать затронутые тесты». Проверку выполняет локальный runtime проекта, поэтому сам запуск не расходует токены. Финальный полный прогон остаётся обязательным.
Основная модель остаётся автором
Вспомогательная модель выполняет только подписанный поисковый этап. Сложную правку, объяснение и итог даёт выбранная пользователем основная модель.
Когда нужны расширенные настройки
Открывайте их только для конкретной задачи: заменить модель KD Locate, вернуть совместимый режим передачи файлов, выключить проверку после правки или настроить адресные проверки долгого проекта. Для обычной работы оставьте рекомендуемые значения.
Оставьте «Готовые чтения»
Режим history доказан: он не просто показывает модели выдержку, а представляет найденные файлы как выполненные чтения. system оставлен для совместимости и диагностики.
Найти → проверить → подтвердить
Выберите проект, нажмите «Найти безопасные команды», просмотрите список и только затем нажмите «Подтвердить и создать карту». До подтверждения ничего не запускается и существующий файл не перезаписывается.
Проверьте runtime проекта
Если Node.js, Python, Go, Rust или нужный тестовый сценарий не установлен, KD Verify не сможет выполнить тест. Установите runtime или добавьте обычную тестовую команду и повторите поиск.
Только уже разрешённая пользователем, успешно завершившаяся простая тестовая команда из белого списка с первым временем до 15 секунд. Shell-цепочки, перенаправления, команды записи, coverage, watch, обновление снапшотов и медленные полные наборы автоматически не включаются. KD Layers не получает новых разрешений.
Сначала проверить версию KD Code, затем вести по пути «Настройки → KD Engine → Маршрутизация». Без конкретной причины не менять расширенные настройки; при сомнении предлагать «Вернуть рекомендуемые настройки». Не включать скрытые экспериментальные этапы, не складывать проценты двух этажей и не объявлять локальный тест успешным без runtime и фактического результата.
KD Research · KDX-01
Исследование проекта до первой правки
Функция KD Engine автоматически работает во время поиска и чтения кода, даже если пользователь остаётся в режиме Build.KD Research связывает формулировку задачи с определениями, местами вызова и точными диапазонами в разрешённых файлах. Для точного символа он возвращает его тело, связи и используемые определения того же файла за границами тела с явной пометкой области видимости. После первого успешного edit, write или apply_patch исследовательский инструмент засыпает. Уже найденный результат один раз передаётся следующему успешному обращению модели, после чего не повторяется в дальнейшей истории.
Быстрее понимает задачу
Даже в большом проекте агент быстрее находит точку старта и переходит к делу.
Не тратится на повторы
Меньше лишних шагов уходит на повторный поиск уже найденной информации.
Оставляет бюджет на результат
Вы меньше платите за знакомство с проектом и больше вкладываете в готовое решение.
−15,33%
стоимости предварительного разбора
−25%
оплаченных обращений: 12 → 9
4/4
качество ответа во всех восьми попытках
В четырёх парных прогонах одной задачи обычный KD Engine стоил 3,39 ₽, а KD Engine с KD Research — 2,87 ₽. Число оплаченных обращений снизилось с 12 до 9. Результат зависит от проекта, задачи и выбранной модели.
KD Research не обучает модель и не меняет её веса. KDX-01 — внутреннее имя технологии, KD Research — название функции для пользователя, KD Engine — движок, в котором она работает.
KD Code 0.3.18
Большое текстовое вложение не пересылается целиком на каждом ходу
Функция включена автоматически внутри KD Code на крупных сессиях. Обычные запросы через API не меняются.На первом ходу выбранная модель получает текстовое вложение полностью. В следующих ходах KD Engine хранит оригинал на вашем компьютере и передаёт модели короткую карту и подходящие точные фрагменты. Если для ответа нужен другой участок, агент может дочитать локальный оригинал. Изображения, PDF и другие бинарные блоки архив не переписывает.
Полный текст
Модель знакомится с исходным вложением без предварительного сокращения. Архив не включается на короткой сессии, где дополнительная обработка не окупается.
Карта и нужные строки
Историческая копия не едет заново целиком. Выдержки выбираются под текущий вопрос, а ответ по-прежнему даёт выбранная вами модель.
Оригинал остаётся доступен
Локальное хранилище ограничено 512 МБ и очищает старые записи через 30 дней. Явное отключение архива сохраняется для диагностики.
−75,82% стоимости
Парный тест: 12/12 в обоих плечах, 41,92 → 10,13 ₽; медиана полного хода 20,51 → 12,75 с.
−51,40% стоимости
Парный тест на фактическом диапазоне 68–82 тыс. входных токенов; архив строго 12/12. Результат включает дополнительные дочитывания.
12/12 одним вызовом
Финальная проверка качества: 12 основных запросов на 12 задач. Свежего контрольного плеча в этом прогоне не было.
Максимальный эффект получен на повторяющемся большом файле. На разных вложениях экономия оказалась ниже. Эти замеры подтверждают конкретные корпуса и маршруты, а не обещают тот же процент каждому проекту.
Потоковые ответы
Показывайте результат сразу
Установитеstream: true, чтобы получать части ответа по мере генерации.const stream = await client.chat.completions.create({
model: "sonnet-5",
messages: [{ role: "user", content: "Напиши короткий план" }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}События приходят в формате text/event-stream. Поток завершается строкой data: [DONE]; итоговый usage приходит в одном из последних событий. Пока модель думает, шлюз присылает служебные строки : ping; клиенты SSE их пропускают. Длинные ответы берите потоком: запрос без потока ждёт не дольше 30 минут.
Ошибки API
Стабильные коды без внутренних деталей
Ошибки возвращаются в едином JSON-конверте. Добавляйтеrequest_id в обращение в поддержку.Исправьте тело запроса. Неизвестные поля и заведомо неподдерживаемые возможности не выполняются и не тарифицируются.
Выбранный протокол модели ещё проверяется. Запрос блокируется до резерва денег и обращения к модельному сервису.
Передайте действующий ключ. Автоматически повторять запрос с тем же ключом не нужно.
Пополните баланс либо выберите более доступную модель, затем повторите запрос.
FLUX бесплатна после подтверждённых пополнений суммарно от 100 ₽. Приветственный и рекламные бонусы в порог не входят.
Обновите каталог через GET /v1/models или проверьте адрес метода.
Уменьшите тело запроса. Текущий лимит опубликован в GET /v1.
Лимита ключа не хватает на активные запросы и максимальный вывод нового запроса. Это не обязательно означает, что весь лимит уже списан. Дождитесь завершения активных запросов, уменьшите max_tokens или измените лимит ключа; один только backoff проблему не решает.
Модель или поставщик временно перегружены. Повторите с exponential backoff и jitter; учитывайте Retry-After, если он передан.
Средства за некорректный ответ не списываются. Повторите позже с backoff или выберите другую модель.
{
"error": {
"message": "Недостаточно средств на балансе.",
"type": "billing_error",
"code": "insufficient_balance",
"request_id": "kd_req_…"
}
}4 MiB
Текущее значение возвращается как limits.max_request_bytes в GET /v1.
32 MiB · 30 минут тишины
Пока модель присылает данные, текстовый запрос не обрывается. Обрыв — только после 30 минут полной тишины, поток длится до 2 часов. Картинки, видео, rerank и эмбеддинги получают до 10 минут. Текущие значения — limits.model_silence_timeout_ms, limits.model_stream_ceiling_ms и limits.request_timeout_ms в GET /v1.
Без квоты KeyDealer
Для операций с действующим API-ключом нет ограничения частоты или параллельности со стороны KeyDealer. Доступность поставщика и модели по-прежнему учитывается.
Данные и безопасность
Публичная модель. Закрытая инфраструктура.
Вы всегда знаете, какую модель вызываете. Внутренние маршруты и технические секреты остаются внутри KeyDealer.Для учёта сохраняются модель, число токенов, статус, стоимость и время. Тексты запросов и ответов в истории кабинета не показываются.
Клиент работает с kd_live_… и доменом api.keydealer.ru. Внутренние credentials не передаются наружу.
Ответы и идентификаторы перестраиваются по разрешённой схеме. Заголовки и технические ошибки внутреннего маршрута не проксируются.
OpenAPI, llms.txt, тарифы и формула списания доступны до регистрации.
10 ₽ на баланс
для первого теста.
Создайте аккаунт, выпустите ключ и отправьте запрос на своей задаче.