跳到主要内容

提供商目录

OpenAI GPT API 指南

通过共享的客户 chat-completion 端点,使用当前已公布的 OpenAI GPT 模型标识符和服务可用性信息。

操作流程
  1. 选择 API 产品区分推理请求与模型训练工作流程。
  2. 阅读接口约定查看对应的 API 文档和 OpenAPI 参考。
  3. 创建受限密钥生成并妥善保管客户 API 密钥。
  4. 集成并验证发送文档说明的请求并检查响应。
  5. 监控并轮换密钥查看用量,并在适当时撤销或轮换密钥。

已公布的 OpenAI GPT 模型

如果已启用模型注册表,此处会列出模型名称、准确的路由标识符、版本和推理状态。标识符为空表示目录尚未公布路由值;不要根据模型名称自行推导。

开发者
OpenAI
新客户访问权限
可用
模型名称准确的模型标识符版本推理状态
Astra 6 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-6.1 Sol gpt-6.1-sol — 活动中 · 可用于推理
GPT-6.1 Terra gpt-6.1-terra — 活动中 · 可用于推理
GPT-6 Luna gpt-6-luna — 活动中 · 可用于推理
GPT-5.6 Sol 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-5.6 Terra 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-5.6 Luna 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-5.5 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-5.4 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-5.4 mini 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。
GPT-5.4 nano 尚未公布路由标识符 — 缺少公开路由标识符,暂无法确认该模型是否支持直接调用。

使用此提供商

  • 请使用准确的模型标识符进行选择,并在配置应用前确认模型状态。显示名称供人识别;model 字段只能使用标识符。
  • 每个提供商页面都提供兼容 OpenAI 和 Claude Messages 的示例。请选择客户端使用的协议;所选模型也必须支持请求的功能。
  • 如果服务仅限现有客户,请保留现有账户访问权限;不要将已公布的模型列表视为开通新订阅的邀请。

模型 API 示例

选择已发布的模型标识符、API 协议和语言,以查看请求示例。请仅在可信服务器上保存客户 API 密钥。

协议要求

兼容 OpenAI 的请求使用 POST /chat/completions,并发送到配置的客户 API 基础 URL(默认值为 https://fusionpointai.com/api/v1)。使用具有推理权限的客户密钥,通过 Authorization: Bearer 进行身份验证。完整默认 URL 为 https://fusionpointai.com/api/v1/chat/completions。

支持的功能

当前兼容 OpenAI 的聊天端点支持同步文本消息,不支持流式传输和工具调用。

安装客户端

Python 和 Node.js 客户端是两个独立的软件包,请分别安装:

Python: pip install openai anthropic

Node.js: npm install openai @anthropic-ai/sdk

cURL
curl 'https://fusionpointai.com/api/v1/chat/completions' \
  -H "Authorization: Bearer $FUSIONPOINTAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "gpt-6.1-sol",
    "messages": [
        {
            "role": "user",
            "content": "Summarize this in one sentence."
        }
    ],
    "temperature": 0.7,
    "max_tokens": 300
}'

请求模式

安全配置 API 密钥

创建具有推理权限的客户 API 密钥,并通过密钥管理器或环境变量将其提供给服务器进程。

  1. 在服务器环境中设置 FUSIONPOINTAI_API_KEY;不要将密钥嵌入浏览器代码或提交到源代码仓库。
  2. 使用 HTTPS,并将密钥限制为应用所需的账户和推理权限。
  3. 从日志、追踪记录和支持请求中删去 Authorization 和 x-api-key 标头;如果密钥可能已泄露,请立即撤销。
Bash
export FUSIONPOINTAI_API_KEY="YOUR_CUSTOMER_API_KEY"

选择准确的模型标识符

模型字段用于路由请求,不是展示名称。请选择在线模型目录中发布的标识符。

  1. 选择已启用且标记为可用于推理的模型或旧版模型。
  2. 准确复制模型标识符,包括标点和版本后缀;不要根据模型名称自行推测 ID。
  3. 如果尚未发布标识符,请等待模型目录提供,而不要填写猜测值。
Python
model_id = "gpt-6.1-sol"
# Use this exact identifier with either protocol.

发送系统消息和多轮对话

请按原有顺序保留对话轮次,并仅使用所选协议和模型支持的角色及内容格式。

  1. 对于兼容 OpenAI 的请求,请按顺序发送 system、user 和 assistant 消息,并使用字符串作为内容。
  2. 对于 Claude Messages,请在协议原生字段中发送受支持的 system 指令以及按顺序排列的 user/assistant 轮次。
  3. 仅保留应用需要的对话上下文,并遵守所选模型的上下文长度限制。
