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.

Chat completions

Endpoints

Chat completions

Så använder du POST /chat/completions för att skicka chattmeddelanden till vilken textmodell som helst i OpenAI:s format, med parametrar och svar.

Testa i playground

Endpointen för chat completions använder OpenAI:s chattformat och fungerar med alla textmodeller i katalogen: GPT, Claude, Gemini, Llama, DeepSeek, Mistral och hundratals till. Anropets body skickas oförändrad till leverantören uppströms. api14 kontrollerar bara din nyckel, modell, gränser och saldo, och registrerar sedan användningen när anropet är klart.

POST https://api14.com/api/v1/chat/completions
Authorization: Bearer sk-api14-...
Content-Type: application/json

Anrop

ParameterTypBeskrivning
modelstring, obligatoriskModell-id, t.ex. anthropic/claude-sonnet-4.5. Varianter som :online eller :nitro är tillåtna. Se Modell-id:n.
messagesarray, obligatoriskKonversationen som { role, content }-objekt. Roller: system, developer, user, assistant, tool.
modelsstring[]Reservmodeller som provas i tur och ordning om den första misslyckas. Se Leverantörsroutning.
streambooleanStrömma tokens som server-sent events. Se Streaming.
max_tokens / max_completion_tokensintegerÖvre gräns för antalet genererade tokens.
temperaturenumberSamplingstemperatur, oftast 0–2.
top_p, top_k, min_p, top_anumberAndra samplingsinställningar. Modeller som inte stöder dem ignorerar dem.
frequency_penalty, presence_penalty, repetition_penaltynumberStyrning av upprepningar.
stopstring | string[]Stoppsekvenser.
seedintegerDeterministisk sampling i mån av möjlighet.
logprobs, top_logprobsboolean, integerReturnera log-sannolikheter för tokens när modellen stöder det.
tools, tool_choice, parallel_tool_callsFunktionsanrop. Se Verktygsanrop.
response_formatobjectJSON-läge eller utdata enligt JSON Schema. Se Strukturerade utdata.
reasoning, include_reasoningobject, booleanStyrning av tänkandet. Se Resonemang.
plugins, web_search_optionsWebbsökning. Se Webbsökning.
providerobjectÖnskemål om leverantör uppströms. Se Leverantörsroutning.
modalitiesstring[]t.ex. ["image", "text"] för bildutdata, eller ["text", "audio"] för ljudutdata.
predictionobjectFörutsagd utdata ({ type: "content", content }) för att minska latensen vid redigeringar.
transformsstring[]t.ex. ["middle-out"] för att komprimera prompter som överskrider kontextfönstret.
userstringDin egen identifierare för slutanvändaren.

Meddelandets content kan vara en sträng eller en array av innehållsdelar (text, image_url, file, input_audio). Se Bilder och filer.

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);

Svar

{
  "id": "gen-1760000000-abc123",
  "object": "chat.completion",
  "created": 1760000000,
  "model": "anthropic/claude-sonnet-4.5",
  "provider": "Anthropic",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": { "role": "assistant", "content": "Hello! How can I help you today?" }
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 9,
    "total_tokens": 21,
    "prompt_tokens_details": { "cached_tokens": 0 },
    "completion_tokens_details": { "reasoning_tokens": 0 },
    "cost": 0.000171
  }
}

usage.cost är anropets kostnad i USD. api14 drar den från ditt saldo när anropet är klart. id är genererings-id:t, som du senare kan slå upp med Uppslag av generering.

Om debitering

  • Du betalar modellens listpris; avgiften returneras i usage.cost. Se Priser och fakturering.
  • Du debiteras inte för misslyckade anrop (alla 4xx- eller 5xx-statusar).
  • Om anropet innehåller models: [...] måste varje reservmodell vara tillåten för din nyckel och plan, annars avvisar gatewayen anropet innan det skickas uppströms.

Fel

StatusKodNär
400model_requiredmodel saknas.
400invalid_jsonBodyn är inte ett JSON-objekt.
401invalid_api_keyNyckeln saknas, är ogiltig eller har återkallats.
402insufficient_balanceDitt USD-saldo är $0.
403model_not_allowed / plan_requiredNyckelns lista över tillåtna modeller eller din plan omfattar inte den här modellen.
404model_not_foundOkänt eller inaktiverat modell-id.
413payload_too_largeAnropets body är större än 25 MB.
429rate_limited / daily_limit_reachedRPM-gränsen eller nyckelns dagliga USD-gräns har nåtts.
502upstream_unavailableLeverantören uppströms gick inte att nå.

Fel från uppströms, som överskriden kontextlängd eller innehållsmoderering, returneras med sin ursprungliga statuskod och samma felformat. Se Fel.