Skip to content

AI 模型接口文档

IkunCode API 兼容 OpenAI 接口协议,一个 Key 即可调用 Claude、GPT、Gemini、DeepSeek 等主流模型。

接口基础信息

项目说明
Base URLhttps://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

请求参数

参数类型必填默认值说明
modelstring-模型名称,如 claude-sonnet-4-20250514
messagesarray-对话消息列表
temperaturenumber1.0采样温度,0~2,越低越确定
top_pnumber1.0核采样参数,0~1
max_tokensinteger4096最大生成 token 数
streambooleanfalse是否启用流式输出
presence_penaltynumber0存在惩罚,-2.0~2.0
frequency_penaltynumber0频率惩罚,-2.0~2.0
stoparray/stringnull停止序列
toolsarraynull工具/函数调用定义
tool_choicestring/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

请求参数

参数类型必填说明
modelstring嵌入模型名称
inputstring/array待嵌入的文本或文本数组
encoding_formatstring返回格式,floatbase64

示例

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

请求参数

参数类型必填说明
modelstring图像模型名称
promptstring图像描述文本
ninteger生成图片数量,默认 1
sizestring图片尺寸,如 1024x1024
response_formatstring返回格式,urlb64_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

错误码参考

状态码错误类型说明
400invalid_request_error请求参数错误
401authentication_errorAPI Key 无效或过期
403permission_error无权访问该模型
429rate_limit_exceeded超过速率限制或余额不足
500internal_server_error服务端异常,请稍后重试
502/504gateway_error网关超时

错误响应格式

json

{
  "error": {
    "message": "错误详细信息",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

1
2
3
4
5
6
7

使用建议

💡 最佳实践

  • system 提示 尽量精简明确,避免过长
  • 多轮对话 时完整保留上下文历史
  • 生产环境始终设置合理的 max_tokenstemperature
  • 推荐使用官方 SDK(Python openai、Node.js openai)简化开发
  • 不同模型的上下文长度和能力差异较大,请根据需求选择

⚠️ 注意

请将示例中的 sk-xxxx 替换为你的真实 API Key。请勿将 Key 提交到公开代码仓库。