Endpoints
Responses
Använd POST /responses med OpenAI Responses API-formatet på alla textmodeller, så att client.responses.create fungerar utan ändringar i SDK:erna.
Testa i playgroundResponses-endpointen accepterar OpenAI Responses API-formatet, så client.responses.create(...) i de officiella SDK:erna fungerar utan ändringar. Den körs på samma modeller som Chat completions. api14 vidarebefordrar innehållet oförändrat uppströms och fakturerar den usage som kommer tillbaka.
POST https://api14.com/api/v1/responses
Authorization: Bearer sk-api14-...
Content-Type: application/json
Anrop
| Parameter | Typ | Beskrivning |
|---|---|---|
model | string, obligatorisk | Modell-id, t.ex. openai/gpt-5-mini. |
input | string | array, obligatorisk | En promptsträng eller en array med indataobjekt ({ role, content }-meddelanden, function_call_output, …). |
instructions | string | Instruktioner på systemnivå. |
stream | boolean | Strömma semantiska händelser (response.output_text.delta, response.completed, …) över SSE. |
max_output_tokens | integer | Övre gräns för antalet genererade tokens. |
temperature, top_p | number | Samplingskontroller. |
tools, tool_choice, parallel_tool_calls | Funktionsverktyg. Webbsökning finns också som verktyg eller via plugins. | |
text | object | Utdataformat, t.ex. { "format": { "type": "json_schema", "name": "...", "schema": {...} } }. |
reasoning | object | { "effort": "low" | "medium" | "high" }. Se Reasoning. |
provider, models, plugins | Samma gateway-tillägg som för chat completions. |
Gatewayen lagrar inte dina konversationer, så skicka hela kontexten i input vid varje anrop. Tillståndsbaserade alternativ som previous_response_id stöds kanske inte.
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);
Exemplet ovan använder chat completions. Med Node SDK ser motsvarigheten för Responses ut så här:
const response = await client.responses.create({
model: "openai/gpt-5-mini",
input: "Write a haiku about APIs.",
});
console.log(response.output_text);
Svar
{
"id": "resp-1760000000-abc123",
"object": "response",
"created_at": 1760000000,
"model": "openai/gpt-5-mini",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [{ "type": "output_text", "text": "Requests in flight,\nJSON answers drifting back,\none key opens all." }]
}
],
"usage": {
"input_tokens": 14,
"output_tokens": 22,
"total_tokens": 36,
"input_tokens_details": { "cached_tokens": 0 },
"output_tokens_details": { "reasoning_tokens": 0 },
"cost": 0.0000475
}
}
Gatewayen läser usage från det slutliga objektet, eller från händelsen response.completed vid streaming, och drar cost i USD från ditt saldo.
Fel
Samma som för chat completions: 400 model_required, 400 invalid_json, 401 invalid_api_key, 402 insufficient_balance, 403 model_not_allowed / plan_required, 404 model_not_found, 413 payload_too_large, 429 rate_limited / daily_limit_reached, 502 upstream_unavailable. Se Fel.