메인 콘텐츠로 건너뛰기
POST
/
v1
/
chat
/
completions
curl --request POST \
  --url https://direct.evolink.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "glm-5.2",
  "messages": [
    {
      "role": "user",
      "content": "자기소개를 해 주세요"
    }
  ]
}
'
{
  "id": "chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a",
  "object": "chat.completion",
  "request_id": "req-7f3a2c1e8b9d4f0a",
  "created": 1777021417,
  "model": "glm-5.2",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "안녕하세요! 저는 GLM-5.2로, 대화, 추론, 작문, 코딩 등 다양한 작업을 도와드릴 수 있습니다.",
        "reasoning_content": "먼저 이 문제를 분석해 보겠습니다……",
        "tool_calls": [
          {
            "id": "<string>",
            "function": {
              "name": "<string>",
              "arguments": "<string>"
            },
            "mcp": {
              "id": "<string>",
              "server_label": "<string>",
              "error": "<string>"
            }
          }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 346,
    "total_tokens": 370,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 321
    }
  },
  "web_search": [
    {
      "icon": "<string>",
      "title": "<string>",
      "link": "<string>",
      "media": "<string>",
      "publish_date": "<string>",
      "content": "<string>",
      "refer": "<string>"
    }
  ],
  "content_filter": [
    {
      "level": 1
    }
  ]
}
BaseURL: 기본 BaseURL은 https://direct.evolink.ai이며, 텍스트 모델과 장시간 연결을 더 잘 지원합니다. https://api.evolink.ai는 멀티모달 서비스의 기본 엔드포인트이자 텍스트 모델의 대체 주소 역할을 합니다.

인증

Authorization
string
header
필수

##모든 인터페이스는 Bearer Token 인증이 필요합니다##

API Key 발급:

API Key 관리 페이지에 방문하여 API Key를 발급받으세요

요청 헤더에 추가:

Authorization: Bearer YOUR_API_KEY

본문

application/json
model
enum<string>
기본값:glm-5.2
필수

호출할 모델 코드

  • glm-5.2: 최신 플래그십 모델로, 복잡한 추론, 초장문 컨텍스트와 극대화된 추론 속도를 제공
사용 가능한 옵션:
glm-5.2
예시:

"glm-5.2"

messages
(System Message · object | User Message · object | Assistant Message · object | Tool Message · object)[]
필수

대화 메시지 목록으로, 현재 대화의 완전한 컨텍스트 정보를 포함합니다

system, user, assistant, tool 네 가지 역할을 지원합니다. 역할마다 메시지의 필드 구조가 다르므로 해당 역할을 선택하여 확인하세요. 최소 1개의 메시지를 포함해야 하며, 시스템 메시지나 어시스턴트 메시지만 포함할 수는 없습니다.

Minimum array length: 1
stream
boolean
기본값:false

스트리밍 출력 모드를 활성화할지 여부

  • false: 모델이 완전한 응답을 생성한 후 한 번에 반환(기본값), 짧은 텍스트와 일괄 처리에 적합
  • true: Server-Sent Events(SSE)를 통해 청크 단위로 실시간 반환, 채팅과 장문에 적합; 스트리밍 종료 시 data: [DONE]을 반환
예시:

false

thinking
object

사고 체인(Chain of Thought)을 켤지 여부를 제어합니다

reasoning_effort
enum<string>
기본값:max

모델의 추론 정도를 제어합니다(GLM-5.2 전용 능력)

설명:

  • thinking이 켜진 경우에만 유효하며, 기본값은 max
  • 값은 강한 것부터 약한 것 순서로: max > xhigh > high > medium > low > minimal > none

GLM-5.2 매핑 규칙(다른 프로토콜과의 호환을 위해):

  • xhighmax와 동등
  • low / mediumhigh와 동등
  • none / minimal → 사고 포기(심층 추론을 수행하지 않음)
사용 가능한 옵션:
max,
xhigh,
high,
medium,
low,
minimal,
none
예시:

"max"

do_sample
boolean
기본값:true

샘플링 전략을 활성화할지 여부

  • true(기본값): temperature / top_p로 무작위 샘플링을 수행하여 출력이 더 다양해짐
  • false: 항상 확률이 가장 높은 단어를 선택(그리디 디코딩)하여 출력이 더 확정적이며, 이때 temperaturetop_p는 무시됩니다

일관성과 재현성이 필요한 작업(예: 코드 생성, 번역)에는 false로 설정하는 것을 권장합니다

예시:

true

temperature
number<float>
기본값:1

샘플링 온도로, 출력의 무작위성과 창의성을 제어합니다

