Антон Ларичев

Получить API-ключ OpenAI из России напрямую нельзя: Россия и Беларусь не входят в список поддерживаемых стран OpenAI, а работа из неподдерживаемого региона может привести к блокировке аккаунта. Рабочая замена — совместимый ключ в AI для кода от PurpleSchool: модели GPT доступны без VPN, оплата в рублях, а в коде меняются только адрес и ключ.
Ниже — как выглядит официальный путь, почему он не подходит и как подключить GPT из Python, Node.js и curl.
Как получают ключ официально
В поддерживаемой стране путь короткий:
- Создать аккаунт на платформе OpenAI.
- Пополнить баланс в разделе Billing.
- Открыть страницу API-ключей и создать ключ.
Из России процесс ломается на первых шагах. При попытке зарегистрироваться или создать ключ OpenAI показывает ошибку о неподдерживаемой стране. Российская карта для пополнения тоже не подойдёт: способы оплаты разобраны в статье Как оплатить OpenAI из России.
Покупать готовый аккаунт или ключ у случайного продавца рискованно. Такой ключ могут отозвать, а всё, что вы через него отправляете, проходит через чужой аккаунт.
Чем заменить официальный ключ
Посредник принимает оплату в России и сам обращается к моделям. Для вашего кода он выглядит как API OpenAI с другим адресом.
| Ключ OpenAI | Ключ PurpleSchool | |
|---|---|---|
| Доступ из России | нет | да, без VPN |
| Оплата | зарубежная карта, доллары | российская карта или СБП, рубли |
| SDK OpenAI | да | да, меняется base_url |
| Модели | весь каталог OpenAI | GPT из списка сервиса, плюс Claude через протокол Anthropic |
| Встроенные инструменты OpenAI и файловые API | да | проверяйте под свою задачу |
Главное ограничение: это доступ к моделям, а не к полному кабинету OpenAI. Если нужен текстовый или агентный сценарий, этого достаточно. Если проект зависит от конкретной функции платформы, сначала проверьте её на небольшом запросе.
Шаг 1. Получите ключ и установите SDK
Зарегистрируйтесь в AI для кода, выберите тариф и скопируйте ключ в кабинете. Сохраните его в переменной окружения, а не в коде:
export PURPLESCHOOL_API_KEY="ваш ключ"Установите официальный SDK:
pip install openaiДля Node.js:
npm install openaiШаг 2. Отправьте запрос
Адрес для совместимых клиентов:
https://app.purpleschool.ru/api-v2/public/ai-proxy/openai/v1Python, Chat Completions:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://app.purpleschool.ru/api-v2/public/ai-proxy/openai/v1",
api_key=os.environ["PURPLESCHOOL_API_KEY"],
)
completion = client.chat.completions.create(
model="gpt-6-luna",
messages=[{"role": "user", "content": "Объясни, что такое API, в двух предложениях."}],
)
print(completion.choices[0].message.content)Python, Responses API:
response = client.responses.create(
model="gpt-6-luna",
input="Объясни, что такое API, в двух предложениях.",
)
print(response.output_text)Node.js:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://app.purpleschool.ru/api-v2/public/ai-proxy/openai/v1",
apiKey: process.env.PURPLESCHOOL_API_KEY,
});
const completion = await client.chat.completions.create({
model: "gpt-6-luna",
messages: [{ role: "user", content: "Объясни, что такое API, в двух предложениях." }],
});
console.log(completion.choices[0].message.content);curl:
curl https://app.purpleschool.ru/api-v2/public/ai-proxy/openai/v1/chat/completions \
-H "Authorization: Bearer $PURPLESCHOOL_API_KEY" \
-H "content-type: application/json" \
-d '{"model": "gpt-6-luna", "messages": [{"role": "user", "content": "Привет!"}]}'Запросы Chat Completions, потоковую передачу и Responses API с моделью gpt-6-luna мы проверили официальным SDK OpenAI для Python перед публикацией.
Стриминг
Чтобы показывать ответ по мере генерации, например в чат-боте, передайте stream=True:
stream = client.chat.completions.create(
model="gpt-6-luna",
messages=[{"role": "user", "content": "Напиши короткое стихотворение про код."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Какие модели указывать
На момент публикации через этот адрес доступны, например, gpt-6-luna, gpt-6-sol, gpt-6.1-sol и gpt-6.1-terra. Точный список всегда можно получить из самого API:
for model in client.models.list():
print(model.id)Модели расходуют общий баланс с разной скоростью. Для пробы и простых задач начните с gpt-6-luna.
Как подключить библиотеки и сервисы
Если инструмент позволяет указать свой адрес API, настройка та же: в поле Base URL вставьте адрес выше, в поле ключа — ключ PurpleSchool. Так подключаются библиотеки вроде LangChain и узлы OpenAI в n8n и Make, где есть такое поле. Если в продукте адрес изменить нельзя, этот способ не подойдёт.
Для Codex CLI удобнее готовая инструкция: Как войти в Codex из России.
Частые ошибки
401 Invalid API key— ключ неверный или отключён. Скопируйте его из кабинета заново.402— закончился баланс.404 Model not found— неверный ID модели, сверьте его со списком изclient.models.list().429— модель перегружена у провайдера, повторите запрос через несколько секунд.- Запрос ушёл на
api.openai.com— не заданbase_url, и SDK использует адрес по умолчанию.
Не публикуйте ключ в репозитории и не вставляйте его во фронтенд: любой посетитель сайта сможет его скопировать. Вызывайте API только с сервера.
Частые вопросы
Это настоящий API-ключ OpenAI? Нет. Это ключ PurpleSchool, совместимый с протоколом OpenAI. На api.openai.com он не сработает.
Нужно ли переписывать код? Обычно нет. Измените base_url и ключ, затем проверьте, что нужная модель есть в списке.
Сколько это стоит? Тарифы начинаются от 499 ₽ в месяц, неизрасходованные токены переносятся на следующий месяц. Актуальные цены — на странице сервиса.
Можно ли использовать один ключ для GPT и Claude? Да, баланс общий. Для Claude используется адрес протокола Anthropic, подробнее — в статье API-ключ Claude.
Есть ли пробный доступ? Новым аккаунтам с почтой из белого списка доступно 500 000 токенов на 7 дней, в том числе для GPT-6 Luna.
Итог
Официальный ключ OpenAI из России получить нельзя, а обходные пути грозят блокировкой. Если вашему проекту нужны модели GPT, подключите AI для кода от PurpleSchool: замените адрес и ключ в SDK, а оплату проводите в рублях.






Комментарии
0