API и SDK
Для SDK и своих клиентов apikey.center удобнее всего рассматривать как OpenAI-compatible базовый URL.
Это страница не про один конкретный инструмент, а про общий принцип: если библиотека умеет работать с OpenAI-compatible API, то в большинстве случаев ее можно подключить к apikey.center просто через замену base_url и api_key.
OpenAI-compatible base URL
Section titled “OpenAI-compatible base URL”Если библиотека умеет работать с OpenAI-compatible API, используй:
https://apikey.center/v1Это подходит для:
- собственных скриптов
- backend-сервисов
- SDK-клиентов
- no-code или low-code коннекторов, если они ждут OpenAI-style endpoint
Что нужно проверить до интеграции
Section titled “Что нужно проверить до интеграции”Перед кодом полезно заранее понять четыре вещи:
- где в библиотеке задается
base_url - где задается
api_key - какой именно метод использует клиент:
chat/completions,responsesили другой OpenAI-compatible маршрут - какой model ID реально доступен тебе через
GET /v1/models
Первая проверка через GET /v1/models
Section titled “Первая проверка через GET /v1/models”macOS / Linux:
curl https://apikey.center/v1/models \ -H "Authorization: Bearer $APIKEY_CENTER_API_KEY"Windows PowerShell:
Invoke-WebRequest ` -Uri "https://apikey.center/v1/models" ` -Headers @{ Authorization = "Bearer $env:APIKEY_CENTER_API_KEY" }Если этот шаг не проходит, не нужно сразу дебажить SDK. Сначала добейся корректного ответа на этом самом простом HTTP-check.
Минимальный cURL для chat/completions
Section titled “Минимальный cURL для chat/completions”curl https://apikey.center/v1/chat/completions \ -H "Authorization: Bearer $APIKEY_CENTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "YOUR_MODEL_ID", "messages": [ { "role": "user", "content": "ping" } ] }'Минимальный пример через OpenAI-style SDK
Section titled “Минимальный пример через OpenAI-style SDK”Если библиотека поддерживает настройку base_url, логика обычно выглядит так:
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.APIKEY_CENTER_API_KEY, baseURL: "https://apikey.center/v1",});
const response = await client.chat.completions.create({ model: "YOUR_MODEL_ID", messages: [{ role: "user", content: "ping" }],});
console.log(response.choices[0]?.message);Смысл примера не в конкретной библиотеке, а в общей схеме:
- ключ берется из env
- base URL указывает на
https://apikey.center/v1 - model ID задается явно
Порядок безопасной интеграции
Section titled “Порядок безопасной интеграции”- сначала проверь
GET /v1/models - потом проверь один прямой HTTP-запрос
- потом подключай SDK
- потом добавляй retry, streaming, tool calling и остальную логику
Так проще отделить transport-проблемы от проблем кода приложения.
Что должно быть в любом SDK-примере
Section titled “Что должно быть в любом SDK-примере”base_urlили аналогичный параметрapi_key- явный model ID
- короткий тестовый запрос
- отдельная проверка
GET /v1/models, если клиент не видит модели
Дополнительно полезно держать такие правила:
- не хардкодить ключ в исходники
- не полагаться на дефолтный base URL библиотеки
- не скрывать model ID глубоко в конфиге, пока интеграция еще не проверена
Автонастройка
Section titled “Автонастройка”Installer для этого сценария не нужен. Здесь лучше держать короткие и прозрачные примеры, которые пользователь легко адаптирует под свою библиотеку.
Verification
Section titled “Verification”- сначала проверь
GET /v1/models - затем проверь один минимальный inference-request
- если
modelsработает, а inference нет, проблема обычно уже в wire format клиента или model ID
Rollback
Section titled “Rollback”- верни исходный
base_urlбиблиотеки - убери временный
APIKEY_CENTER_API_KEYиз env - верни прежний model ID, если менял его только ради проверки
- откати локальные тестовые примеры, если добавлял их временно
Частые ошибки
Section titled “Частые ошибки”Оставили дефолтный URL библиотеки
Section titled “Оставили дефолтный URL библиотеки”Если клиент всё еще ходит в api.openai.com или другой дефолтный endpoint, значит base_url не был реально переопределен.
Проверяют SDK до проверки обычного HTTP
Section titled “Проверяют SDK до проверки обычного HTTP”Это делает диагностику сложнее. Сначала лучше добиться успеха на GET /v1/models и одном curl.
Подставили несуществующий model ID
Section titled “Подставили несуществующий model ID”Если авторизация и URL уже правильные, а inference все равно не идет, очень часто проблема именно в названии модели.