설명:

  • 범위: [0.0, 1.0], 소수점 둘째 자리까지
  • 높은 값(예: 0.8): 더 무작위하고 창의적이며 창작 글쓰기에 적합
  • 낮은 값(예: 0.2): 더 안정적이고 확정적이며 사실 기반 질의응답과 코드 생성에 적합
  • GLM-5.2 기본값: 1.0

권장 사항: temperaturetop_p를 동시에 조정하지 마세요

필수 범위: 0 <= x <= 1
예시:

1

top_p
number<float>
기본값:0.95

핵 샘플링(Nucleus Sampling) 파라미터로, temperature 샘플링의 대체 방법입니다

설명:

  • 범위: [0.01, 1.0], 소수점 둘째 자리까지
  • 모델은 누적 확률이 top_p에 도달하는 후보 단어만 고려하며, 예를 들어 0.1은 상위 10% 확률의 단어만 고려함을 의미합니다
  • 작은 값은 더 집중되고 일관된 출력을 만들며, 큰 값은 다양성을 높입니다
  • GLM-5.2 기본값: 0.95

권장 사항: temperaturetop_p를 동시에 조정하지 마세요

필수 범위: 0.01 <= x <= 1
예시:

0.95

max_tokens
integer

모델 출력의 최대 token 수 제한

설명:

  • GLM-5.2는 최대 131,072 tokens(128K) 출력 길이를 지원하며, 1024 이상으로 설정하는 것을 권장합니다
  • thinking이 켜진 경우 사고 체인 token도 이 상한에 포함됩니다
  • 생성이 length 사유로 잘린 경우 이 값을 높여 보세요
필수 범위: 1 <= x <= 131072
예시:

1024

tools
(Function 도구 · object | Retrieval 도구(지식베이스 검색) · object | Web Search 도구(웹 검색) · object | MCP 도구 · object)[]

모델이 호출할 수 있는 도구 목록

설명:

  • 함수 호출(function), 지식베이스 검색(retrieval), 웹 검색(web_search), MCP(mcp) 지원
  • 최대 128개 함수 지원
Maximum array length: 128
tool_choice
enum<string>
기본값:auto

모델이 어떤 함수를 호출할지 선택하는 방식을 제어합니다

설명: 도구 유형이 function일 때만 유효하며, 기본값이자 auto만 지원합니다(모델이 도구 호출 여부를 자동으로 결정)

사용 가능한 옵션:
auto
예시:

"auto"

stop
string[]

중지 단어 목록

설명:

  • 모델이 생성하는 텍스트가 지정한 문자열을 만나면 즉시 생성을 중지합니다(중지 단어 자체는 반환 텍스트에 포함되지 않음)
  • 현재는 단일 중지 단어만 지원하며, 형식은 ["stop_word1"], 예: ["Human:"]
Maximum array length: 4
예시:
["Human:"]
response_format
object

모델 응답 출력 형식을 지정하며, 기본값은 text입니다

설명:

  • { "type": "json_object" }는 JSON 모드를 활성화하며, 모델이 유효한 JSON 형식 데이터를 반환하여 구조화 데이터 추출 등의 시나리오에 적합합니다
  • JSON 모드를 사용할 때는 system 또는 user 메시지에서 JSON 출력을 명확히 요구하는 것을 권장합니다
request_id
string

요청 고유 식별자

설명:

  • 사용자 측에서 전달하며, 길이는 6-64자이고 고유성을 보장하기 위해 UUID 형식을 권장합니다
  • 제공하지 않으면 플랫폼이 자동으로 생성합니다
Required string length: 6 - 64
예시:

"req-7f3a2c1e8b9d4f0a"

user_id
string

최종 사용자의 고유 식별자

설명: 길이는 6-128자이며, 민감한 정보를 포함하지 않는 고유 식별자 사용을 권장합니다. 플랫폼이 남용 행위를 모니터링하고 탐지하는 데 도움이 됩니다

Required string length: 6 - 128
예시:

"user-abc123456"

응답

대화 생성 성공

id
string

작업 ID

예시:

"chatcmpl-a6613b56-c61c-94ba-9a9f-43d4cdc7d77a"

object
enum<string>

응답 유형

사용 가능한 옵션:
chat.completion
예시:

"chat.completion"

request_id
string

요청 ID(요청에서 request_id를 제공한 경우 다시 반환)

예시:

"req-7f3a2c1e8b9d4f0a"

created
integer

요청 생성 시각, Unix 타임스탬프(초)

예시:

1777021417

model
string

모델 이름

예시:

"glm-5.2"

choices
object[]

모델 응답 목록

usage
object

호출 종료 시 반환되는 Token 사용 통계

웹 검색 관련 정보, web_search 도구를 사용하고 검색에 적중했을 때 반환

content_filter
object[]

콘텐츠 안전 관련 정보