跳到主要内容

API 手册

OpenFDE 提供统一的 OpenAI-compatible 网关。模型、权限、价格和渠道是动态配置,接入前请用当前令牌调用 GET /v1/models,不要依赖旧教程中的固定模型名。

基础信息​

  • Base URL:https://api.openfde.work/v1
  • 认证:Authorization: Bearer YOUR_API_KEY
  • 请求格式:application/json
  • 编码:UTF-8

当前支持的公共入口​

能力方法与路径说明
模型列表GET /v1/models返回当前令牌实际可见模型。
对话POST /v1/chat/completions通用文本、多轮和部分多模态调用。
ResponsesPOST /v1/responses仅限实现了 Responses 适配的模型/渠道。
文本补全POST /v1/completions兼容旧客户端;新项目使用 Chat Completions。
图像生成POST /v1/images/generations同步生成。
图像编辑POST /v1/images/edits需要模型和渠道支持。
图像异步任务POST /v1/images/generations/tasks、POST /v1/images/edits/tasks提交后用 /v1/images/tasks/{task_id} 查询。
EmbeddingsPOST /v1/embeddings只有配置了可用 embedding 模型时才能调用。
音频POST /v1/audio/transcriptions、/translations、/speech取决于令牌和渠道。
ModerationsPOST /v1/moderations取决于当前审核渠道。
视频生成POST /v1/video/generations 或 POST /v1/videos异步任务;具体模型决定请求格式。

微调、Files 管理、组织管理和计费管理不属于公共 Relay API。

最小对话请求​

curl https://api.openfde.work/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-sol",
"messages": [{"role": "user", "content": "你好"}],
"max_completion_tokens": 256
}'

OpenAI SDK​

from openai import OpenAI

client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.openfde.work/v1",
)

models = client.models.list()
print([m.id for m in models.data])

response = client.chat.completions.create(
model="gpt-6-sol",
messages=[{"role": "user", "content": "你好"}],
max_completion_tokens=256,
)
print(response.choices[0].message.content)

参数兼容边界​

平台请求 DTO 仍接收 max_tokens、max_completion_tokens、temperature、top_p、top_k、stop、tools、tool_choice、response_format、reasoning_effort 等 OpenAI 字段,但每个渠道会按自身能力处理。新项目优先使用 max_completion_tokens 和 tools;不要把旧的 functions、function_call、固定温度范围或厂商私有字段当作所有模型都支持。

模型与权限​

模型列表会按令牌白名单、分组、企业等级、IP 白名单、价格配置和渠道健康状态过滤。遇到 model_not_found 时:

  1. 重新查询 GET /v1/models。
  2. 检查模型 ID 大小写和完整版本后缀。
  3. 检查令牌的模型白名单、分组和外部访问权限。
  4. 检查目标模型是否真的有可用渠道。

流式输出​

Chat Completions 设置 stream: true 后返回 SSE,客户端逐行解析 data:,收到 data: [DONE] 后结束。推理模型可能在 reasoning_content 中返回推理片段;输出上限过小时可能先达到 length。

错误处理​

常见 HTTP 状态码为 400(参数错误)、401(认证失败)、403(权限限制)、429(额度/限流)、500(平台错误)和 503(无可用渠道)。排查时保留 HTTP 状态码、响应中的错误码和请求 ID。