Python
response = client.messages.create(
    model="gpt-6.1-sol",
    max_tokens=512,
    system="Answer in clear, concise German.",
    messages=[
        {"role": "user", "content": "What is an API?"},
        {"role": "assistant", "content": "An API lets software exchange requests and responses."},
        {"role": "user", "content": "Give a practical example."},
    ],
)
for block in response.content:
    if block.type == "text":
        print(block.text)

请求 JSON 响应

如果应用需要结构化输出,请先根据应用自身的 schema 校验响应,再使用其中的数据。

  1. 使用所选协议和上游模型支持的结构化输出控制项。
  2. 将生成的 JSON 视为不可信输入:解析并校验必需字段和类型,同时妥善处理无效输出。
  3. 除非模型文档明确说明支持,否则不要假定模型与协议的组合支持 JSON 模式。
Python
import json

# JSON is generated content, not trusted application input.
response = client.messages.create(
    model="gpt-6.1-sol", max_tokens=256,
    messages=[{"role": "user", "content": 'Return only JSON with a string field named "summary". Explain an API in one sentence.'}],
)
text = "".join(block.text for block in response.content if block.type == "text")
try:
    result = json.loads(text)
    if not isinstance(result, dict) or not isinstance(result.get("summary"), str):
        raise ValueError("Unexpected response schema")
    print(result["summary"])
except (json.JSONDecodeError, ValueError) as error:
    print("Handle invalid model output:", error)

接收实时 SSE 输出

流式传输行为取决于所选协议和上游模型;普通 JSON 响应并非流。

  1. 当前兼容 OpenAI 的聊天接口仅返回同步文本,不提供流式传输。
  2. 对于 Claude Messages,如果所选上游模型支持流式传输,请启用 stream 模式;代理会转发原生服务器发送事件。
  3. 逐步处理事件,在完成或出错时妥善停止;不要把部分输出当作完整答案。
