Endpoint
Responses
POST /responses menerima format OpenAI Responses API sehingga client.responses.create di SDK resmi bekerja tanpa perubahan dengan model api14.
Coba di playgroundEndpoint Responses menerima format OpenAI Responses API, sehingga client.responses.create(...) di SDK resmi bekerja tanpa perubahan. Endpoint ini berjalan pada model yang sama dengan Chat completions. api14 meneruskan body ke upstream tanpa perubahan dan menagih usage yang dikembalikan.
POST https://api14.com/api/v1/responses
Authorization: Bearer sk-api14-...
Content-Type: application/json
Request
| Parameter | Tipe | Deskripsi |
|---|---|---|
model | string, wajib | ID model, mis. openai/gpt-5-mini. |
input | string | array, wajib | String prompt atau array item input (pesan { role, content }, function_call_output, …). |
instructions | string | Instruksi tingkat sistem. |
stream | boolean | Stream event semantik (response.output_text.delta, response.completed, …) lewat SSE. |
max_output_tokens | integer | Batas atas jumlah token yang dihasilkan. |
temperature, top_p | number | Pengaturan sampling. |
tools, tool_choice, parallel_tool_calls | Function tool. Web search juga tersedia sebagai tool atau lewat plugins. | |
text | object | Format keluaran, mis. { "format": { "type": "json_schema", "name": "...", "schema": {...} } }. |
reasoning | object | { "effort": "low" | "medium" | "high" }. Lihat Reasoning. |
provider, models, plugins | Ekstensi gateway yang sama seperti pada chat completions. |
Gateway tidak menyimpan percakapan Anda, jadi kirim konteks lengkap pada input di setiap panggilan. Opsi stateful seperti previous_response_id mungkin tidak didukung.
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);
Contoh di atas memakai chat completions. Dengan Node SDK, padanan Responses-nya terlihat seperti ini:
const response = await client.responses.create({
model: "openai/gpt-5-mini",
input: "Write a haiku about APIs.",
});
console.log(response.output_text);
Respons
{
"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
}
}
Gateway membaca usage dari objek akhir, atau dari event response.completed saat streaming, dan memotong cost dalam USD dari saldo Anda.
Error
Sama seperti 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. Lihat Error.