AI 模型接口文档
IkunCode API 兼容 OpenAI 接口协议,一个 Key 即可调用 Claude、GPT、Gemini、DeepSeek 等主流模型。
接口基础信息
| 项目 | 说明 |
|---|---|
| Base URL | https://api.oneinai.com/v1 |
| 认证方式 | Bearer Token |
| 协议兼容 | OpenAI API 格式 |
所有请求均需在 Header 中携带认证信息:
Authorization: Bearer sk-你的API Key
Content-Type: application/json
1
2
模型列表
获取当前可用的模型列表。
请求
GET https://api.oneinai.com/v1/models
1
示例
bash
curl https://api.oneinai.com/v1/models \\
-H "Authorization: Bearer sk-xxxx"
1
2
响应
json
{
"object": "list",
"data": [
{
"id": "claude-sonnet-4-20250514",
"object": "model",
"created": 1700000000,
"owned_by": "anthropic"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
聊天完成
对话补全接口,最常用的 AI 对话接口。
请求
POST https://api.oneinai.com/v1/chat/completions
1
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | - | 模型名称,如 claude-sonnet-4-20250514 |
| messages | array | 是 | - | 对话消息列表 |
| temperature | number | 否 | 1.0 | 采样温度,0~2,越低越确定 |
| top_p | number | 否 | 1.0 | 核采样参数,0~1 |
| max_tokens | integer | 否 | 4096 | 最大生成 token 数 |
| stream | boolean | 否 | false | 是否启用流式输出 |
| presence_penalty | number | 否 | 0 | 存在惩罚,-2.0~2.0 |
| frequency_penalty | number | 否 | 0 | 频率惩罚,-2.0~2.0 |
| stop | array/string | 否 | null | 停止序列 |
| tools | array | 否 | null | 工具/函数调用定义 |
| tool_choice | string/object | 否 | "auto" | 工具选择策略 |
messages 结构
json
{
"role": "system" | "user" | "assistant" | "tool",
"content": "消息内容"
}
1
2
3
4
支持的 role 类型:
- system :系统提示,设定 AI 角色和行为
- user :用户输入
- assistant :模型回复(多轮对话上下文)
- tool :工具调用返回结果
示例请求(cURL)
bash
curl -X POST "https://api.oneinai.com/v1/chat/completions" \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer sk-xxxx" \\
-d '{
"model": "claude-sonnet-4-20250514",
"messages": [
{
"role": "system",
"content": "你是一个有帮助的AI助手。"
},
{
"role": "user",
"content": "你好,请介绍一下自己。"
}
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
示例请求(Python)
python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxx",
base_url="https://api.oneinai.com/v1"
)
response = client.chat.completions.create(
model="claude-sonnet-4-20250514",
messages=[
{"role": "system", "content": "你是一个有帮助的AI助手。"},
{"role": "user", "content": "你好,请介绍一下自己。"}
],
temperature=0.7,
max_tokens=1024
)
print(response.choices[0].message.content)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
示例请求(Node.js)
javascript
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-xxxx',
baseURL: 'https://api.oneinai.com/v1',
});
const response = await client.chat.completions.create({
model: 'claude-sonnet-4-20250514',
messages: [
{ role: 'system', content: '你是一个有帮助的AI助手。' },
{ role: 'user', content: '你好,请介绍一下自己。' },
],
temperature: 0.7,
max_tokens: 1024,
});
console.log(response.choices[0].message.content);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
响应格式(非流式)
json
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1677858242,
"model": "claude-sonnet-4-20250514",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是一个AI助手,很高兴为你服务。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 18,
"total_tokens": 46
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
流式响应(stream=true)
采用 Server-Sent Events (SSE) 格式,每行以 data: 开头,最后以 data: [DONE] 结束。
json
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1690000000,"model":"claude-sonnet-4-20250514","choices":[{"index":0,"delta":{"role":"assistant","content":"你"},"finish_reason":null}]}
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1690000000,"model":"claude-sonnet-4-20250514","choices":[{"index":0,"delta":{"content":"好"},"finish_reason":null}]}
data: [DONE]
1
2
3
4
5
文本嵌入
文本嵌入向量生成接口,用于语义搜索、文本相似度计算等场景。
请求
POST https://api.oneinai.com/v1/embeddings
1
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 嵌入模型名称 |
| input | string/array | 是 | 待嵌入的文本或文本数组 |
| encoding_format | string | 否 | 返回格式,float 或 base64 |
示例
bash
curl -X POST "https://api.oneinai.com/v1/embeddings" \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer sk-xxxx" \\
-d '{
"model": "text-embedding-3-small",
"input": "你好世界"
}'
1
2
3
4
5
6
7
响应
json
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.0023, -0.0094, 0.0156, ...]
}
],
"model": "text-embedding-3-small",
"usage": {
"prompt_tokens": 4,
"total_tokens": 4
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
图像生成
AI 图像生成接口。
请求
POST https://api.oneinai.com/v1/images/generations
1
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 图像模型名称 |
| prompt | string | 是 | 图像描述文本 |
| n | integer | 否 | 生成图片数量,默认 1 |
| size | string | 否 | 图片尺寸,如 1024x1024 |
| response_format | string | 否 | 返回格式,url 或 b64_json |
示例
bash
curl -X POST "https://api.oneinai.com/v1/images/generations" \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer sk-xxxx" \\
-d '{
"model": "dall-e-3",
"prompt": "一只可爱的猫咪坐在窗台上看雪景",
"n": 1,
"size": "1024x1024"
}'
1
2
3
4
5
6
7
8
9
响应
json
{
"created": 1700000000,
"data": [
{
"url": "https://...",
"revised_prompt": "..."
}
]
}
1
2
3
4
5
6
7
8
9
语音接口
语音转文字 (STT)
POST https://api.oneinai.com/v1/audio/transcriptions
1
文字转语音 (TTS)
POST https://api.oneinai.com/v1/audio/speech
1
TTS 示例
bash
curl -X POST "https://api.oneinai.com/v1/audio/speech" \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer sk-xxxx" \\
-d '{
"model": "tts-1",
"input": "你好,欢迎使用 IkunCode。",
"voice": "alloy"
}' \\
--output speech.mp3
1
2
3
4
5
6
7
8
9
错误码参考
| 状态码 | 错误类型 | 说明 |
|---|---|---|
| 400 | invalid_request_error | 请求参数错误 |
| 401 | authentication_error | API Key 无效或过期 |
| 403 | permission_error | 无权访问该模型 |
| 429 | rate_limit_exceeded | 超过速率限制或余额不足 |
| 500 | internal_server_error | 服务端异常,请稍后重试 |
| 502/504 | gateway_error | 网关超时 |
错误响应格式
json
{
"error": {
"message": "错误详细信息",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
1
2
3
4
5
6
7
使用建议
💡 最佳实践
- system 提示 尽量精简明确,避免过长
- 多轮对话 时完整保留上下文历史
- 生产环境始终设置合理的
max_tokens和temperature - 推荐使用官方 SDK(Python
openai、Node.jsopenai)简化开发 - 不同模型的上下文长度和能力差异较大,请根据需求选择
⚠️ 注意
请将示例中的 sk-xxxx 替换为你的真实 API Key。请勿将 Key 提交到公开代码仓库。