Python
# client is the Anthropic client configured above.
with client.messages.stream(
    model="gpt-6.1-sol", max_tokens=512,
    messages=[{"role": "user", "content": "Explain API authentication."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
    final_message = stream.get_final_message()
print("\nStop reason:", final_message.stop_reason)

处理工具、内容块和错误

保留协议原生结构,并明确规定应用对工具调用、多模态内容和失败情况的处理方式。

  1. 当前兼容 OpenAI 的聊天接口既不支持工具调用,也不支持非文本内容块。
  2. 如果所选上游模型支持,Claude 会保留原生内容块以及工具使用/结果数据;执行前请校验工具名称和参数。
  3. 检查 HTTP 状态码和响应正文,区分身份验证、权限、校验和速率限制错误,并通过退避策略重试临时性错误。
Python
import json
from datetime import datetime, timezone
from anthropic import APIError

messages = [{"role": "user", "content": "What time is it in UTC?"}]
tools = [{
    "name": "current_utc_time", "description": "Read the current UTC time.",
    "input_schema": {"type": "object", "properties": {}, "additionalProperties": False},
}]
try:
    reply = client.messages.create(model="gpt-6.1-sol", max_tokens=256, messages=messages, tools=tools)
    results = []
    for block in reply.content:
        if block.type == "tool_use":
            if block.name != "current_utc_time" or block.input != {}:
                raise ValueError("Unapproved tool request")
            results.append({"type": "tool_result", "tool_use_id": block.id,
                            "content": json.dumps({"utc": datetime.now(timezone.utc).isoformat()})})
    if results:
        messages.append({"role": "assistant", "content": reply.content})
        messages.append({"role": "user", "content": results})
        reply = client.messages.create(model="gpt-6.1-sol", max_tokens=256, messages=messages, tools=tools)
    print("".join(block.text for block in reply.content if block.type == "text"))
except APIError as error:
    # Log status only; never log keys or private prompts.
    print("API request failed:", getattr(error, "status_code", None))

常见问题

请求中可以使用模型展示名称吗?

只能使用已发布供推理调用的准确标识符。展示名称不能用于路由;切勿猜测尚未发布的标识符。

客户密钥应放在哪个环境变量中?

两个协议都使用 FUSIONPOINTAI_API_KEY。请将其值保存在可信的服务器环境中,不要放入客户端代码或日志。

OpenAI 客户端应使用哪个 URL?

使用配置的客户 API 基础 URL,默认值为 https://fusionpointai.com/api/v1。聊天补全端点还需追加 /chat/completions。

为什么 Claude SDK 的基础 URL 与 cURL 不同?

Anthropic SDK 会追加 /v1/messages,因此其基础 URL 应设为 https://fusionpointai.com/api。直接发送 HTTP 请求时则使用完整的 /api/v1/messages URL。

兼容 OpenAI 的聊天接口支持流式传输或工具吗?

不支持。当前端点仅支持同步文本消息,不提供流式传输和工具调用。

是否保证所有 Claude 模型都支持内容块、工具或流式传输?

不保证。只有在所选上游模型支持时,才会保留这些原生功能。请查看该模型的能力说明,并妥善处理不受支持的请求。

Claude Messages · POST /messages

Claude Messages 请求使用 POST /api/v1/messages。请将客户密钥放在 x-api-key 中,并将 anthropic-version 设为 2023-06-01。Anthropic SDK 的基础 URL 为 https://fusionpointai.com/api,因为 SDK 会追加 /v1/messages;也支持 Bearer 身份验证。

Claude Messages 代理会保留原生内容块、工具数据以及真实的服务器发送事件(SSE)流式传输(前提是所选上游模型支持这些功能)。

字段类型必填限制
model string 是 {"minLength":1,"maxLength":160}
max_tokens integer 是 {"minimum":1,"maximum":100000}
messages array 是 {"minItems":1,"maxItems":100,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","maxLength":80}},"additionalProperties":true}}]}}}}
system string | array 否 {"oneOf":[{"type":"string"},{"type":"array","items":{"type":"object","required":["type","text"],"properties":{"type":{"const":"text"},"text":{"type":"string"}},"additionalProperties":true}}]}
stream boolean 否 {"default":false}
temperature number 否 {"minimum":0,"maximum":1}
top_p number 否 {"minimum":0,"maximum":1}
top_k integer 否 {"minimum":0,"maximum":100000}
stop_sequences array 否 {"items":{"type":"string"}}
tools array 否 {"items":{"type":"object","additionalProperties":true}}
tool_choice object 否 {"additionalProperties":true}
thinking object 否 {"additionalProperties":true}
metadata object 否 {"additionalProperties":true}
output_config object 否 {"additionalProperties":true}
service_tier string 否 []
Claude Messages · 示例
{
    "id": "msg_example",
    "type": "message",
    "role": "assistant",
    "model": "gpt-6.1-sol",
    "content": [
        {
            "type": "text",
            "text": "A concise answer to the supplied question."
        }
    ],
    "stop_reason": "end_turn",
    "stop_sequence": null,
    "usage": {
        "input_tokens": 12,
        "output_tokens": 10
    }
}
{"type":"error","error":{"type":"authentication_error","message":"Invalid or missing API key."}}

发送第一个请求

通过 HTTPS 向下方的基础 URL 发送请求。兼容 OpenAI 的文本聊天使用 POST /chat/completions;Claude Messages 使用 POST /messages。请在模型工作台中选择协议,并使用对应的准确 URL 和 JSON 格式。

API 基础 URL: https://fusionpointai.com/api/v1

请在账户的 API 密钥设置中创建或管理客户 API 密钥。将其作为 bearer token 发送,并保存在可信服务器上;不要放入浏览器代码、源代码库或公开日志。

密钥需要 ai:inference 权限范围,并且账户须有权访问相应的客户订阅。公开 API 密钥不是账户密码,切勿分享。

以下示例使用已注册的 JSON chat-completion 端点,以及兼容 OpenAI 的 Python 和 Node.js 客户端。请将密钥存放在 FUSIONPOINTAI_API_KEY 环境变量中。只有在上述目录中找到准确标识符后,才能替换 model 的值。

Shell
# Install the client for your application language.
# Python:
python -m pip install openai
# Node.js:
npm install openai

# Bash: enter the key without storing it in shell history.
read -rs -p 'FusionPointAI API key: ' FUSIONPOINTAI_API_KEY
export FUSIONPOINTAI_API_KEY
printf '\n'
# After finishing:
# unset FUSIONPOINTAI_API_KEY
cURL — 示例
curl 'https://fusionpointai.com/api/v1/chat/completions' \
  -H "Authorization: Bearer $FUSIONPOINTAI_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
    "model": "gpt-6.1-sol",
    "messages": [
        {
            "role": "user",
            "content": "Summarize this in one sentence."
        }
    ],
    "temperature": 0.7,
    "max_tokens": 300
}'
Python — 示例
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["FUSIONPOINTAI_API_KEY"],
    base_url="https://fusionpointai.com/api/v1",
)

response = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "Summarize this in one sentence."}],
    temperature=0.7,
    max_tokens=300,
)
print(response.choices[0].message.content)
Node.js — 示例
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.FUSIONPOINTAI_API_KEY,
  baseURL: "https://fusionpointai.com/api/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-6.1-sol",
  messages: [{ role: "user", content: "Summarize this in one sentence." }],
  temperature: 0.7,
  max_tokens: 300,
});
console.log(response.choices[0].message.content);

