Wat is een OpenAI-compatibele API?

Veel LLM-providers en zelfgehoste inferentieservers — OpenAI zelf, Azure OpenAI, Groq, OpenRouter, Together AI, Mistral, DeepSeek, vLLM, de server van llama.cpp, LM Studio en de OpenAI-compatibele modus van Ollama — bieden allemaal dezelfde REST-interface die door OpenAI populair is gemaakt: JSON-verzoeken naar endpoints zoals /v1/chat/completions, geauthenticeerd met een Bearer token in de header Authorization. Hierdoor kun je van provider wisselen zonder je integratiecode te herschrijven.

Een correct cURL-commando voor deze endpoints handmatig schrijven betekent dat de URL, headers en JSON-body precies goed moeten zijn, vooral wanneer je samplingparameters zoals temperatuur en penalties afstemt of wisselt tussen verzoeken voor chat, legacy-completions en embeddings.

Beschrijving van de tool

Deze tool genereert direct bruikbare cURL-commando's voor elke OpenAI-compatibele API. Stel de basis-URL, het endpoint, het model en de parameters in en ontvang onmiddellijk een correct opgemaakt cURL-commando dat je in je terminal of scripts kunt plakken.

Voorbeelden

Chatcompletion:

curl -X POST "https://api.openai.com/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "gpt-4o-mini",
  "messages": [
    { "role": "system", "content": "Je bent een behulpzame programmeerassistent." },
    { "role": "user", "content": "Schrijf een Python-functie om een string om te keren" }
  ],
  "temperature": 0.3,
  "stream": false
}'

Zelfgehoste server (vLLM, llama.cpp, LM Studio, ...):

curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "llama-3-8b-instruct",
  "messages": [
    { "role": "user", "content": "Vat de verhaallijn van Hamlet samen in twee zinnen" }
  ],
  "stream": true
}'

Embeddings:

curl -X POST "https://api.openai.com/v1/embeddings" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "text-embedding-3-small",
  "input": "De snelle bruine vos springt over de luie hond"
}'

Functies

  • Ondersteunt de drie meest voorkomende OpenAI-compatibele endpoints: /chat/completions, /completions en /embeddings
  • Werkt met elke compatibele basis-URL, waardoor de tool geschikt is voor OpenAI, Azure, Groq, OpenRouter, Together AI en zelfgehoste servers
  • Configureerbare samplingparameters: temperatuur, top-p, frequentiepenalty, presence-penalty, maximaal aantal tokens, aantal completions, stopsequenties en seed
  • Optioneel JSON-object als antwoordindeling voor chatcompletions
  • Er wordt niets ergens naartoe verzonden — het cURL-commando wordt volledig in je browser samengesteld en geen enkele API-sleutel verlaat je apparaat

Opties uitgelegd

Optie Beschrijving Standaardwaarde Bereik
Basis-URL De API-root, zonder het pad van het endpoint. https://api.openai.com/v1 Elke URL
Endpoint Het API-endpoint dat moet worden aangeroepen. /chat/completions chat, completions, embeddings
Temperatuur Bepaalt de willekeur van de uitvoer. Lagere waarden leveren meer gerichte tekst op, hogere waarden verhogen de creativiteit. 1 0-2
Top P Drempelwaarde voor nucleus sampling. Het model verwerkt tokens waarvan de cumulatieve waarschijnlijkheid deze waarde bereikt. 1 0-1
Frequentiepenalty Bestraft tokens op basis van hoe vaak ze al zijn verschenen, waardoor letterlijke herhaling wordt verminderd. 0 -2-2
Presence-penalty Bestraft tokens die al eerder zijn verschenen, zodat het model wordt aangemoedigd nieuwe onderwerpen te introduceren. 0 -2-2
Maximaal aantal tokens Het maximale aantal tokens dat in het antwoord wordt gegenereerd. Laat dit leeg om de optie weg te laten en de standaardwaarde van de provider te gebruiken. - Elk geheel getal
Completions (n) Het aantal chat-/completionopties dat voor de invoer moet worden gegenereerd. 1 Elk geheel getal
Seed Vaste seed voor zo reproduceerbaar mogelijke uitvoer. Laat dit leeg voor willekeurige resultaten. - Elk geheel getal
Stopsequenties Door komma's gescheiden lijst met sequenties waarbij de API stopt met het genereren van verdere tokens. - Elke tekst
Antwoordindeling Stel dit in op JSON-object om het model te dwingen geldige JSON-uitvoer terug te geven (alleen voor het chat-endpoint). Geen Geen / JSON-object
Stream Als dit is ingeschakeld, wordt het antwoord gestreamd als serververzonden events. Schakel dit uit om het volledige antwoord in één keer te ontvangen. Uit Aan / Uit