base URL 和身份验证
我们的 API 遵循标准的 OpenAI chat-completions 接口。要集成,请使用我们特定的 base URL 和有效的 codex api 密钥更新客户端配置。该密钥在仪表板的注册过程中生成。该接口接受标准和流式输出请求,使其成为大多数期望 OpenAI 兼容结构的编程代理的即插即用替代品。
身份验证依赖于 Authorization 头。将你的密钥包含为 Bearer token。如果你使用代理或自定义代理框架,请确保它尊重标准的 HTTP 头。该服务是独立的;它不通过其他供应商路由或聚合模型。你直接连接到我们的无审查 LLM。
发送 Chat Completion
首先测试一个简单的文本请求。这可以确认你的身份验证和 base URL 是正确的。该接口接受带有 user 或 assistant 等角色的消息列表。模型 ID 始终为 uncensored。此请求返回标准的补全响应。使用此方法在转向复杂提示词之前验证你的代理能否解析 JSON 结构。
确保你的负载保持在 8 MB 主体限制内。支持大上下文窗口,但总 token 数(输入加输出)必须保持在 100,000 token 以下。如果超出这些限制,服务器将返回错误。从小测试开始以确认连接。
curl https://api.getcodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
启用流式输出 (SSE)
对于需要实时 token 生成的编码代理,启用流式输出。在请求体中将 stream 参数设置为 true。服务器返回 Server-Sent Events (SSE) 序列,而不是单个 JSON 对象。每个事件包含响应的部分块。这降低了用户的感知延迟,并允许代理在 token 到达时处理它们。
流式输出不会改变定价或 token 计数。你仍为总的输入和输出 token 付费。在客户端代码中处理 SSE 流以累积最终响应或增量处理。这对于中间结果有用的代码生成非常理想。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
使用函数调用
我们的模型支持 function calling,允许代理执行外部工具。在 tools 参数中定义你的函数。如果模型确定需要函数,它将返回带有 tool call 的响应,而不是纯文本。代理必须解析此响应并执行工具,然后将结果反馈到对话中。
此功能对于需要运行代码、查询数据库或获取实时数据的编码代理至关重要。工具模式遵循标准的 OpenAI 格式。确保代理正确处理模型和你的工具执行逻辑之间的往返。这通过用结构化的工具结果替换原始文本来高效地保持上下文窗口。
from openai import OpenAI
client = OpenAI(base_url="https://api.getcodexapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
查看可用模型
使用 GET /v1/models 接口验证可用模型。此接口返回模型对象列表,包括其 ID 和创建日期。我们的 API 提供单一模型:uncensored。与聚合多个供应商的代理中继不同,我们为一个优化的 LLM 提供专用接口。这确保了行为一致性和可预测的性能,适用于你的编程任务。
查询此接口以确认客户端已连接到正确的服务。它返回标准的元数据字段。你无需手动管理模型选择。客户端只需在所有 chat completions 中请求 uncensored 模型 ID。这简化了集成并避免了路由错误。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.getcodexapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
速率限制和约束
监控你的使用情况以避免中断。API 对每个密钥实施每分钟 300 次请求的限制。如果超出此限制,你将收到 429 Too Many Requests 错误。请求主体大小限制为 8 MB。这些约束确保高吞吐量代理的稳定性能。如果你正在处理大批量数据,请调整客户端的请求频率。
身份验证错误将返回 401 状态码(如果密钥无效)。额度不足将导致 402 状态码。在发送请求前,请确保你的预付余额为正。额度不会过期,因此你可以随时充值。codex api 密钥可以随时重新生成,旧密钥将立即失效。请妥善保管你的密钥。