본문으로 건너뛰기
마크다운으로 보기

모델

호출할 수 있는 모델은 API에 물어서 확인합니다. 이 페이지는 그 호출에서 시작해, ID를 고른 뒤에 필요한 모델별 수치를 이어서 싣습니다.

호출할 수 있는 모델 조회하기

인증된 GET 한 번으로 지금 서빙 중인 모델 목록을 받습니다. 이 응답이 답하는 것은 오늘 추론 요청이 받아 주는 ID가 무엇인가, 그것 하나입니다. 카탈로그 전체가 아니라서, 공개는 됐지만 아직 서빙하지 않는 모델은 여기에 없습니다.

bash
curl https://api.bricksum.com/v1/models \
  -H "Authorization: Bearer $KILN_API_KEY"

2026-09-20 스테이징에서 gpt-oss-120b를 반환하던 응답의 형태입니다. 이후 항목의 id를 qwen3-32b로 바꾸고 deepseek-v4.1-flash 항목을 직접 추가했으며, 응답을 다시 받아오지는 않았습니다. 서빙 가능한 모델마다 항목이 하나씩 담기고, 각 항목에는 필드가 4개 있습니다.

200 OK
{
  "object": "list",
  "data": [
    {
      "id": "qwen3-32b",
      "object": "model",
      "created": 1789902597,
      "owned_by": "bricksum"
    },
    {
      "id": "deepseek-v4.1-flash",
      "object": "model",
      "created": 1789902597,
      "owned_by": "bricksum"
    }
  ]
}

코드에서 분기할 필드

네 필드 중 코드로 읽을 값은 하나입니다.

  • data[].id — 요청의 model 필드에 넣는 값입니다. 분기 기준으로 삼을 필드가 이것이고, 카탈로그가 바뀐 것을 알아채려면 호출 사이에 ID 집합을 비교하세요.
  • object, data[].object, owned_by — 고정 문자열입니다("list", "model", "bricksum"). 라우팅이나 소유 주체를 뜻하지 않으므로, 이 값으로 분기해 봐야 얻는 것이 없습니다.
  • data[].created — 게이트웨이가 응답을 만드는 시점에 찍는 Unix 초 단위 시각이며, 모델이 추가된 시각이 아닙니다. 한 응답의 모든 항목이 같은 값을 갖고 호출할 때마다 값이 달라지므로, 새로 추가된 모델을 감지하는 데에는 쓸 수 없습니다.

목록에는 그 밖의 정보가 없습니다. 컨텍스트 길이도, 단가도, 지원 기능 플래그도 담기지 않습니다. 이 값들은 아래 레퍼런스 표에 있습니다. 이 엔드포인트의 요청·에러 계약 전체는 List models 페이지를 보세요.

요청을 보내기 전에 모델 확인하기

단건 조회는 없습니다. /models/{model} 경로의 GET은 서빙되지 않고, 에러 객체가 아니라 평문 404가 돌아옵니다. 어떤 ID가 서빙 가능한지 물으려면 목록을 읽고 그 안에 있는지 확인하세요.

목록 포함 여부 확인
served = {m.id for m in client.models.list()}

if "qwen3-32b" not in served:
    raise SystemExit("qwen3-32b is not servable right now")

모델 ID가 목록에 없을 때

그대로 보내면 추론 엔드포인트가 404와 에러 객체로 거부합니다.

404 Not Found
{
  "error": {
    "code": "model_not_found",
    "message": "The model `no-such-model-xyz` does not exist or you do not have access to it.",
    "param": "model",
    "type": "invalid_request_error"
  }
}

ID가 목록에 없는 이유는 세 가지입니다. 아직 서빙하지 않거나, 서빙을 중단했거나, ID를 잘못 적은 경우입니다. 이 셋을 구분하는 검사는 목록뿐이므로, 같은 문자열로 재시도하지 말고 목록을 다시 읽어 거기 있는 ID를 고르세요.

모델 레퍼런스

어느 쪽이 무엇에 답하는가

  • GET /models — "지금 내가 호출할 수 있는 모델"에 답합니다. 서빙 중인 모델만 돌려주므로, 코드가 믿어야 할 값은 이 목록입니다. 여기에 없는 모델을 지정한 요청은, 다른 페이지에 어떻게 적혀 있든 거부됩니다.
  • 모델 카탈로그 — "무엇을 얼마에 제공하는가"에 답합니다. 아직 서빙하지 않는 모델까지 상태값과 함께 담기고, API 목록이 돌려주지 않는 컨텍스트 길이, 단가, 지원 기능, 실측 처리량, 90일 가동률을 제공합니다. 아래 표도 여기서 읽습니다.

둘은 경합하지 않습니다. coming-soon 상태인 모델이 카탈로그에는 있고 API 목록에는 없는 것은 정상이며, 잘못된 상태가 아닙니다. ID는 API 목록에서, 나머지는 카탈로그에서 가져오세요. 호출 가능 여부가 어긋나면 API 목록을 따릅니다.

