Chat completions
스트리밍, 이미지, 도구 호출 및 추론 제어를 포함한 OpenAI 호환 chat completions.
POST /v1/chat/completions
curl https://api.unquant.io/v1/chat/completions -H "Authorization: Bearer $UNQUANT_API_KEY" -H "Content-Type: application/json" -d '{"model":"glm-5.3-flash",
"messages":[{"role":"user","content":"Hello!"}]}'요청 필드
modelstring필수glm-5.3-flash 또는 qwen-3.8-flash-next.
messagesarray필수역할: system, user, assistant, tool. 콘텐츠는 문자열 또는 text와 image_url 부분의 배열입니다.
streamboolean서버-전송 이벤트로 응답을 스트리밍합니다.
stream_optionsobject{"include_usage": true}를 설정하면 토큰 수가 포함된 최종 청크가 추가됩니다.
max_tokensinteger응답 길이 상한.
max_completion_tokensintegermax_tokens와 동일.
temperaturenumber샘플링 무작위성.
top_pnumber핵 샘플링.
top_kintegerk개의 가장 가능성 높은 토큰에서 샘플링.
min_pnumber토큰의 최소 상대 확률.
seedinteger반복 가능한 샘플링을 위한 시드.
stopstring or array중지 시퀀스.
frequency_penaltynumber등장 빈도에 따른 토큰 패널티.
presence_penaltynumber등장한 적 있는 토큰에 패널티.
repetition_penaltynumber곱셈 반복 패널티.
toolsarrayOpenAI 형식으로 모델이 호출할 수 있는 함수들.
tool_choicestring or objectauto, none, required 또는 지정 함수명.
parallel_tool_callsboolean한 턴에 여러 도구 호출을 허용합니다.
response_formatobjectJSON 출력.
logprobsboolean토큰 로그 확률을 반환합니다.
top_logprobsinteger토큰당 반환할 대안 수.
ninteger1이어야 함: 요청당 completion 하나.
reasoning_effortstring두 모델 모두: none, low, high; GLM-5.3-Flash는 추가로 max도 가능.
chat_template_kwargsobject{"enable_thinking": false}와 같은 템플릿 스위치.
그 외 필드는 무시됩니다.
응답
response.choices[0].message.content사용량 수치는 자체 모니터링을 위해 반환됩니다; 과금되지 않습니다.
스트리밍
"stream": true를 설정하면 응답이 OpenAI 청크 형식의 서버-전송 이벤트로 전달되며 data: [DONE]으로 종료됩니다. choices[0].delta.content에서 텍스트를 읽으세요.
이미지
두 모델 모두 base64 데이터 URL(data:image/png;base64,..., JPEG 또는 WebP)을 담은 image_url 부분으로 이미지를 허용합니다. URL로 된 이미지 링크는 가져오지 않으며 400을 반환합니다.
{"role": "user", "content": [
{"type": "text", "text": "이 이미지를 설명해주세요."},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}도구 호출
OpenAI API와 동일하게 tools를 전달하세요. 모델이 도구를 호출하면 응답에 finish_reason: "tool_calls"와 message.tool_calls가 포함됩니다; 도구를 실행하고, 결과와 해당 tool_call_id를 담은 tool 메시지를 추가하고, 다시 호출하세요.
추론
두 모델 모두 답변 전에 추론하며 reasoning_effort를 지원합니다: 직접 답변은 none, 간단한 추론은 low, 어려운 문제는 high; GLM-5.3-Flash는 추가로 max를 지원하며 기본값은 high입니다. 사고 내용은 reasoning_content에 별도로 반환되며 content에 섞이지 않습니다. "thinking": {"type": "disabled"}와 "chat_template_kwargs": {"enable_thinking": false}도 비활성화합니다.
동시성
플랜에 따라 모든 키에 걸쳐 동시에 실행할 수 있는 요청 수가 결정됩니다. 한도를 초과한 요청은 즉시 429를 반환하며 큐에 추가되지 않고, 실행 중인 요청은 영향받지 않습니다.