BF API 接入指南

欢迎使用 BF API。我们提供兼容 OpenAI 标准格式的接口,支持 DeepSeek、Kimi、GLM 等主流大模型。本文档将指导您如何快速接入。

基础信息:
Base URL: https://www.baixfan.top/v1
接口协议:HTTP / HTTPS
数据格式:JSON

1. 准备工作

2. 接口说明

目前 BF API 仅支持文本对话(Chat Completion)功能,暂不支持图片生成等其他模型类型。

参数 说明
Endpoint /chat/completions
Method POST
Authorization Header 中传入 Bearer YOUR_API_KEY
Content-Type application/json
关于 Base URL 的特别说明:
标准请求地址为:https://www.baixfan.top/v1/chat/completions
部分客户端可能支持省略 /v1 前缀,即直接使用 https://www.baixfan.top/chat/completions
建议优先使用带 /v1 的标准地址以保证兼容性。

3. 代码调用示例

Python 调用示例

推荐使用 requests 库或 openai SDK 进行调用。

Python (Requests)
import requests
import json

# 配置信息
BASE_URL = "https://www.baixfan.top/v1"
API_KEY = "sk-xxxxxxxxxxxxxxxx" # 替换为你的 Key
MODEL_NAME = "deepseek-v3"      # 替换为你想用的模型,请在模型广场确认

url = f"{BASE_URL}/chat/completions"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}

payload = {
    "model": MODEL_NAME,
    "messages": [
        {"role": "system", "content": "你是一个有用的助手。"},
        {"role": "user", "content": "你好,请介绍一下你自己"}
    ],
    "stream": False  # 是否开启流式输出
}

try:
    response = requests.post(url, headers=headers, json=payload)
    response.raise_for_status() # 检查请求是否成功

    result = response.json()
    print(result['choices'][0]['message']['content'])

except Exception as e:
    print(f"请求失败: {e}")

Python (OpenAI SDK)
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxxxxxxxxxxxxx",  # 替换为你的 Key
    base_url="https://www.baixfan.top/v1" # 注意带上 /v1
)

completion = client.chat.completions.create(
    model="deepseek-v3",
    messages=[
        {"role": "user", "content": "写一首关于春天的诗"}
    ]
)

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

PHP 调用示例

使用 PHP 原生 cURL 进行调用:

PHP (cURL)
<?php
$url = 'https://www.baixfan.top/v1/chat/completions';
$apiKey = 'sk-xxxxxxxxxxxxxxxx'; // 替换为你的 Key

$data = [
    'model' => 'deepseek-v3',
    'messages' => [
        ['role' => 'user', 'content' => '你好']
    ]
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $apiKey
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode === 200) {
    $result = json_decode($response, true);
    echo $result['choices'][0]['message']['content'];
} else {
    echo "Error: " . $response;
}
?>