NezhaGate
POST https://nezhagate.com/v1/chat/completions

Google Gemini 3.1 Pro 기반의 OpenAI 호환 채팅 완성 API입니다. 스트리밍과 롱 컨텍스트를 지원합니다. model을 gemini-3.1-pro로 두면 기본은 낮은 추론 등급이고 reasoning_effort=high로 높은 추론 등급을 고릅니다. 이 모델은 사고 요약도 함께 돌려주는데, 비스트리밍에서는 choices[].message.reasoning_content, 스트리밍에서는 choices[].delta.reasoning_content에 담깁니다. 답변 자체는 언제나 content에 있고 사고와 섞이지 않으므로 content만 읽는 클라이언트는 아무것도 고칠 필요가 없습니다. 과금은 사고 토큰이 출력 단가로 계산되어 usage.completion_tokens에 포함되고, 그중 사고에 해당하는 양은 usage.completion_tokens_details.reasoning_tokens에서 확인할 수 있습니다. 콘텐츠 차단에 대해서는, Google이 모델을 돌리기 전에 프롬프트를 먼저 심사하며 차단되면 출력도 없고 과금도 되지 않습니다. 게이트웨이가 프롬프트를 자동으로 재구성해 한 번 재시도하고, 그래도 거절되면 그때만 오류를 돌려줍니다. 프롬프트가 계속 차단된다면 시스템 메시지를 첫 사용자 메시지에 합쳐 보세요.

📥 컨텍스트 창 (최대 입력):약 1,000,000 토큰(백만 단위 롱 컨텍스트).

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

인증

Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

콘솔에서 API 키를 만들면 시작할 수 있습니다.

요청 본문

파라미터타입필수설명
model string 모델 ID. 여기서는 gemini-3.1-pro입니다.
messages array 메시지 배열. 각 항목은 role(system/user/assistant)과 content를 가집니다. content는 문자열이거나, 이미지 이해(멀티모달 / 비전)를 위한 {type:text}와 {type:image_url} 조각들의 배열일 수 있습니다.
stream boolean 아니오 SSE로 스트리밍할지 여부. 기본값 false. 스트리밍 중에는 사고가 choices[].delta.reasoning_content로 조각 단위로 내려오고 답변은 delta.content에 남으며, 스트림은 data: [DONE]으로 끝납니다. 참고로 스트리밍 호출에서는 업스트림이 사고 토큰 수를 따로 보고하지 않아 reasoning_tokens가 0으로 표시되지만, 사고는 여전히 completion_tokens에 포함되므로 비용은 비스트리밍과 같습니다.
temperature number 아니오 샘플링 온도, 0–2.
max_tokens integer 아니오 생성할 최대 토큰 수.
web_search boolean 아니오 true로 두면 웹 검색이 켜집니다. 게이트웨이가 모델이 답하기 전에 실시간 검색 결과로 프롬프트를 보강하고 출처를 함께 제시합니다. tools 항목 {"type":"web_search"}로도 켤 수 있습니다.
reasoning_effort string 아니오 추론 등급: low(기본값 — 더 빠르고 저렴) 또는 high(더 깊은 추론, Preview 등급으로 과금). 접미사 모델 이름 gemini-3.1-pro-low / gemini-3.1-pro-high도 동작하며, 예전 id인 gemini-3.1-pro-preview는 기존 가격 그대로 high 등급과 같습니다.

요청 예시

cURL
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "gemini-3.1-pro", "messages": [{"role": "user", "content": "Hello"}], "stream": false}'

응답

200 · JSON
{
  "id": "chatcmpl_xxx",
  "object": "chat.completion",
  "model": "gemini-3.1-pro",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "reasoning_content": "**My Thought Process** ... (the model summarises its own reasoning)",
        "content": "70"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 48,
    "completion_tokens": 2187,
    "total_tokens": 2235,
    "completion_tokens_details": {"reasoning_tokens": 1371}
  }
}

이미지 입력 (Vision)

메시지 content 배열에 이미지를 넣으면 모델이 이를 분석합니다(시각적 질의응답, 텍스트 판독 / OCR 등). image_url에는 공개 이미지 링크 또는 인라인 base64 data URL(data:image/png;base64,...)을 넣을 수 있습니다. 멀티모달 모델(gpt-5.5, gemini 계열 등)에서 사용할 수 있습니다.

curl · 이미지 입력 (Vision)
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "gemini-3.1-pro", "messages": [{"role": "user", "content": [{"type": "text", "text": "이 사진에는 무엇이 있나요?"}, {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}]}]}'

오류 코드

Code설명
401API 키가 없거나 유효하지 않음
402잔액 부족 또는 키 한도 초과
400지원하지 않는 모델 또는 파라미터
429업스트림 요청 한도 초과
502모든 업스트림 경로가 실패