📖 API 文档

SevenFa AI Hub 提供统一的 OpenAI 兼容 API 接口。使用标准 OpenAI SDK 或直接 HTTP 请求调用 630+ 模型。

Base URL: https://ne.07fa.cc/api/sevenfa/v1

🚀 快速开始

使用 API Key 在 1 分钟内完成首次调用。

前置条件

  • 注册 SevenFa 账号并登录
  • 在控制台创建 API Key(以 sk- 开头)
  • 确保账户余额充足

cURL

curl
curl https://ne.07fa.cc/api/sevenfa/v1/chat/completions \
  -H "Authorization: Bearer *** \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {"role": "system", "content": "你是一个有用的助手"},
      {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'

Python

Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-key",
    base_url="https://ne.07fa.cc/api/sevenfa/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个有用的助手"},
        {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
    temperature=0.7,
    max_tokens=1024
)

print(response.choices[0].message.content)

JavaScript

JavaScript
const response = await fetch("https://ne.07fa.cc/api/sevenfa/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk-your-key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "gpt-4o",
    messages: [
      { role: "system", content: "你是一个有用的助手" },
      { role: "user", content: "你好,请介绍一下你自己" }
    ],
    temperature: 0.7,
    max_tokens: 1024
  })
});

const data = await response.json();
console.log(data.choices[0].message.content);

🔐 API 认证

所有 API 请求都需要提供有效的认证凭证。支持两种认证方式。

1. Bearer Token(推荐)

Header
Authorization: Bearer ***
      

2. X-Auth-Token

用于管理端 API(密钥管理、用户信息等)。

Header
X-Auth-Token: your-user-token
⚠️ 注意: Bearer Token 用于模型调用 API(兼容 OpenAI 格式)。X-Auth-Token 用于用户管理 API。请勿混用或泄露密钥。

→ 前往控制台创建密钥

📋 模型列表

获取平台支持的所有模型。响应包含模型 ID、渠道、价格等信息。

GET /models 获取模型列表

请求参数

参数类型说明
typestring opt筛选:chat / image / embedding / audio

响应示例

{ "success": true, "data": [ { "id": "gpt-4o", "type": "chat", "pricing": {"input": 2.5, "output": 10.0}, "channels": ["OpenAI", "Azure"], "is_active": true } ] }

💬 聊天补全

兼容 OpenAI Chat API 格式,支持流式和非流式输出。

POST /chat/completions 创建聊天补全

请求参数

参数类型说明
modelstring req模型 ID(gpt-4o, claude-sonnet-4 等)
messagesarray req消息数组,支持 system/user/assistant/tool
temperaturenumber opt采样温度 (0-2),默认 1
max_tokensinteger opt最大生成 Token 数
streamboolean opt流式输出,默认 false
top_pnumber opt核采样 (0-1)

请求示例

JSON
{
  "model": "gpt-4o",
  "messages": [
    {"role": "system", "content": "你是一个有用的助手"},
    {"role": "user", "content": "用中文回答:什么是 AI?"}
  ],
  "temperature": 0.7,
  "max_tokens": 1024,
  "stream": false
}

响应示例

{ "id": "chatcmpl-9x...", "object": "chat.completion", "model": "gpt-4o", "choices": [{ "index": 0, "message": {"role": "assistant", "content": "AI(人工智能)是指..."}, "finish_reason": "stop" }], "usage": {"prompt_tokens": 28, "completion_tokens": 156, "total_tokens": 184} }

流式输出(Streaming)

设置 stream: true 启用 SSE 流式输出。

Python
stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "讲个笑话"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

🎨 图像生成

根据文本描述生成图像,支持 DALL-E、Stable Diffusion 等。

POST /images/generations 生成图像

请求参数

参数类型说明
modelstring req模型 ID(dall-e-3 等)
promptstring req图像描述
ninteger opt数量,默认 1
sizestring opt尺寸(1024x1024 等)
qualitystring opt质量:standard / hd

代码示例

cURL
curl https://ne.07fa.cc/api/sevenfa/v1/images/generations \
  -H "Authorization: Bearer *** \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dall-e-3",
    "prompt": "一只穿着宇航服的熊猫在月球上打太极",
    "n": 1,
    "size": "1024x1024"
  }'

响应格式

{ "created": 1738123456, "data": [{ "url": "https://ne.07fa.cc/storage/images/abc123.png" }] }

📐 嵌入向量

将文本转换为向量表示,适用于语义搜索、聚类、分类等。

POST /embeddings 创建嵌入向量

请求参数

参数类型说明
modelstring req嵌入模型(text-embedding-3-small 等)
inputstring | array req输入文本

代码示例

Python
response = client.embeddings.create(
    model="text-embedding-3-small",
    input="SevenFa AI Hub 是一个优秀的AI聚合平台"
)

embedding = response.data[0].embedding
print(f"向量维度: {len(embedding)}")

🎤 音频转写

将音频文件转写为文字,支持多语种识别。

POST /audio/transcriptions 音频转写

请求参数

参数类型说明
filefile req音频文件(multipart/form-data)
modelstring req模型 ID(whisper-1)
languagestring opt语言代码(zh, en)

代码示例

Python
with open("audio.mp3", "rb") as f:
    response = client.audio.transcriptions.create(
        model="whisper-1",
        file=f,
        language="zh"
    )

print(response.text)

翻译接口:POST /audio/translations(参数相同,自动翻译为英文)

⚠️ 错误码

API 返回标准 HTTP 状态码,错误响应格式统一。

错误响应格式:
{"success": false, "message": "错误描述", "code": "ERROR_CODE"}
状态码错误码说明解决方法
400INVALID_REQUEST请求参数错误检查请求参数
401UNAUTHORIZEDAPI Key 无效或缺失检查 Authorization Header
402INSUFFICIENT_BALANCE余额不足前往控制台充值
403FORBIDDEN无权访问检查 Key 权限
404MODEL_NOT_FOUND模型不存在检查模型 ID
429RATE_LIMITED请求频率超限稍后重试
500INTERNAL_ERROR服务器内部错误联系技术支持
502UPSTREAM_ERROR上游渠道异常系统自动切换渠道
💡 提示: 遇到 502 错误时,系统会自动尝试其他可用渠道。您也可以切换模型或稍后重试。