In production and CI, read the gateway URL and API key from environment variables or a secret manager — never hard-code them.

Recommended variables

VariableDescriptionExample
ROUTERBRAIN_API_KEYInference API keyFrom console
ROUTERBRAIN_BASE_URLOpenAI-compatible base, must include /v1Same shape as https://51kik.com/v1

For a separate Anthropic integration:

VariableDescription
ROUTERBRAIN_ANTHROPIC_BASE_URLhttps://51kik.com/anthropic/v1

Names are conventions; adjust to your org standard.

shell / curl

export ROUTERBRAIN_API_KEY="YOUR_API_KEY"
export ROUTERBRAIN_BASE_URL="https://51kik.com/v1"

curl -sS "$ROUTERBRAIN_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $ROUTERBRAIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"YOUR_MODEL_ID\",\"messages\":[{\"role\":\"user\",\"content\":\"ping\"}]}"

Official SDK (Node)

import { createRouterBrainFromEnv } from "@routerbrain/sdk/node";

const client = createRouterBrainFromEnv();

Or explicit:

import { RouterBrain } from "@routerbrain/sdk";

const client = new RouterBrain({
  apiKey: process.env.ROUTERBRAIN_API_KEY!,
  baseURL: process.env.ROUTERBRAIN_BASE_URL ?? "https://51kik.com/v1",
});

See Initialization.

OpenAI SDK

import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: process.env.ROUTERBRAIN_API_KEY,
  baseURL: process.env.ROUTERBRAIN_BASE_URL,
});

Covers the OpenAI-compatible surface only. For Anthropic SDK, point baseURL to the Anthropic path (From Anthropic).

CI notes

  • Inject via secrets; never print keys in logs.
  • Use a dedicated test key with limited models/quota when possible.
  • On failure, check 401/403 against Errors.

Related