Aan de slag
Compatibiliteit met de OpenAI-SDK
Gebruik de officiële OpenAI-SDK's ongewijzigd en stap over van OpenAI of een andere compatibele API door alleen base URL en API-key aan te passen.
api14 spreekt de OpenAI-API. Elke officiële OpenAI-SDK, en elke tool die een eigen OpenAI-base-URL accepteert, werkt zonder codewijzigingen, je past alleen de base-URL en de API-key aan.
De twee waarden die je aanpast
| Instelling | Waarde |
|---|---|
| Base-URL | https://api14.com/api/v1 |
| API-key | je sk-api14-...-key |
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"])
Veel SDK's lezen ook de omgevingsvariabelen OPENAI_BASE_URL en OPENAI_API_KEY, zodat je kunt overstappen zonder je code ook maar aan te raken.
Wat compatibel is
| OpenAI-functie | api14 |
|---|---|
chat.completions.create incl. stream, tools, response_format | Ondersteund voor elk tekstmodel |
responses.create | Ondersteund |
completions.create | Ondersteund |
embeddings.create | Ondersteund |
images.generate | Ondersteund (/images/generations) |
audio.speech.create | Ondersteund |
audio.transcriptions.create | Ondersteund (multipart) |
models.list / models.retrieve | Ondersteund, met prijzen en categorieën |
Foutstructuur { error: { message, type, code } } | Hetzelfde, SDK's gooien hun gewone APIError |
Endpoints die alleen bij OpenAI bestaan (Assistants, Threads, fine-tuning, files, batches, vector stores en moderations) zijn niet beschikbaar.
Overstappen van OpenAI
- Zet de base-URL op
https://api14.com/api/v1en gebruik je api14-key. - Zet de provider voor de modelnaam:
gpt-5-miniwordtopenai/gpt-5-mini,text-embedding-3-smallwordtopenai/text-embedding-3-small. - Klaar. Je kunt nu ook naar elke andere provider overstappen door de model-id te veranderen, bijvoorbeeld
anthropic/claude-sonnet-4.5ofgoogle/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);
Overstappen van een andere OpenAI-compatibele API
Gebruik je al een andere OpenAI-compatibele gateway, dan veranderen alleen de base-URL en de key.
- Vervang de base-URL door
https://api14.com/api/v1. - Vervang je API-key door je api14-key.
- Laat al het andere zoals het is: model-id's, varianten (
:free,:online,:nitro,:floor),provider-routing,models-fallbacks,reasoning,plugins,transformsenusage.
Verschillen om rekening mee te houden:
- Facturering loopt via een USD-saldo.
GET /creditsgeefttotal_creditsentotal_usagein USD terug, plus een veldbalance_usd. Zie Saldo- en key-info. - Gebruikskosten worden altijd meegegeven. De gateway vraagt de upstream altijd om
usage.cost, zodat elke response zijn prijs vermeldt. - Headers zoals
HTTP-RefererenX-Titleworden door de gateway gezet; die hoef je niet mee te sturen. - Video-job-URL's verwijzen terug naar api14 (
/api/v1/videos/{id}), nooit naar de upstream. Zie Video.
Extra parameters in de SDK's
Velden die de OpenAI-SDK niet kent, kun je toch meesturen:
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"}},
)