> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Claude API 빠른 시작: CometAPI로 Messages 요청 보내기

> curl, Python, Node.js를 사용해 CometAPI의 Anthropic 호환 Messages API를 통해 Claude 모델을 호출합니다.

## 만들 내용

`POST /v1/messages`로 요청을 한 번 보내고, Claude 응답 텍스트를 출력하며, Anthropic SDK 또는 직접 HTTP 사용을 위해 코드를 준비된 상태로 유지합니다.

## 사전 요구 사항

* `COMETAPI_KEY`에 저장된 CometAPI API 키
* [Models page](/ko/overview/models)의 Claude model ID
* `curl`, Python 3.10+ 또는 Node.js 18+

## API 키, base URL, 인증

CometAPI를 통해 Anthropic 호환 Messages 엔드포인트를 사용합니다:

```text theme={null}
https://api.cometapi.com/v1/messages
```

직접 HTTP 요청은 `x-api-key`와 Anthropic API 버전 헤더로 인증합니다:

```text theme={null}
x-api-key: $COMETAPI_KEY
anthropic-version: 2023-06-01
```

## 코드 예제

아래 탭에서 cURL, Python, Node.js의 복사 가능한 예제를 사용할 수 있습니다.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/messages \
    -H "Content-Type: application/json" \
    -H "x-api-key: $COMETAPI_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "your-claude-model-id",
      "max_tokens": 256,
      "messages": [
        {
          "role": "user",
          "content": "Reply with one short sentence."
        }
      ]
    }'
  ```

  ```python Python theme={null}
  import os
  import anthropic

  client = anthropic.Anthropic(
      api_key=os.environ["COMETAPI_KEY"],
      base_url="https://api.cometapi.com",
  )

  message = client.messages.create(
      model="your-claude-model-id",
      max_tokens=256,
      messages=[
          {
              "role": "user",
              "content": "Reply with one short sentence.",
          }
      ],
  )

  print(message.content[0].text)
  ```

  ```javascript Node.js theme={null}
  import Anthropic from "@anthropic-ai/sdk";

  const client = new Anthropic({
    apiKey: process.env.COMETAPI_KEY,
    baseURL: "https://api.cometapi.com",
  });

  const message = await client.messages.create({
    model: "your-claude-model-id",
    max_tokens: 256,
    messages: [
      {
        role: "user",
        content: "Reply with one short sentence.",
      },
    ],
  });

  console.log(message.content[0].text);
  ```
</CodeGroup>

## 흐름 설명

Claude Messages 요청은 기본적으로 동기식입니다. API는 하나의 HTTP 응답으로 message 객체를 반환하며, 애플리케이션은 첫 번째 텍스트 content 블록을 읽습니다.

Anthropic 메시지 배열, extended thinking, prompt caching, tool use 같은 Claude 전용 요청 형태가 필요할 때 이 경로를 사용하세요. 애플리케이션이 이미 공식 Anthropic SDK를 사용 중이라면 SDK base URL을 `https://api.cometapi.com`으로 설정하고 Messages API 요청 형태를 그대로 유지하세요.

## 공통 파라미터

| Parameter    | Use                                                  |
| ------------ | ---------------------------------------------------- |
| `model`      | 계정에서 사용할 수 있는 Claude model ID입니다.                    |
| `max_tokens` | Messages API 응답에 대한 최대 응답 토큰(Token) 예산입니다.           |
| `messages`   | `user` 및 `assistant` role을 포함하는 Anthropic 메시지 배열입니다. |
| `stream`     | `true`로 설정하면 증분 message 이벤트를 스트리밍합니다.                |
| `thinking`   | 선택한 모델이 지원하는 경우 Claude extended thinking을 활성화합니다.    |

## 문제 해결 / FAQ

<AccordionGroup>
  <Accordion title="요청이 401을 반환합니다">
    요청을 보내는 동일한 셸 또는 런타임에 `COMETAPI_KEY`가 설정되어 있는지 확인하세요. 실제 키를 소스 파일에 붙여 넣지 마세요.
  </Accordion>

  <Accordion title="SDK가 여전히 Anthropic을 직접 호출합니다">
    SDK 클라이언트에서 Python은 `base_url`, Node.js는 `baseURL`을 `https://api.cometapi.com`으로 설정했는지 확인하세요.
  </Accordion>

  <Accordion title="어떤 모델을 사용해야 하나요">
    계정에서 사용할 수 있는 Claude model ID를 사용하세요. 이 빠른 시작 가이드는 계정과 모델 제품군에 따라 사용 가능 여부가 달라지므로 특정 Claude 모델을 하드코딩하지 않습니다.
  </Accordion>
</AccordionGroup>

## 다음 단계

* 전체 요청 및 응답 필드는 [Anthropic Messages API reference](/api/text/anthropic-messages)에서 확인하세요.
* [Models](/ko/overview/models)에서 모델 사용 가능 여부를 확인하세요.
* [Claude Code integration guide](/ko/integrations/claude-code)로 로컬 코딩 세션을 구성하세요.
* [Error codes and retry strategy](/ko/guides/error-codes-and-retry-strategy)에서 재시도 동작을 검토하세요.
