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

# Yelu AI API 文档

> 通过一个兼容 OpenAI 的统一 API 使用聊天、Responses、图像、嵌入、音频、视觉、流式输出与工具调用。

<Info>
  Yelu AI API 是一个兼容 OpenAI 的 AI Gateway。保留现有 OpenAI SDK 和请求结构，只需修改 API Key 与 Base URL，即可通过一个接口访问多个模型供应商。
</Info>

## 一个面向生产环境的统一 API

Yelu 对不同模型供应商的鉴权、路由、流式传输、用量统计和错误格式进行统一。模型可用范围与账号相关，请通过 [`GET /v1/models`](/zh/api-reference/models) 动态获取。

<CardGroup cols={2}>
  <Card title="发送第一个请求" icon="rocket" href="/zh/quickstart">
    使用 Curl、JavaScript 或 Python 在几分钟内完成首次调用。
  </Card>

  <Card title="使用 OpenAI SDK" icon="code-2" href="/zh/sdk/python">
    将官方 SDK 指向 `https://api.yelu.ai/v1`，继续使用熟悉的类型化接口。
  </Card>

  <Card title="浏览 API" icon="braces" href="/zh/api-reference/chat-completions">
    查看端点、参数、响应、错误码以及可复制的请求示例。
  </Card>

  <Card title="构建可靠集成" icon="shield-check" href="/zh/guides/best-practices">
    正确配置超时、重试、可观测性、模型发现和密钥保护。
  </Card>
</CardGroup>

## 编程 Agent

<CardGroup cols={2}>
  <Card title="使用 Claude Code" icon="bot" href="/zh/guides/claude-code">
    在 macOS、Windows 或 WSL 2 中配置 Anthropic Messages 网关。
  </Card>

  <Card title="使用 Codex CLI" icon="terminal" href="/zh/guides/codex-cli">
    通过自定义模型 Provider 将 Codex 接入 Yelu Responses API。
  </Card>
</CardGroup>

## 核心能力

<Columns cols={3}>
  <Card title="文本" icon="message-square">
    Chat Completions 与 Responses API，支持上下文、多轮对话和推理控制。
  </Card>

  <Card title="多模态" icon="image">
    视觉输入、图像生成、音频转录与多模态响应。
  </Card>

  <Card title="Agent 与工具" icon="wrench">
    Function Calling、Tool Calling、JSON Mode、结构化输出和流式响应。
  </Card>
</Columns>

## Base URL

所有兼容 OpenAI 的端点均使用：

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
https://api.yelu.ai/v1
```

<Warning>
  API Key 只能保存在可信服务器。不要把 Yelu Key 放进浏览器代码、公开仓库、移动应用安装包或客户端日志。
</Warning>

## 第一个请求

如果示例模型不在你的账号中，请先调用[模型列表](/zh/api-reference/models)，然后替换为返回的任意 `id`。

<CodeGroup>
  ```bash Curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
  export YELU_API_KEY="your_api_key"

  curl https://api.yelu.ai/v1/chat/completions \
    -H "Authorization: Bearer $YELU_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-4o-mini",
      "messages": [{"role": "user", "content": "用一句话解释 API Gateway。"}]
    }'
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch('https://api.yelu.ai/v1/chat/completions', {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.YELU_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'gpt-4o-mini',
      messages: [{ role: 'user', content: '用一句话解释 API Gateway。' }],
    }),
  });
  if (!response.ok) throw new Error(await response.text());
  console.log((await response.json()).choices[0].message.content);
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import os
  import requests

  response = requests.post(
      "https://api.yelu.ai/v1/chat/completions",
      headers={"Authorization": f"Bearer {os.environ['YELU_API_KEY']}"},
      json={
          "model": "gpt-4o-mini",
          "messages": [{"role": "user", "content": "用一句话解释 API Gateway。"}],
      },
      timeout=60,
  )
  response.raise_for_status()
  print(response.json()["choices"][0]["message"]["content"])
  ```
</CodeGroup>

## 下一步
