AI API
兼容 OpenAI 的 AI 接口,用于对话和图片生成
概述
AI API 提供与 OpenAI 兼容的 AI 对话补全和图片生成接口。使用与 OpenAI SDK 相同的代码,只需将基础 URL 更改为 LikeDo 即可。
调试器
您可以在 AI API 调试器中测试 API 接口。
身份验证
所有接口都需要 API 密钥认证。您可以通过以下两种方式使用 API 密钥:
-
Authorization 请求头(推荐):
Authorization: Bearer YOUR_API_KEY -
查询参数:
?key=YOUR_API_KEY
速率限制
速率限制根据您的订阅套餐配置:
- 免费版: 每小时 200 次请求
- Pro 版: 每小时 2000 次请求
- 终身版: 每小时 2000 次请求
积分系统
AI API 请求根据 token 使用量消耗积分:
- 输入 tokens: 每 1000 个 tokens 消耗 1 积分
- 输出 tokens: 每 1000 个 tokens 消耗 3 积分
- 最小值: 每次请求至少 1 积分
图片生成:
- 标准图片 (1024x1024): 每张图片 10 积分
- 高清图片: 每张图片 15 积分
接口
对话补全
POST /api/v1/ai/chat/completions使用各种 AI 模型生成 AI 驱动的对话补全。与 OpenAI SDK 兼容。
支持的模型
- OpenAI: gpt-4, gpt-4-turbo, gpt-3.5-turbo
- Google Gemini: gemini-pro, gemini-1.5-pro
- DeepSeek: deepseek-chat, deepseek-coder
- OpenRouter: 访问多个开源模型
请求体
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
model | string | 是 | 要使用的 AI 模型 |
messages | array | 是 | 消息对象数组 |
temperature | number | 否 | 随机性(0.0-2.0,默认:0.7) |
max_tokens | number | 否 | 响应中的最大 token 数(1-32000) |
stream | boolean | 否 | 启用流式响应(默认:false) |
provider | string | 否 | 强制指定提供商(openai、gemini、deepseek、openrouter) |
消息对象
{
role: 'system' | 'user' | 'assistant',
content: string
}请求示例
curl -X POST "https://like.do/api/v1/ai/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "你是一个有帮助的助手。"
},
{
"role": "user",
"content": "用简单的术语解释量子计算。"
}
],
"temperature": 0.7,
"max_tokens": 500
}'成功响应 (200 OK)
{
"id": "chatcmpl-1234567890",
"object": "chat.completion",
"created": 1704369600,
"model": "gpt-4",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "量子计算是一种利用量子力学的计算类型..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
},
"credits_consumed": 1
}流式响应
当 stream: true 时,响应以服务器发送事件 (SSE) 的形式发送:
data: {"id":"chatcmpl-1234","object":"chat.completion.chunk","created":1704369600,"model":"gpt-4","choices":[{"index":0,"delta":{"content":"量子"},"finish_reason":null}]}
data: {"id":"chatcmpl-1234","object":"chat.completion.chunk","created":1704369600,"model":"gpt-4","choices":[{"index":0,"delta":{"content":"计算"},"finish_reason":null}]}
data: [DONE]图片生成
POST /api/v1/ai/images/generations使用 AI 模型从文本描述生成图片。
支持的模型
- OpenAI: dall-e-3, dall-e-2
- Replicate: stable-diffusion, flux-pro, flux-schnell
- Stability AI: stable-diffusion-xl
请求体
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
model | string | 是 | 图片生成模型 |
prompt | string | 是 | 所需图片的文本描述 |
size | string | 否 | 图片尺寸(256x256、512x512、1024x1024,默认:1024x1024) |
n | number | 否 | 要生成的图片数量(1-4,默认:1) |
quality | string | 否 | 图片质量:standard 或 hd(默认:standard) |
请求示例
curl -X POST "https://like.do/api/v1/ai/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type": "application/json" \
-d '{
"model": "dall-e-3",
"prompt": "一个宁静的日本花园,有樱花、锦鲤池和传统茶室,日落时分",
"size": "1024x1024",
"quality": "standard",
"n": 1
}'成功响应 (200 OK)
{
"created": 1704369600,
"data": [
{
"url": "https://storage.like.do/ai-images/abc123.png",
"revised_prompt": "一个宁静的日本花园,盛开的樱花树..."
}
],
"credits_consumed": 10
}OpenAI SDK 兼容性
AI API 完全兼容 OpenAI SDK。只需更改基础 URL:
JavaScript (OpenAI SDK)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.LIKEDO_API_KEY,
baseURL: 'https://like.do/api/v1/ai',
});
// 对话补全
const completion = await client.chat.completions.create({
model: 'gpt-4',
messages: [
{ role: 'system', content: '你是一个有帮助的助手。' },
{ role: 'user', content: '你好!' },
],
});
console.log(completion.choices[0].message.content);
// 图片生成
const image = await client.images.generate({
model: 'dall-e-3',
prompt: '山上的美丽日落',
size: '1024x1024',
});
console.log(image.data[0].url);Python (OpenAI SDK)
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv('LIKEDO_API_KEY'),
base_url='https://like.do/api/v1/ai',
)
# 对话补全
completion = client.chat.completions.create(
model='gpt-4',
messages=[
{'role': 'system', 'content': '你是一个有帮助的助手。'},
{'role': 'user', 'content': '你好!'},
],
)
print(completion.choices[0].message.content)
# 图片生成
image = client.images.generate(
model='dall-e-3',
prompt='山上的美丽日落',
size='1024x1024',
)
print(image.data[0].url)错误响应
所有错误响应遵循一致的格式:
{
"error": {
"message": "描述错误的消息",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}常见错误代码
| 状态码 | 描述 |
|---|---|
| 400 | 错误请求 - 无效的参数或缺少必填字段 |
| 401 | 未授权 - API 密钥缺失或无效 |
| 402 | 需要付款 - 积分不足 |
| 429 | 请求过多 - 超出速率限制 |
| 500 | 服务器内部错误 - 服务器端出现问题 |
模型选择指南
对话模型
通用任务 (gpt-4):
- 整体质量最佳
- 非常适合复杂推理
- 每 token 成本较高
快速响应 (gpt-3.5-turbo):
- 快速且经济实惠
- 适合简单任务
- 质量低于 GPT-4
编程任务 (deepseek-coder):
- 针对代码生成优化
- 支持多种编程语言
- 经济实惠
长文本 (gemini-1.5-pro):
- 支持超长上下文(最多 1M tokens)
- 适合文档分析
- 价格有竞争力
图片模型
高质量 (dall-e-3):
- 图片质量最佳
- 提示词重写以获得更好结果
- 成本较高
速度优先 (flux-schnell):
- 生成速度非常快
- 质量良好
- 成本较低
开源选择 (stable-diffusion-xl):
- 开源替代方案
- 良好的自定义选项
- 成本较低
最佳实践
- 使用系统消息: 在系统消息中设置清晰的指令以获得更好的结果
- 管理 Token 限制: 监控
max_tokens以控制成本和响应长度 - 处理流式传输: 对长响应使用流式传输以获得更好的用户体验
- 重试逻辑: 对速率限制错误实施指数退避
- 缓存响应: 缓存常见请求以节省积分并提高速度
- 监控积分: 跟踪您的积分使用情况以避免意外成本
积分消耗示例
对话补全
请求:
- 提示词:100 tokens
- 响应:300 tokens
消耗积分:
- 输入:100 / 1000 = 0.1 积分
- 输出:300 / 1000 * 3 = 0.9 积分
- 总计:1 积分(向上舍入到最小值)图片生成
请求:
- 模型:dall-e-3
- 尺寸:1024x1024
- 质量:standard
- 图片数:1
消耗积分:10 积分流式传输最佳实践
使用 stream: true 时,遵循以下实践:
const stream = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: '给我讲个故事' }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content || '';
process.stdout.write(content);
}提供商覆盖
您可以使用 provider 参数强制指定特定的 AI 提供商:
const completion = await client.chat.completions.create({
model: 'gpt-4',
provider: 'openai', // 强制使用 OpenAI 提供商
messages: [{ role: 'user', content: '你好!' }],
});可用提供商:
openai- OpenAI 模型gemini- Google Gemini 模型deepseek- DeepSeek 模型openrouter- OpenRouter 模型
技术支持
需要 AI API 帮助?
LikeDo文档