跳到主要内容

API 认证

概述

所有 Kie.ai API 请求都需要进行认证。我们使用安全的 Bearer Token 认证系统来确保 API 访问得到适当授权。

获取 API Key

要访问 API 服务,您需要:

  1. 访问 API Key 管理页面
  2. 登录您的 Kie.ai 账户
  3. 生成您的专属 API Key
  4. 复制并安全存储您的密钥
重要提示

您的 API Key 可直接访问您的账户和资源。切勿公开分享或将其包含在客户端代码中。

使用您的 API Key

所有 API 请求必须在 Authorization 请求头中包含您的 API Key:

Authorization: Bearer YOUR_API_KEY

Bearer Token 请求示例

curl -X POST https://kieai.erweima.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "你好,最近怎么样?"}
]
}'

实现示例

JavaScript/Node.js

const fetchData = async (endpoint, data) => {
const API_KEY = process.env.KIE_API_KEY; // 在环境变量中存储密钥

const response = await fetch(`https://kieai.erweima.ai${endpoint}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify(data)
});

if (!response.ok) {
throw new Error(`API 请求失败: ${response.status}`);
}

return response.json();
};

// 使用示例
try {
const response = await fetchData('/api/v1/chat/completions', {
model: 'deepseek-chat',
messages: [
{role: 'user', content: '你好!'}
]
});
console.log(response);
} catch (error) {
console.error('API 错误:', error.message);
}

Python

import os
import requests

def call_api(endpoint, data):
api_key = os.environ.get('KIE_API_KEY') # 安全的密钥管理

if not api_key:
raise ValueError("在环境变量中未找到 API Key")

headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}

response = requests.post(
f'https://kieai.erweima.ai{endpoint}',
headers=headers,
json=data
)

response.raise_for_status() # 处理 HTTP 错误

return response.json()

# 使用示例
try:
result = call_api('/api/v1/chat/completions', {
'model': 'deepseek-chat',
'messages': [
{'role': 'user', 'content': '你好!'}
]
})
print(result)
except requests.exceptions.HTTPError as err:
print(f"HTTP 错误: {err}")
except Exception as err:
print(f"错误: {err}")

安全最佳实践

1. API Key 存储

通过遵循以下准则确保您的 API Key 安全:

  • 切勿在应用程序代码中硬编码 API Key
  • 不要将 API Key 包含在版本控制系统中
  • 使用环境变量或安全的密钥管理服务
  • 设置开发和生产环境使用不同的密钥
// 使用环境变量的示例 (Node.js)
require('dotenv').config();
const apiKey = process.env.KIE_API_KEY;

// 在发出请求前验证密钥是否存在
if (!apiKey) {
throw new Error('API Key 未配置');
}

2. 定期轮换密钥

定期轮换您的 API Key 可以增强安全性:

  • 每 90-180 天轮换一次密钥
  • 一旦怀疑密钥泄露,立即轮换
  • 实现无缝轮换以避免服务中断

3. 访问监控

跟踪您的 API Key 使用情况:

  • 记录 API 访问模式
  • 设置异常活动警报
  • 定期审查使用情况

处理认证错误

当认证失败时,API 返回 401 Unauthorized 状态码。常见原因包括:

  • 无效的 API Key
  • 过期的 API Key
  • 缺少 Authorization 请求头
  • 请求头格式不正确

错误响应示例

{
"code": 401,
"msg": "需要认证或认证失败"
}

错误处理示例

async function secureApiCall(endpoint, data) {
try {
const response = await fetch(`https://kieai.erweima.ai${endpoint}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify(data)
});

if (response.status === 401) {
// 处理认证错误
console.error('认证失败:请检查您的 API Key');
// 实现密钥刷新或用户通知逻辑
return;
}

if (!response.ok) {
throw new Error(`API 错误: ${response.status}`);
}

return await response.json();
} catch (error) {
console.error('请求失败:', error.message);
}
}

速率限制和配额

认证也与您账户的速率限制和配额相关:

  • 已认证的请求会计入您账户的配额
  • 速率限制按 API Key 应用
  • 超出配额会导致 429 错误响应
  • 通过账户 API 监控您的积分使用情况
专业提示

对于生产应用,在处理速率限制错误时实现带指数退避的重试逻辑。在进行昂贵的 API 调用前,始终检查剩余积分。

需要帮助?

如果您遇到认证问题:

  • 验证您的 API Key 是否正确且有效
  • 检查您的实现是否与上述示例一致
  • 控制台查看您的账户状态

如需其他帮助,请联系我们的支持团队:[email protected]