Vi använder cookies. Cookies och webbläsarlagring håller dig inloggad och kommer ihåg dina preferenser. Med ditt tillstånd mäter vi också hur webbplatsen används. Du kan när som helst. Läs vår cookiepolicy.

Kompatibilitet med OpenAI SDK

Kom igång

Kompatibilitet med OpenAI SDK

Använd de officiella OpenAI-SDK:erna oförändrade och migrera från OpenAI eller ett annat OpenAI-kompatibelt API genom att ändra två värden.

api14 talar OpenAI:s API. Alla officiella OpenAI-SDK:er, och alla verktyg som accepterar en egen bas-URL för OpenAI, fungerar utan kodändringar, du byter bara bas-URL och API-nyckel.

De två värdena du ändrar

InställningVärde
Bas-URLhttps://api14.com/api/v1
API-nyckeldin sk-api14-...-nyckel
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api14.com/api/v1',
  apiKey: process.env.API14_API_KEY,
})
import os
from openai import OpenAI

client = OpenAI(base_url="https://api14.com/api/v1", api_key=os.environ["API14_API_KEY"])

Många SDK:er läser också miljövariablerna OPENAI_BASE_URL och OPENAI_API_KEY, så du kan byta utan att röra koden alls.

Vad som är kompatibelt

OpenAI-funktionapi14
chat.completions.create inkl. stream, tools, response_formatStöds för alla textmodeller
responses.createStöds
completions.createStöds
embeddings.createStöds
images.generateStöds (/images/generations)
audio.speech.createStöds
audio.transcriptions.createStöds (multipart)
models.list / models.retrieveStöds, med priser och kategorier
Felformatet { error: { message, type, code } }Samma, SDK:erna kastar sitt vanliga APIError

Endpoints som bara finns hos OpenAI (Assistants, Threads, finjustering, filer, batchar, vektorlager och moderering) är inte tillgängliga.

Migrera från OpenAI

  1. Sätt bas-URL:en till https://api14.com/api/v1 och använd din api14-nyckel.
  2. Lägg till leverantören som prefix i modellnamnen: gpt-5-mini blir openai/gpt-5-mini, text-embedding-3-small blir openai/text-embedding-3-small.
  3. Klart. Nu kan du också byta till vilken annan leverantör som helst genom att ändra modell-id:t, till exempel anthropic/claude-sonnet-4.5 eller google/gemini-2.5-pro.
import OpenAI from "openai";

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

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

Migrera från ett annat OpenAI-kompatibelt API

Om du redan använder ett annat OpenAI-kompatibelt API med modell-id:n i formatet provider/model räcker det att byta bas-URL och nyckel.

  1. Ersätt din nuvarande bas-URL med https://api14.com/api/v1.
  2. Ersätt din nuvarande nyckel med din api14-nyckel.
  3. Behåll allt annat: modell-id:n, varianter (:free, :online, :nitro, :floor), provider-routning, models-reserver, reasoning, plugins, transforms och usage.

Skillnader att känna till:

  • Faktureringen sker mot ett USD-saldo. GET /credits returnerar total_credits och total_usage i USD, plus ett extra fält balance_usd. Se Saldo och nyckelinfo.
  • Användningskostnaden ingår alltid. Gatewayen ber alltid uppströmsleverantören om usage.cost, så varje svar redovisar sitt pris.
  • Headers som HTTP-Referer och X-Title sätts av gatewayen; du behöver inte skicka dem.
  • Video-jobbens URL:er pekar tillbaka på api14 (/api/v1/videos/{id}), aldrig på uppströmsleverantören. Se Video.

Extra parametrar i SDK:erna

Fält som OpenAI SDK:n inte känner till kan ändå skickas:

await client.chat.completions.create({
  model: 'openai/gpt-5-mini',
  messages: [{ role: 'user', content: 'Hi' }],
  // @ts-expect-error api14 extension
  provider: { sort: 'price' },
})
client.chat.completions.create(
    model="openai/gpt-5-mini",
    messages=[{"role": "user", "content": "Hi"}],
    extra_body={"provider": {"sort": "price"}},
)

Se Leverantörsroutning och reserver, Resonemang och Webbsökning.