소개
GLM 5.3 Flash는 Z.ai의 장문 컨텍스트 채팅 모델로, 여기서는 /v1/chat/completions의 OpenAI 호환 엔드포인트 하나로 제공합니다. 최대 256개 메시지에 걸쳐 1,048,576토큰까지 읽고 최대 131,072토큰으로 답하며, 추론 강도는 low, high, max 중에서 고릅니다.
기본값은 max입니다. temperature(0~1)와 top_p를 받고, response_format으로 JSON 객체를 돌려주며, 요청마다 도구를 최대 128개까지 선언할 수 있습니다. 메시지 내용은 텍스트, 이미지, 동영상을 받고, 원하면 응답을 Server-Sent Events로 스트리밍합니다.
핵심 기능 및 하이라이트
추론 강도 세 단계
low, high, max는 같은 요청 본문에 들어갑니다. 큰 내보내기 파일의 라벨링과 추출에는 low, 리뷰에는 high, 그리고 기본값 max는 흔들리면 안 되는 답을 위한 단계입니다. 단계를 바꿔도 달라지는 것은 문자열 하나이지 연동이 아닙니다.
100만 토큰을 읽고 결론을 냅니다
창은 1,048,576토큰, 응답은 최대 131,072토큰으로 약 8 대 1입니다. 내보내기 파일이나 녹취 아카이브, 문서 묶음을 읽고 보낸 것을 다시 쓰는 대신 라벨, 요약표, 결과 목록을 돌려주는 일의 형태입니다.
파이프라인용 구조화 출력
response_format을 json_object로 두면 코드로 파싱할 수 있는 객체가 돌아오고, 도구를 최대 128개까지 두면 모델이 시스템을 호출할 수 있습니다. 실행마다 형태가 유지되도록 system 메시지에 키를 모두 적고, 후속 단계가 움직이기 전에 검증하세요.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 순서대로 최대 256개 턴이고 내용은 문자열이거나 text, |
reasoning_effort | 아니요 | low, high, max 중 하나입니다. Z.ai 자체 API와 마찬가지로 기본값이 max라서 이 필드를 뺀 요청도 가장 신중한 설정으로 돌아갑니다. |
stop | 아니요 | 정지 시퀀스는 1개만, 문자열 또는 요소가 하나인 배열로 지정합니다. Z.ai는 하나만 읽습니다. 1자 이상 · 1개 이상 · 1개 이하 |
max_tokens | 아니요 | 응답을 131,072에서 자릅니다. 읽기 창의 8분의 1이고, 기본값은 32,768입니다. |
temperature | 아니요 | 0에서 1까지, 기본값은 1입니다. 응답을 코드가 파싱한다면 0으로 고정하세요. |
top_p | 아니요 | 0.01에서 1까지이고 기본값은 0.95입니다. 한 비교 안에서는 이 값이나 temperature 중 하나만 조절하세요. |
tools | 아니요 | 요청당 함수 정의 최대 128개입니다. 128개 이하 |
tool_choice | 아니요 | auto, none, required, 또는 함수 하나를 지정한 객체입니다. |
response_format | 아니요 | JSON 객체를 요청하고, system 메시지에 키를 하나씩 다 적어 두세요. |
요금
입력 $0.1275 / 출력 $0.425 100만 토큰당
활용 사례
low로 티켓 분류하기
티켓 내보내기 파일 전체를 고정된 라벨 목록과 함께 보내고, 티켓마다 라벨 하나를 JSON으로 요청하세요. low면 저렴하게 돌아가고, 점검에서 걸러진 티켓만 high로 다시 보냅니다.
녹취 아카이브에 던지는 질문
몇 달 치 회의나 지원 녹취를 요청 하나에 넣고, 어디서 결정이 내려졌고 누가 반대했는지를 인용과 함께 물어보세요. 아무것도 잘게 나누지 않았으니 3월의 한 줄과 7월의 한 줄을 함께 인용할 수 있습니다.
도구를 호출하는 어시스턴트
검색, 생성, 수정처럼 어시스턴트가 써도 되는 함수를 선언하고, 언제 호출할지는 tool_choice에 맡기세요. 결과는 tool 역할 메시지로 돌아오므로 주고받은 내용 전체가 대화 하나 안에 남습니다.
프롬프트 가이드 및 실전 팁
필요한 곳에서만 단계를 올리세요
첫 처리는 low로 돌리고, 검증을 통과하지 못한 것은 high로 다시 보내며, 그래도 판단이 갈리는 소수에만 max를 쓰세요. 추론 강도만 변수로 남도록 처리 사이에 메시지는 똑같이 유지합니다.
그대로 쓰는 라벨링 호출
POST https://api.spicyapi.ai/v1/chat/completions에 {"model": "zai/glm-5.3-flash", "messages": [{"role": "system", "content": "Label each ticket with one of: billing, access, bug, feature. Return JSON: {\"labels\": [{\"id\": ..., \"label\": ...}]}."}, {"role": "user", "content": "<the ticket export>"}], "reasoning_effort": "low", "max_tokens": 20000, "response_format": {"type": "json_object"}}을 보냅니다. 객체를 파싱하고 모든 ID가 돌아왔는지 확인한 뒤, 빠진 것은 다시 보내세요.
예산과 한계
max_tokens 기본값은 32,768이고 추론 토큰도 출력으로 과금되므로 기대하는 답보다 여유를 두세요. 131,072를 넘는 값은 검증에서 거부됩니다. 오디오와 파일 파트는 받지 않으며, JSON response_format은 응답의 형태를 잡아 줄 뿐 직접 하는 파싱을 대신하지 않습니다.
API 빠른 시작
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "zai/glm-5.3-flash/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.







