쿠키를 사용합니다. 쿠키와 브라우저 저장소는 로그인 상태를 유지하고 환경설정을 기억합니다. 동의하시면 사이트 이용 방식도 측정합니다. 언제든지 할 수 있습니다. 자세한 내용은 쿠키 정책을 참고하세요.

Responses API

엔드포인트

Responses API

OpenAI Responses API 형식을 받는 POST /responses 엔드포인트의 요청 파라미터와 응답 구조를 설명하고, 스트리밍 이벤트와 비용 처리, 오류 코드를 예제와 함께 정리했습니다. 응답 객체 필드도 확인할 수 있습니다.

플레이그라운드에서 사용해 보기

Responses 엔드포인트는 OpenAI Responses API 형식을 받으므로, 공식 SDK의 client.responses.create(...)를 변경 없이 사용할 수 있습니다. Chat completions와 같은 모델에서 실행됩니다. api14는 본문을 변경 없이 업스트림으로 전달하고, 돌아오는 usage에 따라 과금합니다.

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

요청

파라미터타입설명
modelstring, 필수모델 ID. 예: openai/gpt-5-mini.
inputstring | array, 필수프롬프트 문자열 또는 입력 항목 배열({ role, content } 메시지, function_call_output, …).
instructionsstring시스템 수준 지침.
streamboolean의미 단위 이벤트(response.output_text.delta, response.completed, …)를 SSE로 스트리밍합니다.
max_output_tokensinteger생성 토큰 수의 상한.
temperature, top_pnumber샘플링 제어.
tools, tool_choice, parallel_tool_calls함수 도구. 웹 검색도 도구 또는 plugins를 통해 사용할 수 있습니다.
textobject출력 형식. 예: { "format": { "type": "json_schema", "name": "...", "schema": {...} } }.
reasoningobject{ "effort": "low" | "medium" | "high" }. Reasoning을 참고하세요.
provider, models, pluginschat completions와 같은 게이트웨이 확장.

게이트웨이는 대화를 저장하지 않으므로, 매 호출마다 전체 컨텍스트를 input에 전달하세요. previous_response_id 같은 상태 유지 옵션은 지원되지 않을 수 있습니다.

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

위 예제는 chat completions를 사용합니다. Node SDK에서 Responses에 해당하는 코드는 다음과 같습니다.

const response = await client.responses.create({
  model: "openai/gpt-5-mini",
  input: "Write a haiku about APIs.",
});
console.log(response.output_text);

응답

{
  "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
  }
}

게이트웨이는 최종 객체(스트리밍 시에는 response.completed 이벤트)에서 usage를 읽고, cost를 USD로 잔액에서 차감합니다.

오류

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. 오류를 참고하세요.