External tools

The same subscription and the same credits, in whatever editor or SDK you already use.

Get a key

nib key print

Or create a named key in the console at sknib.com/keys. Named keys can be revoked individually, which is what you want for a work laptop and a CI runner.

Base URLs

ProtocolBase URLUsed by
OpenAIhttps://api.sknib.com/v1Most editors and SDKs
Anthropichttps://api.sknib.comClaude Code, Anthropic SDK
Geminihttps://api.sknib.com/v1betaGoogle SDK

Cline

Install the extension, choose OpenAI Compatible as the provider, and fill in:

Base URL: https://api.sknib.com/v1
API Key:  sk-nib-...
Model ID: nib-efficient

Continue

{
  "models": [
    {
      "title": "Nib",
      "provider": "openai",
      "model": "nib-efficient",
      "apiBase": "https://api.sknib.com/v1",
      "apiKey": "sk-nib-..."
    }
  ]
}

Zed

Add a custom OpenAI-compatible provider in settings.json:

{
  "language_models": {
    "openai_compatible": {
      "nib": {
        "api_url": "https://api.sknib.com/v1",
        "available_models": [{ "name": "nib-efficient", "max_tokens": 200000 }]
      }
    }
  }
}

OpenAI SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.sknib.com/v1",
  apiKey: process.env.NIB_API_KEY,
});

const reply = await client.chat.completions.create({
  model: "nib-efficient",
  messages: [{ role: "user", content: "Explain this stack trace." }],
});

console.log(reply.choices[0]?.message?.content);

Anthropic SDK

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.sknib.com",
  apiKey: process.env.NIB_API_KEY,
});

const reply = await client.messages.create({
  model: "nib-frontier",
  max_tokens: 2048,
  messages: [{ role: "user", content: "Review this diff." }],
});

curl

curl https://api.sknib.com/v1/chat/completions \
  -H "Authorization: Bearer $NIB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nib-efficient",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Reading the cost

Every response includes two headers. Parse them if you want to attribute spend per feature or per teammate:

x-nib-credits-charged: 0.47
x-nib-credits-remaining: 299.53

Limits

  • Concurrency and RPM follow your plan. Exceeding them returns 429 with a retry-after header.
  • Keys are per account. Do not share one key across people; create a key per person or per service.
  • Reselling raw API access is not permitted. Building a product on top of it is.