Skip to di tin dɛn we de insay
Go bak to Nymbot

Di tin dɛn we pɔsin fɔ no bɔt Dɛvɛlɔpɔs

Tuls en SDKs

Enri tin we di ɔf tok wetin OpenAI ɔ Anthropic, ɛ de ɔf tok wetin Nymbot. In ɛbi kais, ɛ de wan base URL, wan key, ɛ wan model nem.

In ɛvri setup wey de na bɔdom, yu nid an API key, we yu mek na di app in sām API menyu (luk API kii), ɛn wan model id frɔm di lisi di modèlDi eksampul dem de yuz anthropic/claude-sonnet-5 na di Pro balance. nymbot/auto na de cheaper wan fɔ de standard balance fɔ plain chat, bɔt e nɔ de di wan fɔɔ call tools, di wan Goose nidi; fɔ dat, pil wan catalog model wit capabilities.tools.

Sɛt-ap fɔ koding ejent de se kɔl Claude Code, Codex, Cline, Kilo Code, ɛn Continue de wan pep kɔmɔn: Kodin tuls.

Gi ɔ fɔ ɔ tɔl in ɔn kii

Mek yu mek wan sɛpariet kii fɔ ɛch tulu, wit wan kɛp. Koding ɛjɛnts de mek wan bɛri mɔdel kɔls fɔ wan tɛsk, ɛn wan kɛp ɔn di kii na di isisi-ist kɛi fɔ no am wetin wan tulu kin spɛn. If wan tulu de bɛhɛv nɔ gud, tek in kii aw ɛn nɔ ɛni 🇸️disin ɛn nɔ nɔ fɛ nɔmɔ.

OpenAI SDK

Di ofishal Python ɛn JavaScript librari wok sekin nɔ rɔn kɔnt-kɔnt. Point base_url at Nymbot an pas yu ki. Chat Completions, Responses, images, audio an embeddings ɔl wok dɛn fɔ dem.

cURL

curl https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "anthropic/claude-sonnet-5", "messages": [{"role": "user", "content": "Hello"}]}'

Python

# pip install openai
import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

reply = client.chat.completions.create(
    model="anthropic/claude-sonnet-5",
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)

JavaScript

// npm install openai
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const reply = await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(reply.choices[0].message.content);

Nymbot nown fild, de boku se plugins fɔ web siːch, go in extra_body na Python an stret in-tu de request object na JavaScript. De nymbot kɔst objek na wan rispon na reply.model_extra["nymbot"] na Python and reply.nymbot na JavaScript. Di libra-ri di ridi di OPENAI_BASE_URL ɛn OPENAI_API_KEY environment variables kin de point na Nymbot wit dem de onli.

Anthropic SDK

Di Anthropic librari de yuz https://nymbot.ai/api bi de base URL, witout /v1, bikos dem de ad am /v1/messages dem-self. Eni katekɔl modèl wok, no bɔk de Claude na.

cURL

curl https://nymbot.ai/api/v1/messages \
  -H "x-api-key: $NYMBOT_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'

Python

# pip install anthropic
import os
import anthropic

client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)

JavaScript

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

const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });

const message = await client.messages.create({
  model: "claude-sonnet-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello" }],
});
console.log(message.content[0].text);

Help

Aider de toky wit eni OpenAI-kompatibɔl serva. Set di base URL ɛn key, ɛn put openai/ for front di model id so Aider sabi wetin kine server i bi:

Shell

export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5

Aider fɔ wan warn yu se e nɔ sabi di model context size o di pris. Di wanin nɔ de do mek any bad tɔng; --no-show-model-warnings e de fayn am.

Opun WebUI

In Open WebUI, opn Admin Panèl, den Setin, den Konekshon, and pan OpenAI API konɛksin:

  • URL: https://nymbot.ai/api/v1
  • Ki: yu API ki

Open WebUI de rid di model list frɔm di API, so evri chat model de show inside in pikā. Wen yu de ran in Docker, yu kin set di sem wit di environment variables OPENAI_API_BASE_URL ɛn OPENAI_API_KEY.

Open WebUI de kip yu konvasen de na in in in wan server. Nymbot de no de stɔp dem, ɛn Open WebUI de stɔp dem, ɛvriwe we yu run am.

Gus

Rɔn goose configure, chooz Set up di Prowayda 📧, pik OpenAI, ɛnd gi am dɛs valyu wen i ask yu. Di sɛm de kin set na di ɛnvaayrɔnmɛnt:

Shell

export GOOSE_PROVIDER=openai
export OPENAI_HOST=https://nymbot.ai/api
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=sk-nymbot-...
export GOOSE_MODEL=anthropic/claude-sonnet-5
goose session

Goose de kɔl tuls na ɔl-ɔl step, so pil wan model we de wit capabilities.tools na di model lis; nymbot/auto im difus tuls.

Plain HTTP

Nɔtin nɛd ɛn SDK. Evri ɛndpɔnt na JSON ɔva HTTPS, ɛksɛp ɛn fayl ap-lod, di wɛt ɛn na multipart fɔm. Eni langwej o tul di wɛt kin mek ɛn HTTP rikwest kin yuz di API:

  • Sen di ki as Authorization: Bearer sk-nymbot-….
  • Sen JSON bodi wit Content-Type: application/json.
  • Fɔ strimin, rid di rispons lɛk sɛ vɛ sɔv pɔs-sent ivɛnts; wit cURL, ɛd -N so e de print dem as dem de kam.
  • Rid di kos frɔm di X-Nymbot-Cost-Sats hed, and kip di X-Request-Id hedat if yu mi nor dɔn kray pɔsin bɔt wan rikwest.

cURL

curl -i https://nymbot.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]}'

Python

import os
import requests

res = requests.post(
    "https://nymbot.ai/api/v1/chat/completions",
    headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
    json={"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]},
)
print(res.headers["X-Nymbot-Cost-Sats"], res.headers["X-Request-Id"])
print(res.json()["choices"][0]["message"]["content"])

JavaScript

const res = await fetch("https://nymbot.ai/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ model: "nymbot/auto", messages: [{ role: "user", content: "Hello" }] }),
});
console.log(res.headers.get("X-Nymbot-Cost-Sats"), res.headers.get("X-Request-Id"));
console.log((await res.json()).choices[0].message.content);