카탈로그의 모델마다 한 행이고, 상태를 먼저 보입니다. available 모델만 API 목록에 담기고 오늘 호출할 수 있으며, 나머지는 존재를 알 수 있도록 실었을 뿐 수치를 공개하지 않습니다. 모든 값을 카탈로그에서 실시간으로 읽으므로, 단가나 컨텍스트가 바뀌면 이 페이지를 고치지 않아도 표가 따라갑니다.

모델상태컨텍스트 길이입력 / 100만 토큰출력 / 100만 토큰캐시된 입력 / 100만 토큰
qwen3-32bQwen3 32Bavailable32,768 토큰₩112$0.08₩392$0.28₩56$0.04
exaone-4.5-33bEXAONE 4.5 33Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
gpt-oss-120bgpt-oss-120bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
gpt-oss-20bgpt-oss-20bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
k-exaone-236bK-EXAONE 236Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
llama-3.1-8bLlama 3.1 8Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
qwen3-30b-a3bQwen3 30B-A3Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
qwen3-8bQwen3 8Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
qwen3-coder-480b-a35bQwen3-Coder 480B-A35Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
solar-open-100bSolar Open 100Bcoming soon— 아직 서빙하지 않아 수치를 공개하지 않습니다
  • 최대 출력 토큰 — 모델별 수치가 아닙니다. 카탈로그는 어떤 모델에도 별도의 출력 상한을 제공하지 않으므로, 해당 모델의 컨텍스트 길이 안에서 요청마다 max_tokens을 지정하세요. 컨텍스트 길이는 프롬프트와 출력 토큰을 합한 기준이고, 이를 초과하는 요청은 400으로 거부됩니다.
  • 데이터 처리 — 프롬프트와 출력은 요청을 처리하고 과금용 사용량을 측정하는 데 사용합니다. 기본적으로 학습에는 사용하지 않습니다. 데이터 처리 계약이 필요하면 문의하세요.

모델별 지원 기능

같은 모델을 한 행씩 정리한 표입니다. 스트리밍은 서빙 중인 모든 모델에서 사용할 수 있고, 나머지 칸은 모두 실시간 카탈로그 값입니다. "정보 없음"은 카탈로그가 그 모델의 해당 기능을 아직 보고하지 않는다는 뜻입니다. 측정하지 않았다는 뜻이지 지원하지 않는다는 뜻이 아닙니다. coming soon 모델의 지원 기능은 서빙을 시작한 뒤 표시합니다.

모델스트리밍툴 호출 (자동 선택)강제·지정 tool_choice병렬 툴 호출구조화 출력이미지 입력Thinking 모드
qwen3-32b지원지원미지원미지원미지원미지원지원
exaone-4.5-33bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
gpt-oss-120bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
gpt-oss-20bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
k-exaone-236bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
llama-3.1-8bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
qwen3-30b-a3bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
qwen3-8bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
qwen3-coder-480b-a35bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)
solar-open-100bcoming soon (지원 기능은 서빙을 시작한 뒤 표시합니다)

툴 호출·구조화 출력 값은 2026-09-11 실측 기준입니다. 모든 함수에 description이 필요하고, reasoning 토큰은 max_tokens에 포함됩니다. 실측 결과

qwen3-32b에서는 강제 툴 선택이 명확한 에러 없이 실패합니다(2026-09-26 실측). tool_choice를 "required"로 보내면 본문이 평문 "Internal Server Error"인 HTTP 500이 오고, 함수를 지정하면 arguments가 빈 200(finish_reason "stop")이 옵니다. 둘 다 4xx가 아니므로 재시도로 해결되지 않습니다. tool_choice는 "auto"만 보내세요. qwen3-32b에서는 parallel_tool_calls 설정이 적용되지 않습니다. 이는 응답에 툴 호출이 하나만 온다는 뜻이 아닙니다. parallel_tool_calls: false를 보내도 한 응답에 툴 호출이 여러 건 올 수 있습니다. tool_calls의 모든 항목에 각각 tool 메시지로 답하세요.

API 지원 범위

  • 스트리밍: 지원 (stream=true)
  • Reasoning 강도: reasoning_effort는 모델에 그대로 전달됩니다. gpt-oss-120b는 low, medium, high를 받으며, 다른 모델이 이 값을 따르는지는 공개되지 않았습니다. 값이 높을수록 추론이 깊어지고 지연 시간이 늘어납니다.
  • 요청 타임아웃: 게이트웨이는 요청을 60분 뒤에 종료합니다. 약 100초 동안 바이트를 보내지 않는 비스트리밍 요청은 네트워크 엣지에서 끊길 수 있으므로, 긴 생성은 stream: true로 보내세요.

알려진 제한

현재 서빙 스택은 모든 OpenAI 파라미터를 완전히 지원하지는 않습니다. 알려진 제한은 OpenAI에서 옮겨오기 페이지 한 곳에 정리해 두었습니다.

가격은 100만 토큰당 단가를 원화로 먼저 보여 주고 USD 단가를 함께 적습니다. 과금은 각 응답의 usage 필드에 실측된 토큰 수를 기준으로 USD로 계산합니다. 최신 카탈로그와 변경 사항은 콘솔에서 확인하세요.

원화는 부가세 별도이며, 1 USD = 1,400원(2026-08-11 기준)으로 환산한 값입니다.