OpenAI · 请求与响应约定

此端点接收 JSON。消息按顺序发送;每条消息均须包含受支持的角色和字符串内容。可选生成控制参数必须符合下方的验证范围。响应为 JSON chat.completion 对象,包含 choices;提供商返回用量信息时还会包含 token 用量。

字段类型必填限制
modelstring是字符串,最多 160 个字符;请使用已公布的标识符。
messagesarray是包含 1 至 100 条消息的数组。
messages[].rolestring是每条消息的角色为 system、user 或 assistant。
messages[].contentstring是每条消息的 content 均为字符串,最多 100,000 个字符。
temperaturenumber否可选数值,范围为 0 至 2。
max_tokensinteger否可选整数,范围为 1 至 100,000;所选模型的输出上限可能更低。

响应结构

成功响应包含 id、object(chat.completion)、created、model 和 choices。每个 choice 包含 index、assistant 消息和 finish_reason。响应还可能包含 token 数量统计。即使请求通过网关验证,仍可能受提供商特定限制约束。

示例 · JSON
{
    "id": "chatcmpl_example",
    "object": "chat.completion",
    "created": 1700000000,
    "model": "gpt-6.1-sol",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "A concise summary of the supplied text."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 12,
        "completion_tokens": 10,
        "total_tokens": 22
    }
}

访问权限、限制与安全操作

实时客户订阅不会按配额限制请求次数或 token 用量;沙盒密钥受其已公布的月度额度限制。此处的订阅说明与模型及上游技术限制无关。

  • 模型上下文窗口、最大输出长度、支持的请求功能和临时上游流量控制各不相同。发送生产流量前,请查看提供商和模型信息。
  • 此端点针对每个适用的限流身份,每分钟最多处理 60 个请求。HTTP 429 也可能表示触发了临时上游流量控制;请采用退避策略重试,不要密集循环重试。
  • 请使用 HTTPS,在服务器端保管密钥,并仅授予所需的推理权限。如果密钥可能已泄露,请立即撤销。
  • Chat Completions 支持同步文本。Claude Messages 可根据所选模型的能力,单独支持原生内容块、工具和 SSE。此处的接口约定不包括其他提供商端点。

提供商访问与账户要求

请使用具有 ai:inference 权限范围的客户 API 密钥进行身份验证,并确保该密钥所属账户有权访问此服务。目录会标明目前是否允许新客户使用,但不会因此授予访问权、创建订阅或覆盖账户及密钥权限。

错误与故障排查

端点以 JSON 错误对象返回验证失败和不可用的提供商结果,其中包含 message、type 和 code;验证失败时还可能包含字段详情。请勿在支持工单中提供 API 密钥或私人提示词内容。

chat 操作返回的请求验证错误和提供商故障采用 error 对象。身份验证、权限范围及限流中间件也可能改为返回顶层 message 字段。请结合状态码和响应体进行判断。

HTTP 状态码含义及后续操作
400请求体无效。请检查必填字段、消息数量和内容、角色取值、temperature 及 max_tokens。
401缺少 bearer 密钥或密钥无效。请确认密钥处于有效状态,并已通过 Authorization 请求标头发送。
403密钥可能缺少所需的推理权限,或账户没有访问权限。请检查密钥权限和订阅访问权。
429请求触发了限流或上游流量控制。请降低请求频率,并采用指数退避策略重试。
500提供商未返回可用的 completion,或服务发生故障。请谨慎重试;联系支持团队时,提供时间戳和已删除敏感信息的请求标识符。

常见问题

可以将显示名称用作模型标识符吗?

只有当完全相同的字符串另行公布为路由标识符时才可以。请使用标识符列;如果该列为空,表示此处尚未公布路由值。

可以使用 Claude SDK 吗?

可以。在模型工作台中选择 Claude,并使用页面所示基础 URL 配置 Anthropic SDK。它发送原生 Messages 请求,而非 Chat Completions。具体能力仍取决于所选模型。

为什么已列出的模型仍可能无法使用?

模型可能暂不可用;您的账户或密钥可能尚未获得访问权限;也可能触发上游技术限制。请检查状态、标识符、密钥权限范围和错误响应。

提交支持请求时应包含哪些信息?

请提供提供商、准确的模型标识符、请求时间、HTTP 状态码,以及已删除敏感信息的请求 ID。请删除 API 密钥和敏感提示词内容。