Source: https://ailoot.ai/docs/ko/api/messages/
Canonical: https://ailoot.ai/docs/ko/api/messages/
Language: ko

[API](https://ailoot.ai/docs/ko/) 

# Messages

[Markdown](https://ailoot.ai/docs/ko/api/messages/index.md)

Anthropic Messages 형식입니다. Claude Code, Anthropic SDK 및 여러 에이전트가 사용합니다.

POST`https://api.ailoot.ai/v1/messages`

Messages

```bash
curl https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "안녕! 어떤 일을 할 수 있어?"}]
  }' 
```

```python
import anthropic
import os

client = anthropic.Anthropic(max_retries=0, 
    base_url="https://api.ailoot.ai",   # /v1 제외: SDK가 /v1/messages를 자동으로 추가합니다
    api_key=os.environ["AILOOT_API_KEY"],
)

msg = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "API가 무엇인지 두 문장으로 설명해 줘."}],
)
print(msg.content[0].text)
```

```js
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ maxRetries: 0,
  baseURL: "https://api.ailoot.ai", // /v1 제외
  apiKey: process.env.AILOOT_API_KEY,
});

const msg = await client.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "API가 무엇인지 두 문장으로 설명해 줘." }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : msg.content);
```

200 OK

```json
{
  "id": "msg_01H…",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5-5",
  "content": [
    { "type": "text", "text": "안녕하세요! 코드를 작성하고 설명하거나 질문에 답할 수 있습니다…" }
  ],
  "stop_reason": "end_turn",
  "usage": { "input_tokens": 14, "output_tokens": 52 }
}
```

## 인증

| 매개변수 | 유형 | 필수 | 설명 |
| --- | --- | --- | --- |
| `x-api-key` | header | 필수 | 키 `sk-…`. 다음도 사용할 수 있습니다: `Authorization: Bearer sk-…` — Claude Code는 다음 설정으로 이 방식에 따라 전송합니다: `ANTHROPIC_AUTH_TOKEN`. |
| `anthropic-version` | header | 선택 사항 | API 버전입니다. 예: `2023-06-01`. SDK가 자동으로 전송합니다. |

## 요청 본문

| 매개변수 | 유형 | 필수 | 설명 |
| --- | --- | --- | --- |
| `model` | string | 필수 | Messages 형식을 지원하는 모델 ID입니다. Claude, GPT, Gemini, DeepSeek, Qwen 등을 포함해 식별자 776개가 있습니다. |
| `messages` | array | 필수 | 메시지 `user` 및 `assistant`; `content` — 문자열 또는 블록(`text`, `image`, `tool_use`, `tool_result`). |
| `max_tokens` | integer | 필수 | 응답 토큰의 최대 수입니다. 예약 금액에 포함됩니다. 잔액이 전체 한도를 충당하지 못하면 Ailoot가 한도를 줄이지만 256 미만으로 낮추지 않습니다(사고 기능을 사용하면 1025). 새 한도는 다음 헤더로 알립니다: `X-Ailoot-Max-Tokens-Capped`. |
| `system` | string \| array | 선택 사항 | 시스템 지침입니다. |
| `stream` | boolean | 선택 사항 | SSE 이벤트 스트림(`message_start`, `content_block_delta`, …, `message_stop`). 유료 텍스트는 비용 계산 후 한 번에 전달됩니다. |
| `temperature` | number | 선택 사항 | 응답 무작위성은 0~1입니다. |
| `tools` | array | 선택 사항 | 도구: `name`, `description`, `input_schema`. |
| `tool_choice` | object | 선택 사항 | `auto`, `any`, `tool` 또는 `none`. |
| `thinking` | object | 선택 사항 | `{"type": "enabled", "budget_tokens": N}` — 지원하는 모델의 사고 기능입니다. |
| `stop_sequences` | array | 선택 사항 | 생성을 중단할 문자열입니다. |

## 응답

| 매개변수 | 유형 | 필수 | 설명 |
| --- | --- | --- | --- |
| `content` | array |  | 응답 블록: `text`, `thinking`, `tool_use`. |
| `stop_reason` | string |  | `end_turn`, `max_tokens`, `stop_sequence` 또는 `tool_use`. |
| `usage` | object |  | `input_tokens`, `output_tokens`, 캐시 관련 필드: `cache_read_input_tokens` 및 `cache_creation_input_tokens`. |

토큰 계산(`POST /v1/messages/count_tokens`)은 현재 카탈로그 모델에서 사용할 수 없습니다.

궁금한 점이 남았나요? Request ID와 설명을 보내 주시면 해결을 도와드리겠습니다.[지원팀에 문의](mailto:support@ailoot.ai)

## Ailoot · 회사와 그 프로젝트 포트폴리오





Ailoot는 축적된 운영 경험, 폭넓은 고객 기반, 안정적인 서비스, 지속적인 KPI 관리를 바탕으로 합니다.





회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.





Ailoot는 이러한 운영 경험을 고객의 제품, 에이전트, 애플리케이션, 자동화에서 AI 기능을 이용할 수 있는 API 접근에 활용합니다.
