Gateway Protocols多标准协议兼容
OpenAIAnthropicGeminiOpenRouter
Chat / Responses / Messages / Claude MessagesBase URL
https://api.4stoken.cn鉴权方式
Authorization: Bearer sk-...计费入口
模型与价格实时展示交互式调用示例
POST /v1/chat/completions Base URL:https://api.4stoken.cn · 将 YOUR_API_KEY 替换为 Portal Client Key (sk-...)
本 Tab 支持stream
stream是否 SSE 流式返回(仅 Chat)
false(一次性 JSON)
max_tokens生成 token 上限
user message对话用户消息 content
curl -X POST 'https://api.4stoken.cn/v1/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
--data-raw '{"model":"your-model-code","messages":[{"role":"user","content":"Hello"}],"max_tokens":1024,"stream":false}'使用指南
展开查看鉴权、计费与扩展能力说明;接口参数与示例代码请用下方左侧导航切换。
鉴权
所有请求须携带 Header:Authorization: Bearer sk-...(在 Client Key 页创建,OpenAI 标准格式;历史 Key 可能为 sk-gw-...)。
Base URL
当前环境:
https://api.4stoken.cn与 Portal 文档引导接口返回一致;生产示例见模型与价格页。
计费
- 按 Token:输入 / 输出分别计价(见 模型与价格)
- 按次:图片等按调用次数
- 仅 HTTP 2xx 且业务成功后扣费;失败释放预扣
生图(OpenAI 标准接口)
- 文生图(OpenAI 标准):
POST /v1/images/generations,JSON 仅prompt等;禁止image_urls(返回 400) - 图生图 / 关联生图(OpenAI 标准):
POST /v1/images/edits,multipart/form-data上传image(可多张),不传 mask;Grsai 线路在网关内适配为上游generations + image[] - 局部重绘(mask):同上
edits并上传mask;仅image_mask_enable=1线路(如 Rivo)。Grsai 对mask返回 400 - 同步出图(默认):不传
async、无callbackUrl;HTTP 单次等待{ created, taskId, task_id, data[].b64_json },taskId为返回给下游查询用的网关任务 ID - 异步出图:
async=true或callbackUrl→ 立即{ taskId, task_id, status: pending },轮询GET /v1/images/tasks/{taskId} - 异步终态:任务完成后默认返回
{ created, taskId, task_id, data[].url };若任务仍在处理中,仅返回taskId、task_id与status - 任务执行:客户端异步是 Gateway 侧任务能力;上游同步/异步差异由 Gateway 内部适配
视频生成(Seedance 官方协议)
- 提交任务:
POST /v1/videos,JSON 使用 Seedance 官方兼容字段,例如prompt、duration、aspect_ratio、resolution、image_url、reference_images。 - 任务查询:提交后返回 Gateway 本地
vid-...,轮询GET /v1/videos/{taskId};查询也兼容部分上游任务 ID。 - 异步控制:
async=true或callbackUrl为 Gateway 扩展字段,只控制下游交互,不透传到 Seedance 官方上游。 - 成功结果:任务完成后按官方对外格式返回
{ task_id, taskId, status, data[].video_url };若上游返回临时链接,Gateway 会先上传到 COS,再保存并返回我们的 COS URL。 - 统一链路:视频任务与异步图片共用网关任务模板、COS 写入/读取逻辑和 callbackUrl 投递语义。
流式
POST /v1/chat/completions 设 "stream": true 时返回 SSE(text/event-stream)。
- 响应为多条
data: {"object":"chat.completion.chunk",...},末尾data: [DONE] - 网关对上游 chunk 原样转发(保留上游
id、model及finish_reason:null等字段) - 流式响应中不包含计费字段
billing;控制台请求日志中的response_body为台账 JSON,不能用来判断客户端实际收到的 SSE - 可用
stream_options: {"include_usage": true},usage chunk 由上游原样透出
媒体 Webhook 回调通知(网关扩展)
POST /v1/images/generations、/v1/images/edits、/v1/videos 支持 callbackUrl 异步任务回传。
- 请求方式:网关向调用方传入的
callbackUrl发起POST,Body 为 JSON。 - 触发时机:图片 / 视频任务提交后接口立即返回
task_id;任务成功后投递,不等待回调接收方处理完成。 - 请求体:与对应任务查询成功响应一致,图片为
GET /v1/images/tasks/{taskId},视频为GET /v1/videos/{taskId};顶层包含task_id、taskId、status、data、usage等字段。 - 幂等建议:接收方使用
task_id去重;重复收到同一请求时返回成功即可。 - 接收约定:建议返回 HTTP 2xx 表示接收成功;非 2xx、超时或网络错误可能被视为投递失败。
- 安全建议:使用 HTTPS 私有回调地址,并在业务侧校验来源、路径随机串或自定义 token。
{ "created": 1710000000, "task_id": "vid-xxx", "taskId": "vid-xxx", "status": "succeeded", "data": [{ "video_url": "https://cos.example.com/gateway/video/result.mp4" }], "error": null }错误格式
标准接口失败时返回 JSON:
{ "error": { "message": "...", "type": "...", "code": "..." } }- 编辑器接入总览前置条件、19 个工具入口、三类接入目录、模型命名规则与 API 端点对照。
- Cursor 接入半自动向导、Override Base URL、Add Custom Model(spt-*)配置步骤。
- Claude Code 接入一键脚本、/v1/messages、sonnet/opus/haiku 模型映射与验证。
- Codex CLI 配置wire_api=responses、config.toml 写入与 openrouter-free profile。
- Codex Desktop 接入客户端内 Base URL、API Key 与模型配置;不需要 Node.js。
使用 Claude Code / Codex / Cursor? 前往编程工具接入 → · 需要完整 Schema?
Reference Index
接口目录
按协议与能力拆分查看请求格式、参数表、响应结构与错误码。
