Endpunkte
Responses
POST /responses akzeptiert das Format der OpenAI Responses API, sodass client.responses.create in den offiziellen SDKs ohne Änderungen funktioniert.
Im Playground testenDer Responses-Endpunkt akzeptiert das Format der OpenAI Responses API, daher funktioniert client.responses.create(...) in den offiziellen SDKs ohne Änderungen. Er läuft auf denselben Modellen wie Chat Completions. api14 leitet den Body unverändert an den Upstream weiter und berechnet das zurückgelieferte usage.
POST https://api14.com/api/v1/responses
Authorization: Bearer sk-api14-...
Content-Type: application/json
Anfrage
| Parameter | Typ | Beschreibung |
|---|---|---|
model | string, erforderlich | Modell-ID, z. B. openai/gpt-5-mini. |
input | string | array, erforderlich | Ein Prompt-String oder ein Array von Eingabeelementen ({ role, content }-Nachrichten, function_call_output, …). |
instructions | string | Anweisungen auf Systemebene. |
stream | boolean | Streamt semantische Events (response.output_text.delta, response.completed, …) per SSE. |
max_output_tokens | integer | Obergrenze für die generierten Tokens. |
temperature, top_p | number | Steuerung des Samplings. |
tools, tool_choice, parallel_tool_calls | Funktions-Tools. Die Websuche ist ebenfalls als Tool oder über plugins verfügbar. | |
text | object | Ausgabeformat, z. B. { "format": { "type": "json_schema", "name": "...", "schema": {...} } }. |
reasoning | object | { "effort": "low" | "medium" | "high" }. Siehe Reasoning. |
provider, models, plugins | Dieselben Gateway-Erweiterungen wie bei Chat Completions. |
Das Gateway speichert Ihre Unterhaltungen nicht, übergeben Sie daher bei jedem Aufruf den vollständigen Kontext in input. Zustandsbehaftete Optionen wie previous_response_id werden möglicherweise nicht unterstützt.
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);
Das obige Beispiel verwendet Chat Completions. Mit dem Node-SDK sieht das Responses-Äquivalent so aus:
const response = await client.responses.create({
model: "openai/gpt-5-mini",
input: "Write a haiku about APIs.",
});
console.log(response.output_text);
Antwort
{
"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
}
}
Das Gateway liest usage aus dem finalen Objekt oder beim Streaming aus dem Event response.completed und bucht cost in USD von Ihrem Guthaben ab.
Fehler
Wie bei 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. Siehe Fehler.