TypeScript SDK
Отправляйте chat.completions запросы к GonkaGate из TypeScript через официальный OpenAI SDK.
Отправьте один chat.completions запрос из TypeScript через официальный OpenAI SDK, а затем адаптируйте ту же форму клиента под ваш рантайм.
Минимальный рабочий пример
Установите openai, задайте GONKAGATE_API_KEY и выполните один запрос.
npm install openaiimport OpenAI from "openai";
const apiKey = process.env.GONKAGATE_API_KEY;
if (!apiKey) {
throw new Error("Set GONKAGATE_API_KEY before running this example.");
}
const client = new OpenAI({
baseURL: "https://api.gonkagate.com/v1",
apiKey
});
async function main() {
const response = await client.chat.completions.create({
model: "qwen/qwen3-235b-a22b-instruct-2507-fp8",
messages: [{ role: "user", content: "Hello, GonkaGate!" }]
});
console.log(response.choices[0]?.message?.content);
console.log(response.usage);
}
main().catch(console.error);Ожидаемый результат: вы получаете текст в response.choices[0]?.message?.content, а response.usage можно логировать или использовать для проверки стоимости.
Перед реальным трафиком подставьте актуальный идентификатор модели GonkaGate. Значение в примере выше приведено только для ориентира.
Что нужно заранее
GONKAGATE_API_KEY, доступный в рантайме, где запускается этот код- Актуальный идентификатор модели GonkaGate для нужной нагрузки
- Серверное место для хранения ключа, чтобы он не попадал в браузер и публичные бандлы
Замечания для TypeScript
- Официальный SDK поддерживает Node.js, Deno, Bun, Cloudflare Workers и Vercel Edge Runtime.
- Пример использует
process.envкак базовый сценарий для Node.js и Bun. В Deno или edge-рантаймах оставьте тот жеbaseURLи ту же форму запроса, но читайте ключ через secret API вашей платформы. - Работа в браузере отключена по умолчанию. Не включайте
dangerouslyAllowBrowserдля публичных клиентских приложений с реальнымgp-...ключом. - Перед продакшен-нагрузкой явно задайте на клиенте
timeoutиmaxRetries. - Если код сужает
response.usage, добавьте денежные поля GonkaGate в тип:
type GonkaGateUsage = {
prompt_tokens: number;
completion_tokens: number;
total_tokens: number;
base_cost_usd: number;
platform_fee_usd: number;
total_cost_usd: number;
};
// После `await client.chat.completions.create(...)`
const usage = response.usage as GonkaGateUsage | undefined;
if (usage) {
console.log(`Total cost: $${usage.total_cost_usd.toFixed(6)}`);
}Частые ошибки и ограничения
401 invalid_api_keyобычно означает, что ключ отсутствует, имеет неверный формат или не загрузился в тот рантайм, где создаётся клиент.404 model_not_foundобычно означает, что SDK настроен правильно, но идентификатор модели устарел.429 insufficient_quotaозначает, что для запроса не хватает доступного USD-баланса.
См. также
- Аутентификация и API-ключи для создания ключей, безопасного хранения и ротации.
- Совместимость OpenAI SDK для общих правил GonkaGate, которые одинаковы во всех рантаймах.
- Обзор справочника API, когда TypeScript-запрос уже работает и вам нужны точные поля запросов, стриминг и общие правила обработки сбоев.
- Гайд по миграции с OpenAI на GonkaGate, если вы переключаете уже рабочий OpenAI-совместимый код.
- Гайды по фреймворкам и инструментам, если вы используете Vercel AI SDK, LangChain или другую обёртку вместо прямого OpenAI client.
- Claude Code, Cursor, Kilo Code, OpenCode и OpenClaw, если ваш TypeScript workflow работает через agent-owned tool path.
- Справочник эндпоинта Get Models для актуальных ID моделей.
Была ли эта страница полезной?