GLM 전체 모델 인터페이스 - Messages 전체 매개변수
- Anthropic Messages 프로토콜로 GLM 시리즈 모델을 호출하며,
model파라미터로 구체적인 모델을 선택합니다 - 요청 / 응답 구조는 Anthropic API와 동일합니다
- 시스템 프롬프트: 최상위
system으로 전달 - 사고 모드: 전 시리즈가 기본적으로 사고를 켜며 사고 내용은
content[type=thinking]block으로 반환됩니다.glm-5.2만thinking.type=disabled로 끌 수 있습니다 - 스트리밍 출력: SSE 이벤트 스트림
- 도구 호출: Anthropic
tool_use/tool_result흐름과 호환 - 이미지 입력: 실제로 지원하는 모델은
glm-5.3-flash뿐이며, 자세한 내용은messages필드 설명을 참조하세요
https://direct.evolink.ai이며, 텍스트 모델과 장시간 연결을 더 잘 지원합니다. https://api.evolink.ai는 멀티모달 서비스의 기본 엔드포인트이자 텍스트 모델의 대체 주소 역할을 합니다.thinking.type: "disabled"를 지원하는 모델은 glm-5.2뿐이며, glm-5.3과 glm-5.3-flash는 항상 사고하고 disabled를 보내면 오류가 발생합니다. glm-5.2에서 마이그레이션할 때는 하드코딩된 disabled를 먼저 제거한 뒤 모델을 전환하세요.인증
##모든 인터페이스는 Bearer Token 인증이 필요합니다##
API Key 발급:
API Key 관리 페이지에 방문하여 API Key를 발급받으세요
요청 헤더에 추가:
참고: EvoLink는 /v1/messages에 대해 일괄적으로 Bearer Token 인증을 사용합니다.
본문
호출할 모델:
glm-5.3, glm-5.3-flash, glm-5.2 "glm-5.3"
대화 메시지 목록으로, user / assistant가 턴마다 번갈아 나타납니다
설명:
- 최소 1개의 메시지가 필요합니다
- 마지막 메시지는 보통
role=user입니다 - 멀티턴 컨텍스트를 지원하며 모델이 이력을 참조합니다
이미지 입력: glm-5.3-flash만 지원하며, content 배열 안의 {"type":"image","source":{...}} 블록으로 전달합니다.
glm-5.3이나 glm-5.2에 이미지 콘텐츠 블록을 보내면 오류는 발생하지 않지만 모델이 이미지를 읽지 못합니다. 요청은 정상적으로 200을 반환하고, 모델은 텍스트 부분만으로 답하므로 그럴듯해 보이지만 이미지와 무관한 응답이 돌아오며, 결과도 요청마다 일치하지 않습니다.
이런 조용한 실패는 운영 환경에서 원인을 찾기 어려우므로, 이미지 이해가 필요하면 glm-5.3-flash를 선택하세요.
1생성되는 내용 길이의 상한(토큰 수)
설명:
- GLM 시리즈는 최대 131,072 tokens(128K) 출력 길이를 지원하며
1024이상 설정을 권장합니다 - thinking으로 생성되는 토큰도 이 상한에 포함됩니다
- 상한에 도달하면 내용이 잘리고 응답은
stop_reason=max_tokens가 됩니다
1 <= x <= 1310721024
시스템 프롬프트로, AI의 역할과 동작을 설정하는 데 사용합니다
설명:
- 문자열 또는 콘텐츠 블록 배열을 지원합니다
- 최상위
system필드로 전달합니다(messages에 넣지 마세요) - 모델이 system 제약을 따릅니다
- 너무 긴 system은 잘릴 수 있습니다: 긴 컨텍스트가 필요하면
messages에 넣고, 모두system에 쌓지 마세요
"You are a helpful assistant."
샘플링 온도
설명:
- 값이 높을수록 출력이 더 발산적이고, 낮을수록 더 확정적입니다
- 권장 범위
[0, 1]
0 <= x <= 11
핵 샘플링 임계값
설명:
- 범위
[0, 1] - temperature와 top_p를 동시에 조정하지 않는 것을 권장합니다
0 <= x <= 10.9
확률이 가장 높은 K개의 token 중에서만 샘플링합니다(Anthropic 고유 파라미터)
설명:
- 값이 작을수록 출력이 더 확정적이고, 클수록 후보가 더 다양합니다
x >= 010
사용자 정의 중지 시퀀스: 생성이 그중 어느 문자열에라도 적중하면 중지합니다
설명:
- 적중 시 잘리며, 적중 지점 이전 내용은 정상적으로 반환됩니다
- 주의: 중지 시퀀스에 적중할 때 GLM 시리즈의
stop_reason은end_turn을 반환하며(Anthropic 표준인stop_sequence가 아님), 응답에도stop_sequence필드가 포함되지 않습니다. 클라이언트가stop_reason=="stop_sequence"로 적중을 판단한다면 별도 처리가 필요합니다
SSE로 스트리밍 반환할지 여부
true: Server-Sent Events 스트리밍 반환(표준 Anthropic 이벤트 시퀀스: message_start / content_block_start / content_block_delta / message_delta / message_stop)false: 완전한 응답 후 한 번에 반환(기본값)
false
심층 사고를 제어합니다
설명:
- GLM 시리즈는 모두 추론 모델이며, 이 필드를 전달하지 않으면 기본적으로 사고가 켜집니다
- 켜져 있으면 응답
content배열에type="thinking"추론 과정 block이 나타납니다(output 토큰으로 과금되며signature는 빈 문자열일 수 있음) type이진 스위치만 유효:budget_tokens,effort등 사고 예산 / 등급 파라미터는 적용되지 않습니다(무시됨)
끌 수 있는지는 모델마다 다릅니다:
glm-5.2:{"type":"disabled"}를 전달하면 사고를 꺼서 output 토큰을 크게 줄일 수 있습니다glm-5.3/glm-5.3-flash: 항상 사고하며 끌 수 없습니다.disabled를 보내면 오류가 발생합니다
그 결과 glm-5.3 시리즈는 이 엔드포인트에서 사고 비용을 줄일 수 없습니다. 끌 수도 없고(disabled는 오류),
줄일 수도 없습니다(budget_tokens와 effort 모두 적용되지 않으며, 최상위 reasoning_effort는 OpenAI 프로토콜 필드라 이 엔드포인트에서는 무시됩니다).
사고 내용은 output 토큰으로 과금되므로 이 엔드포인트에서 그 비용은 피할 수 없습니다.
사고 비용을 제어하려면 Chat Completions API로 전환하세요 ——
그쪽의 reasoning_effort는 low / high / max 세 단계가 실제로 적용됩니다. glm-5.2는 이 제약을 받지 않으며, 이 엔드포인트에서도 사고를 바로 끌 수 있습니다.
glm-5.2에서 마이그레이션: 기존 코드에 thinking.type=disabled가 하드코딩되어 있다면 glm-5.3으로 전환하기 전에 해당 필드를 제거해야 하며, 그렇지 않으면 요청이 바로 실패합니다.
또한 사고를 꺼서 비용을 관리하고 있었다면 이 엔드포인트에는 동등한 대안이 없으므로, 전환 시 Chat Completions API로의 이전도 함께 고려해야 합니다.
도구 정의 목록
설명:
- Anthropic tool 정의 규범을 따릅니다
input_schema는 JSON Schema 객체를 사용합니다- 모델은 표준
tool_useblock을 반환하며,stop_reason=tool_use입니다
도구 선택 전략
요청 메타데이터
응답
메시지 객체
Anthropic 스타일의 메시지 응답
메시지 고유 ID(형식: msg_<uuid>)
응답 객체 유형
message assistant 실제 사용된 모델
"glm-5.3"
응답 콘텐츠 블록 목록
포함될 수 있는 block type:
thinking: 추론 과정(사고가 켜져 있을 때, 기본적으로 켜짐)text: 최종 답변 텍스트tool_use: 모델이 발생시킨 도구 호출
중지 사유
end_turn: 자연스러운 종료(stop_sequences에 적중할 때도 이 값을 반환)max_tokens: max_tokens 상한 도달tool_use: 모델이 도구 호출을 트리거
end_turn, max_tokens, tool_use Token 사용 통계(Anthropic 규범)