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

# 应用中的 AI

> 将 Kazzle AI API 集成到应用组件中。

# 应用中的 AI

应用通过 **Kazzle AI API** 获得 AI 功能（聊天、图像、语音、转录、视频）— 一个端点，按积分计费，从空间扣费。除非用户明确要求直接向 OpenAI/Anthropic/其他供应商计费，否则不要向用户索要他们的 API 密钥。

端点、计费和示例在 [AI API 参考](/platform/ai-api) 中有详细说明。本页仅介绍如何将其集成到应用中。

## 配置 API 密钥

1. 使用 `api_key` 工具为应用创建一个作用域受限的 Kazzle API 密钥。
2. 将其存储在密钥集合 + 环境中，命名为 `KAZZLE_API_KEY`（密钥名称会成为环境变量）。
3. 将流程组件指向该集合 + 环境。
4. 仅从服务器端代码调用 `https://api.kazzle.app/ai/*`。

```ts theme={"theme":"material-theme-darker"}
export default defineConfig({
  components: [
    {
      name: 'server',
      type: 'process',
      path: './server',
      env: { collection: 'my-app', environment: 'default' },
    },
  ],
});
```

运行时流程会看到 `process.env.KAZZLE_API_KEY`，从保险库解析。没有 `env.vars` 字段 — 密钥仅通过它们指向的集合 + 环境传递给组件。

```ts theme={"theme":"material-theme-darker"}
const apiKey = process.env.KAZZLE_API_KEY;
if (!apiKey) throw new Error('KAZZLE_API_KEY is required');

const res = await fetch('https://api.kazzle.app/ai/audio/transcriptions', {
  method: 'POST',
  headers: { Authorization: `Bearer ${apiKey}` },
  body: formData,
});
```

切勿将密钥放在前端代码或 `VITE_*` 变量中。参见 [密钥](/apps/secrets) 了解保险库配置，以及 [AI API 参考](/platform/ai-api) 查看所有端点。
