Что вы настраиваете
Cursor — редактор, поддерживающий пользовательские провайдеры моделей. Если указать ему базовый URL в стиле OpenAI, ключ и имя модели, он будет отправлять запросы чата туда, а не к провайдеру по умолчанию. Этот сервис поддерживает этот протокол: POST /v1/chat/completions с аутентификацией Bearer, а также GET /v1/models.
Два момента, которые нужно прояснить заранее. Это независимое API, работающее на одной модели с открытыми весами, а не Codex от OpenAI и не официальный продукт Cursor. И Cursor часто меняет экраны настроек, поэтому метки ниже могут находиться в немного другом месте в вашей версии. Три значения неизменны: базовый URL, ключ, имя модели.
Шаг 1: получите ключ и протестируйте его вне Cursor
Зарегистрируйтесь на странице API-ключа через Google или по электронной почте и паролю. Новые аккаунты могут получить $0,50 пробного баланса одним кликом, срок действия — 7 дней, карта не нужна. Этого достаточно для тестирования настройки редактора.
Прежде чем касаться Cursor, убедитесь, что ключ работает. Ошибка внутри редактора сложнее для отладки, чем ошибка в терминале.
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a Python function that reverses a string."}]
}'
Если вы получили ответ в формате JSON с кодом, продолжайте. Если вместо этого ошибка, исправьте её здесь. Распространённые причины — пропущенный символ в ключе или пробел в конце.
Шаг 2: настройте Cursor
- Откройте настройки Cursor и перейдите в раздел моделей.
- Найдите поле для ключа API OpenAI и вставьте свой ключ из этого сервиса.
- Включите опцию переопределения базового URL OpenAI и введите
https://api.getcodexapi.com/v1. - Добавьте пользовательскую модель и введите точное имя
uncensored. - Нажмите кнопку проверки, если она есть, затем откройте панель чата и выберите
uncensoredиз списка моделей.
Если шаг проверки сообщает об ошибке, проверьте три вещи по порядку: базовый URL заканчивается на /v1 без пути эндпоинта после него, ключ был вставлен без пробелов в конце, и имя модели написано строчными буквами. Руководство на странице документации содержит те же значения с дополнительными примерами клиентов.
Один момент, который нужно учесть: переопределение — это настройка, а не выбор для конкретной модели, поэтому, если вы также используете свой ключ OpenAI в другом месте Cursor, сначала отключите переопределение. Запишите, что вы изменили.
После сохранения задайте модели простой вопрос по программированию в чате и наблюдайте за ответом. Медленный первый ответ нормален, пока Cursor формирует запрос. Если ответ получен, вы подключены, и следующий шаг — попробовать его в реальной работе в вашем репозитории.
Что будет проходить через ваш ключ, а что нет
Cursor сочетает несколько функций. Запросы чата и встроенного редактирования — это то, что с наибольшей вероятностью будет использовать вашу пользовательскую модель после её выбора. Другие функции, такие как автодополнение, исторически использовали модели, которые запускает сам Cursor, а функции в стиле агентов могут зависеть от того, как Cursor обрабатывает инструменты. Честный способ узнать — попробовать функцию, которой вы пользуетесь, и следить за балансом.
Это легко сделать: каждый ответ от этого API содержит заголовок X-Balance-USD, и ваш баланс виден в аккаунте. Если вы отправили сообщение в чат, а баланс не изменился, этот запрос не прошёл к нам.
Вызов функций поддерживается на этом эндпоинте (tools, tool_choice, потоковая передача tool_calls и результаты в виде role: "tool"), что нужно редакторным агентам. Потоковая передача работает через серверные события с stream: true. Контекстное окно составляет 100 000 токенов, включая промпт и завершение, поэтому большой файл вместе с соседними файлами помещается в один запрос.
Зачем использовать модель без цензуры в редакторе
Большая часть кодинга никогда не вызывает отказ. Когда отказ всё же происходит, обычно это связано с легитимными задачами, которые выглядят рискованно для осторожного фильтра: написание сканера портов для своей сети, анализ образцов вредоносного ПО, генерация тестовых данных, содержащих оскорбительную лексику, создание бэкенда для ролевой или компаньон-приложения для взрослых, рефакторинг кода, работающего с модерацией контента. Эта модель настроена на ответы без отказов по контенту при законном использовании взрослыми.
Это всё ещё одна общая модель с открытыми весами, а не специализированная модель для кода, и ничто здесь не обещает, что она превосходит какие-либо альтернативы в вашем коде. Запустите свои задачи через неё. Одно правило фиксировано: нет сексуального контента с участием несовершеннолетних, и это нельзя изменить.
Реальная стоимость
Тарификация: $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов, списание с предоплаченного баланса без подписки. Трафик редактора требует много входных данных, так как каждый запрос повторно отправляет контекст файлов.
Запрос с 8 000 входными токенами и 1 000 выходными токенами стоит 8 000 x $0,15 / 1 000 000 = $0,0012 за входные данные плюс 1 000 x $0,50 / 1 000 000 = $0,0005 за выходные данные, что составляет $0,0017. Если вы сделаете 150 таких запросов в тяжелый день, это будет 150 x $0,0017 = $0,255, около 26 центов.
Запрос, который отправляет 40 000 токенов контекста и получает 1 500 обратно, стоит $0,006 + $0,00075 = $0,00675. Пополнения начинаются от $20, а баланс не сгорает, поэтому нет давления, чтобы потратить его как можно скорее. См. страницу с ценами для бонусных уровней и страницу Coding API для общего обзора.
Лимиты запросов для работы в редакторе
Полный ключ позволяет 8 параллельных запросов и 300 запросов в минуту. Пробный ключ позволяет 2 параллельных и 60 в минуту. Один человек, печатающий в одном редакторе, редко достигает этих лимитов, но команда, использующая один ключ, или агент, отправляющий много запросов параллельно, могут. При превышении API возвращает HTTP 429. Код rate_limited означает слишком много запросов в минуту, а concurrency означает слишком много одновременно. Если сервис временно перегружен, вы также увидите 429 с Retry-After: 5.
Потоковый чат удерживает слот параллельности до конца потока. Для общего использования выдайте каждому разработчику свой ключ, а не один ключ на команду.
Чек-лист устранения неполадок
- Модель не найдена. Введите заново
uncensoredбез пробелов. Удалите старые пользовательские модели, которые вы не используете. - Ошибка аутентификации. Скопируйте ключ заново. Убедитесь, что Cursor всё ещё не использует ключ от другого провайдера.
- Ответы обрываются рано. Проверьте, не устанавливает ли Cursor собственный лимит вывода. С нашей стороны
max_tokensявляется необязательным. - Баланс не меняется. Использованная функция не проходит через ваш пользовательский ключ. Попробуйте чат.
- Частые 429. Уменьшите количество параллельных запросов или используйте полный ключ вместо пробного.
