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

# Claude Messages API

***

## 💡 About

此接口兼容 **Anthropic Messages API** 格式，适用于：

* **Claude Code** CLI 工具直接接入
* **Anthropic SDK**（Python / TypeScript）调用
* 任何支持 Anthropic API 格式的客户端

<Warning>
  **Base URL**: `https://api.mountsea.ai/chat/claude`，与 OpenAI 兼容 API 的 Base URL 不同，请注意区分。
</Warning>

***

## 🤖 Claude Code 配置

设置以下环境变量即可让 Claude Code 使用我们的 API：

```bash theme={null}
export ANTHROPIC_API_KEY="your-api-key"
export ANTHROPIC_BASE_URL="https://api.mountsea.ai/chat/claude"
claude
```

***

## 💡 Quick Examples

<Tabs>
  <Tab title="Python">
    ```python theme={null}
    import anthropic

    client = anthropic.Anthropic(
        api_key="your-api-key",
        base_url="https://api.mountsea.ai/chat/claude"
    )

    # Basic message
    message = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=4096,
        system="You are a helpful assistant.",
        messages=[
            {"role": "user", "content": "Hello, Claude!"}
        ]
    )

    print(message.content[0].text)
    ```

    **Streaming:**

    ```python theme={null}
    with client.messages.stream(
        model="claude-sonnet-4-6",
        max_tokens=4096,
        messages=[{"role": "user", "content": "Tell me a story"}]
    ) as stream:
        for text in stream.text_stream:
            print(text, end="")
    ```

    **Install:**

    ```bash theme={null}
    pip install anthropic
    ```
  </Tab>

  <Tab title="Node.js">
    ```javascript theme={null}
    import Anthropic from '@anthropic-ai/sdk';

    const client = new Anthropic({
        apiKey: 'your-api-key',
        baseURL: 'https://api.mountsea.ai/chat/claude'
    });

    // Basic message
    const message = await client.messages.create({
        model: 'claude-sonnet-4-6',
        max_tokens: 4096,
        system: 'You are a helpful assistant.',
        messages: [
            { role: 'user', content: 'Hello, Claude!' }
        ]
    });

    console.log(message.content[0].text);
    ```

    **Streaming:**

    ```javascript theme={null}
    const stream = await client.messages.stream({
        model: 'claude-sonnet-4-6',
        max_tokens: 4096,
        messages: [{ role: 'user', content: 'Tell me a story' }]
    });

    for await (const event of stream) {
        if (event.type === 'content_block_delta' && event.delta.type === 'text_delta') {
            process.stdout.write(event.delta.text);
        }
    }
    ```

    **Install:**

    ```bash theme={null}
    npm install @anthropic-ai/sdk
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    # Non-streaming
    curl https://api.mountsea.ai/chat/claude/v1/messages \
      -H "Content-Type: application/json" \
      -H "x-api-key: your-api-key" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-sonnet-4-6",
        "max_tokens": 4096,
        "system": "You are a helpful assistant.",
        "messages": [
          {"role": "user", "content": "Hello, Claude!"}
        ]
      }'

    # Streaming
    curl https://api.mountsea.ai/chat/claude/v1/messages \
      -H "Content-Type: application/json" \
      -H "x-api-key: your-api-key" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "claude-sonnet-4-6",
        "max_tokens": 4096,
        "stream": true,
        "messages": [
          {"role": "user", "content": "Tell me a story"}
        ]
      }'
    ```
  </Tab>
</Tabs>

***

## 📤 Response Format

### Non-streaming Response

```json theme={null}
{
  "id": "msg_xxx",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 25,
    "output_tokens": 10
  }
}
```

### Streaming Response (SSE)

```
event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","type":"message","role":"assistant","model":"claude-sonnet-4-6"}}

event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}}

event: content_block_stop
data: {"type":"content_block_stop","index":0}

event: message_stop
data: {"type":"message_stop"}
```

***

## 🔧 Supported Models

| Model                       | Description               |
| --------------------------- | ------------------------- |
| `claude-4.5`                | Claude 4.5，综合能力强          |
| `claude-opus-4-6`           | Claude Opus 4.6，最强推理能力    |
| `claude-sonnet-4-6`         | Claude Sonnet 4.6，性能与速度平衡 |
| `claude-haiku-4-5-20251001` | Claude Haiku 4.5，轻量快速     |

***

## 🔧 API Reference

<Info>
  The interactive API form below is auto-generated from OpenAPI spec.
</Info>
