API 레퍼런스

Chat Completions

POST/v1/chat/completions

핵심 엔드포인트: 목록의 모든 채팅 모델에 대해 멀티턴 채팅, 스트리밍, 도구 호출, 비전, JSON 모드를 지원합니다.

#요청 파라미터

  • modelstring필수

    /v1/models의 모델 ID. 게이트웨이는 이 값으로 업스트림 제공업체를 결정합니다.

  • messagesarray필수

    대화 턴: {role: system|user|assistant|tool, content}. content는 문자열 또는 멀티모달 파트 배열일 수 있습니다.

  • streamboolean선택

    true이면 SSE 델타를 스트리밍하며, data: [DONE]으로 끝납니다.

  • temperaturenumber선택

    0~2. 비워 두면 모델 기본값을 사용합니다.

  • max_tokensinteger선택

    생성 토큰 상한. 사전 차감 한도 추정치의 상한도 됩니다.

  • toolsarray선택

    모델이 호출할 수 있는 함수 선언 — 도구 호출 가이드를 참고하세요.

  • tool_choicestring | object선택

    "auto", "none" 또는 특정 함수를 지정합니다.

  • response_formatobject선택

    {"type":"json_object"} 또는 json_schema 래퍼. 지원 모델에서 구조화된 출력을 사용합니다.

  • top_pnumber선택

    뉴클리어스 샘플링. temperature와 top_p 중 하나만 사용하세요.

  • stopstring | array선택

    생성을 중단시키는 정지 시퀀스(최대 4개).

#관련 오류

  • 400 invalid_request_error본문 형식이 잘못되었거나 이 모델이 지원하지 않는 파라미터입니다.
  • 401Bearer 토큰이 유효하지 않거나 없습니다. 이 경로에는 error.code가 없으므로 상태 코드로 판단하세요.
  • 402 insufficient_user_quota지갑 잔액이 사전 차감 추정액보다 부족합니다.
  • 429키별 속도 제한입니다. 본문은 비어 있으며 Retry-After만큼 기다리세요. insufficient_user_quota가 포함된 429는 속도 제한이 아니라 일일 지출 한도입니다.
  • 503 model_not_found알 수 없는 모델이거나, 현재 이 모델을 제공하는 정상 채널이 없습니다.

전체 오류 코드 표 →

#요청 예시

curl https://www.aisplice.store/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "messages": [{"role": "user", "content": "Say hello."}]
  }'

#응답

response.json
{
  "id": "chatcmpl-…",
  "object": "chat.completion",
  "model": "gpt-5.6-luna",
  "choices": [{
    "index": 0,
    "message": {"role": "assistant", "content": "Hello!"},
    "finish_reason": "stop"
  }],
  "usage": {"prompt_tokens": 9, "completion_tokens": 3, "total_tokens": 12}
}

아직 해결되지 않았나요?

요청 ID나 오류 메시지를 보내 주시면 확인해 드리겠습니다.