Chat Completions
MarkdownOpenAI 형식으로 반환되는 모델의 대화 응답입니다. 가장 널리 쓰이는 형식으로 거의 모든 클라이언트가 이해합니다.
전체 가이드
https://api.ailoot.ai/v1/chat/completionscurl https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "API가 무엇인지 두 문장으로 설명해 줘."}
]
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0,
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "API가 무엇인지 두 문장으로 설명해 줘."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0,
baseURL: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY,
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "API가 무엇인지 두 문장으로 설명해 줘." }],
});
console.log(resp.choices[0].message.content);{
"id": "chatcmpl-8f2c…",
"object": "chat.completion",
"created": 1790812800,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "API는 한 프로그램이 다른 프로그램에 어떤 작업을 요청하는 방법을 정한 약속입니다…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}인증
- Authorizationheader필수
키 형식:
Bearer sk-…. 다음 헤더도 사용할 수 있습니다:x-api-key또는x-goog-api-key.
요청 본문
- modelstring필수
모델 ID를 가져올 곳: 카탈로그, 예:
claude-sonnet-5-5. 모델이 OpenAI Chat 형식을 지원해야 합니다. - messagesarray필수
대화 기록: 다음을 포함하는 객체:
role(system,developer,user,assistant,tool) 및content— 문자열 또는 콘텐츠 파트의 배열(텍스트,image_url). - streamboolean선택 사항
Server-Sent Events 형식의 응답입니다. 기본값:
false. 유료 텍스트는 비용 계산 후 한 번에 전달되며 단어별로 전달되지 않습니다. - stream_optionsobject선택 사항
{"include_usage": true}— 최종usage를 스트림의 마지막 이벤트로 보냅니다. - max_tokensinteger선택 사항
응답 토큰의 최대 수입니다. 새 이름:
max_completion_tokens. 한도를 지정하지 않으면 Ailoot가 4096을 설정합니다(모델 응답 한도가 더 작으면 그보다 적게 설정하며, Grok에는 별도 한도가 있습니다). 긴 응답은 한도를 명시하세요. 그렇지 않으면 응답이 4096토큰에서 다음 사유로 종료됩니다:finish_reason: "length". 한도는 예약 금액에 포함됩니다. 높을수록 더 많은 가용 잔액이 필요합니다. - temperaturenumber선택 사항
응답의 무작위성으로 보통 0~2입니다. 추론 모델은 이를 무시할 수 있습니다.
- top_pnumber선택 사항
temperature의 대안으로 토큰 선택에 사용할 확률 질량의 비율입니다.
- stopstring | array선택 사항
생성을 중단할 문자열입니다.
- toolsarray선택 사항
모델이 호출할 수 있는 함수 설명입니다. 형식은 OpenAI와 같습니다:
{"type": "function", "function": {...}}. - tool_choicestring | object선택 사항
auto,none,required또는 특정 함수. - response_formatobject선택 사항
{"type": "json_object"}또는{"type": "json_schema", ...}구조화된 응답용입니다. 모델이 지원하는 경우에만 사용합니다. - reasoning_effortstring선택 사항
추론 모델의 추론 깊이:
low,medium,high.
그 밖의 OpenAI 매개변수는 그대로 전달됩니다. 해당 모델의 지원 여부는 모델 개발자가 결정합니다.
응답
- choices[].messageobject
모델 응답:
content, 도구 호출 시 —tool_calls. - choices[].finish_reasonstring
stop— 응답 종료;length— 다음 한도에 도달:max_tokens(이 응답도 완전한 응답이며 실제 사용량에 따라 결제됩니다);tool_calls— 모델이 도구를 호출함. - usageobject
prompt_tokens,completion_tokens,total_tokens— 이를 기준으로 차감액을 계산합니다.