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

# 直接 API 请求

> 了解如何使用 cURL 或任何 HTTP 客户端直接向 Model Router 发送 HTTP 请求

## 什么是直接 API 请求？

直接 API 请求是指使用 cURL、Postman 或任何 HTTP 客户端库等工具直接向 Model Router 的端点发送 HTTP 调用。这是与 API 交互最直接的方式。

## 开始之前

<Info>
  在发送请求之前，请通过调用[模型列表端点](/zh/features/model-router/list-available-models)检查您的 API Key 可以使用哪些模型。
</Info>

## API 基础 URL

所有请求应发送至：

```
https://app.memorylake.ai
```

## 身份验证

在 `Authorization` 请求头中包含您的 API Key：

```
Authorization: Bearer sk-your-api-key-here
```

## 请求示例

### OpenAI 兼容端点

`/v1` 端点兼容 OpenAI 风格的请求。这是使用 Model Router 最常见的方式。

<CodeGroup>
  ```ts TypeScript theme={null}
  await fetch("https://app.memorylake.ai/v1/chat/completions", {
    method: "POST",
    headers: {
      "Authorization": "Bearer sk-demo123",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "gpt-4o-mini",
      messages: [{ role: "user", content: "Hello, how are you?" }],
      stream: false
    })
  });
  ```

  ```py Python theme={null}
  import requests

  resp = requests.post(
      "https://app.memorylake.ai/v1/chat/completions",
      headers={
          "Authorization": "Bearer sk-demo123",
          "Content-Type": "application/json",
      },
      json={
          "model": "gpt-4o-mini",
          "messages": [{"role": "user", "content": "Hello, how are you?"}],
          "stream": False,
      },
  )
  ```

  ```bash cURL theme={null}
  curl https://app.memorylake.ai/v1/chat/completions \
    -H "Authorization: Bearer sk-demo123" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-4o-mini",
      "messages": [{"role": "user", "content": "Hello, how are you?"}],
      "stream": false
    }'
  ```
</CodeGroup>

<Info>
  请将 `sk-demo123` 替换为您的实际 API Key。将 `gpt-4o-mini` 替换为您的 API Key 可用的模型。查看[模型列表](/zh/features/model-router/list-available-models)以了解可用模型。
</Info>

### 流式响应

要获取流式响应，请将 `stream` 设置为 `true`：

```bash theme={null}
curl https://app.memorylake.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-demo123" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Tell me a story"}],
    "stream": true
  }'
```

### Claude 原生端点

如果您使用 Claude 模型，可以使用 Claude 原生端点：

<CodeGroup>
  ```ts TypeScript theme={null}
  await fetch("https://app.memorylake.ai/claude/v1/messages", {
    method: "POST",
    headers: {
      "Authorization": "Bearer sk-demo123",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "claude-sonnet-5",
      max_tokens: 200,
      messages: [{ role: "user", content: "Summarize this in one sentence" }]
    })
  });
  ```

  ```py Python theme={null}
  import requests

  resp = requests.post(
      "https://app.memorylake.ai/claude/v1/messages",
      headers={
          "Authorization": "Bearer sk-demo123",
          "Content-Type": "application/json",
      },
      json={
          "model": "claude-sonnet-5",
          "max_tokens": 200,
          "messages": [{"role": "user", "content": "Summarize this in one sentence"}],
      },
  )
  ```

  ```bash cURL theme={null}
  curl https://app.memorylake.ai/claude/v1/messages \
    -H "Authorization: Bearer sk-demo123" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "claude-sonnet-5",
      "max_tokens": 200,
      "messages": [{"role": "user", "content": "Summarize this in one sentence"}]
    }'
  ```
</CodeGroup>

### Gemini 原生端点

对于 Gemini 模型，请使用 Gemini 原生端点：

<CodeGroup>
  ```ts TypeScript theme={null}
  await fetch("https://app.memorylake.ai/gemini/v1beta/models/gemini-2.5-pro:generateContent", {
    method: "POST",
    headers: {
      "Authorization": "Bearer sk-demo123",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      contents: [{ role: "user", parts: [{ text: "Generate a title" }] }]
    })
  });
  ```

  ```py Python theme={null}
  import requests

  resp = requests.post(
      "https://app.memorylake.ai/gemini/v1beta/models/gemini-2.5-pro:generateContent",
      headers={
          "Authorization": "Bearer sk-demo123",
          "Content-Type": "application/json",
      },
      json={
          "contents": [{"role": "user", "parts": [{"text": "Generate a title"}]}],
      },
  )
  ```

  ```bash cURL theme={null}
  curl https://app.memorylake.ai/gemini/v1beta/models/gemini-2.5-pro:generateContent \
    -H "Authorization: Bearer sk-demo123" \
    -H "Content-Type: application/json" \
    -d '{
      "contents": [{"role": "user", "parts": [{"text": "Generate a title"}]}]
    }'
  ```
</CodeGroup>

## 重要说明

1. **检查可用模型**：在发送请求之前，请始终检查您的 API Key 可以使用哪些模型。请参阅[查看可用模型](/zh/features/model-router/list-available-models)。

2. **模型名称**：请使用模型列表中的精确模型 ID。不同的 API Key 可能访问不同的模型。

3. **错误处理**：如果您遇到错误，请检查：
   * 您的 API Key 是否正确？
   * 该模型是否对您的 API Key 可用？
   * 您是否有足够的配额？
   * 查看[错误处理](/zh/features/model-router/others/error-handling)获取更多帮助。

4. **查看用量**：发送请求后，您可以在控制台中[查看您的用量和计费](/zh/features/model-router/view-usage-and-billing)。

## 相关文档

* [查看可用模型](/zh/features/model-router/list-available-models)
* [查看用量与计费](/zh/features/model-router/view-usage-and-billing)
* [最小 MVP 示例](/zh/features/model-router/getting-started/use-api-key/minimal-mvp-examples)
* [错误处理](/zh/features/model-router/others/error-handling)
* [限制与前提条件](/zh/features/model-router/others/limits-and-prerequisites)
