NayutoAI / Documentation
NayutoAI
接入文档
统一说明账号开通、登录、额度兑换、令牌创建,以及 Codex / Claude Code / OpenClaw / OpenCode 与 OpenAI 兼容 API 的接入方式。
统一接入
OpenAI 兼容客户端统一填写 /v1 Base URL;Claude Code 使用 Anthropic 协议入口,Base URL 不要带 /v1。
额度可视
公开文档会说明额度、兑换码、API Key 与调用排查流程,便于客户快速完成接入与核对。
工具兼容
面向 OpenAI 兼容接入,常见编程客户端和标准 API 调用都可以直接配置。
快速上手
按下面顺序完成账号、额度与令牌配置后,即可像调用 OpenAI 一样直接接入 NayutoAI。
支持的客户端
下列配置段按实际使用场景整理,优先推荐使用 Codex,其余工具也可按对应章节接入。
注册账号
使用邮箱验证码完成自助注册;邀请码选填,密码至少 8 位。
登录并准备额度
登录控制台查看余额和分组;需要时先兑换额度,再创建外部 API Key。
创建令牌
在令牌管理中选择与目标模型匹配的分组,把 Base URL 与完整 API Key 填入客户端或代码。
https://api.nayutoai.online/v1服务健康检查https://www.nayutoai.online/portal/health模型查询https://api.nayutoai.online/v1/modelscurl https://api.nayutoai.online/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "openai/gpt-5.5",
"input": "你好,请返回一句欢迎语。"
}'import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.nayutoai.online/v1",
});
const response = await client.responses.create({
model: "openai/gpt-5.5",
input: "你好",
});
console.log(response.output_text);开通账号
NayutoAI 当前支持邮箱验证码自助注册。填写显示名称、邮箱和密码,完成 6 位邮箱验证码校验后即可创建账户;邀请码为选填项。
注册前准备
请使用能够正常收信的邮箱。验证码用于确认邮箱归属,密码至少 8 位;没有邀请码也可以正常注册。
已经拥有账号
可以直接进入「登录使用」与「获取令牌」章节,不需要重复注册。忘记密码时可在登录页通过绑定邮箱发起重置。
登录使用
登录 NayutoAI 账户页后,可以查看余额、兑换记录、API Key、调用日志和最近用量。
https://www.nayutoai.online额度与余额
NayutoAI 在控制台展示余额、今日消耗、近 30 天消耗和调用日志,并在接口侧按实际用量进行校验。
- 如果收到兑换码,请在控制台的兑换入口完成兑换。
- 余额不足时接口会停止放行,补充余额或兑换成功后即可恢复调用。
- 普通文本模型按 Token 计费;Grok、Gemini 与 nano-banana 等分组可能按次计费,创建 API Key 时以下拉框中的实时分组备注为准。
nano-banana-2与nano-banana-pro当前公开价格均为每次成功生成扣除 $2.00 站内额度,只生成 1 张。gpt-image-2当前按实际输出档位计费:1K 为 $0.10/张、2K 为 $0.20/张、4K 为 $0.40/张。- 本站充值比例为 1:10,因此分组倍率按令牌管理处显示倍率除以 10 计算;例如显示 Plus 倍率 1x,实际倍率为 0.1。
- 模型、分组与价格可能调整;调用前用
GET /v1/models查询当前 Key 可用模型,并以控制台实时价格为准。
获取令牌
只有在令牌管理中创建的外部 API Key 可用于 /v1/* 调用;系统保护令牌、登录态 token 和兑换码都不能直接当外部 API Key 使用。
进入令牌管理
登录控制台后进入令牌管理,创建用于外部 OpenAI 兼容接口的 Key。
选择正确分组
按模型选择对应分组。gpt-image-2 使用 Image 2 对应分组;nano-banana-2/pro 使用 nano-banana 分组,两条生图通道不能混用。
复制并妥善保存
外部调用只使用完整的 sk-... Key。建议按用途命名,例如 codex-local、image2-app、banana-app。
OpenAI 兼容 SDK、脚本或第三方客户端使用 https://api.nayutoai.online/v1;Claude Code 使用不带 /v1 的 https://api.nayutoai.online。创建 Key 后先调用 GET /v1/models,确认当前分组确实返回目标模型。
Codex 最新版自定义中转站配置教程
适合还没装 Node.js 的 Windows 用户。按下面顺序完成 Node.js、Codex CLI、.codex 配置文件和 API Key,即可把 Codex 接到 NayutoAI。
macOS / Linux:~/.codex/提前准备NayutoAI API Key、真实可用模型 ID,以及 config.toml / auth.json
先装 Node.js
大部分客户机器里默认没有 Node.js。请使用 Windows cmd.exe,不要把命令和输出粘在同一行里执行。
安装 Codex CLI
重新打开 cmd.exe 后,确认 node -v 和 npm.cmd -v 正常,再安装 Codex。
落地 .codex 文件
把下方的 config.toml 和 auth.json 写进配置目录。如果没有自动生成,可以自己新建。
校验是否生效
最后检查版本、目录和一次真实调用,确认 Codex 已经开始走 NayutoAI,而不是还停在本地默认配置。
先打开 Windows cmd.exe,只执行第一段安装命令。安装完成后必须关掉当前 cmd 再重新打开,否则 node / npm 可能还是找不到。
PowerShell 可能因为执行策略拦截 npm.ps1。如果必须用 PowerShell,请写 npm.cmd;普通用户建议直接用 cmd.exe。
curl -L -o %USERPROFILE%\Downloads\node.msi https://nodejs.org/dist/v24.14.1/node-v24.14.1-x64.msi
msiexec /i %USERPROFILE%\Downloads\node.msi /passive /norestart
REM 安装完成后,关闭当前 cmd.exe,再重新打开一个新的 cmd.exe。node -v
npm.cmd -v
npm.cmd cache clean --force
npm.cmd config set progress true
npm.cmd install -g @openai/codex@latest --verbose
codex.cmd --versionmkdir "%userprofile%\.codex"
start "" "%userprofile%\.codex"
notepad "%userprofile%\.codex\config.toml"
notepad "%userprofile%\.codex\auth.json"node -v
npm.cmd -v
codex.cmd --version
dir "%userprofile%\.codex"这是客户最容易踩的坑。看起来像 config.toml,实际却可能是 config.toml.txt,Codex 就不会读取。
- 资源管理器里先开启“显示文件扩展名”或“文件扩展名”。
- 新建文件时逐字确认文件名:config.toml、auth.json。
- 如果你是复制粘贴文本新建文件,保存后最好重新看一眼真实扩展名。
disable_response_storage = true
model = "gpt-5.6-sol"
model_provider = "NayutoAI"
model_reasoning_effort = "high"
[model_providers."NayutoAI"]
name = "NayutoAI"
base_url = "https://api.nayutoai.online/v1"
requires_openai_auth = true
wire_api = "responses"{
"OPENAI_API_KEY": "YOUR_API_KEY"
}disable_response_storage = true
model = "gpt-5.6-sol"
model_provider = "NayutoAI"
model_reasoning_effort = "high"
[model_providers."NayutoAI"]
name = "NayutoAI"
base_url = "https://api.nayutoai.online/v1"
requires_openai_auth = true
wire_api = "responses"
supports_websockets = true
[features]
responses_websockets_v2 = truecodex.cmd --version
dir "%userprofile%\.codex"
codex.cmd
codex.cmd exec "Reply with exactly: smoke-ok"- model 请改成中转站真实支持的模型 ID,不要照抄别处的旧模型名。
- model_provider 填 NayutoAI,base_url 固定写 NayutoAI 的 /v1 地址。
- disable_response_storage = true 用于关闭本地响应存储,requires_openai_auth = true 表示走 OpenAI 风格鉴权。
- wire_api = "responses" 表示使用 Responses 接口模式;如果后台已经给你开了 WebSocket,再切换到上面的可选配置。
- 安装 Node.js 之后必须重开一次 cmd,否则环境变量还没刷新,后续步骤看起来会像“安装失败”。
Claude Code
原版环境变量方式,适合已有 Claude Code 工作流的用户。注意这里使用 Anthropic 协议入口,Base URL 不要写 /v1,否则客户端会重复拼成 /v1/v1/messages。
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.nayutoai.online",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY"
}
}OpenClaw
在 Provider 中选择 OpenAI Compatible,Base URL 填写 NayutoAI 的 /v1 地址,API Key 使用控制台创建的令牌。
OpenCode
使用自定义 provider 指向 NayutoAI,并在 agent 配置里选择需要的模型 ID。
API 接口概述
NayutoAI 提供 OpenAI 兼容接口。OpenAI 兼容客户端统一使用 /v1 Base URL;Claude Code 使用 Anthropic 协议入口,Base URL 不带 /v1。
https://api.nayutoai.online/v1Authorization: Bearer YOUR_API_KEY| 接口 | 路径 | 用途 |
|---|---|---|
| 模型列表 | GET /v1/models | 查询当前 Key 实时可用的模型。 |
| Responses | POST /v1/responses | 文本推理、结构化输出与代理工作流。 |
| Chat Completions | POST /v1/chat/completions | 标准对话接口;nano-banana 生图也使用此路径。 |
| Image 2 文生图 | POST /v1/images/generations | 使用 gpt-image-2 从提示词生成图片。 |
| Image 2 图生图 | POST /v1/images/edits | 使用 gpt-image-2 上传参考图并编辑或重绘。 |
站内登录态接口与外部 /v1/* 接口是两套鉴权。外部调用必须使用令牌管理创建的完整 sk-... Key;不要把浏览器登录 token、系统保护令牌或兑换码放进 Bearer。调用前先用 GET /v1/models 验证 Key 与分组。
模型列表
不同分组返回的模型可能不同。下面是当前公开价格目录中的模型,当前 Key 的真实可用范围始终以 GET /v1/models 返回值为准。
curl https://api.nayutoai.online/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"openai/gpt-5.6openai/gpt-5.6-solopenai/gpt-5.6-terraopenai/gpt-5.6-lunaopenai/gpt-5.5openai/gpt-5.4gpt-5.4-miniclaude-sonnet-4-6claude-fable-5claude-haiku-4-5claude-haiku-4-5-20251001claude-opus-4-6claude-opus-4-7claude-opus-4-8grok-3grok-420-fastgrok-420-fast-deepsearchgrok-4.3grok-4.3-fastgemini-2.5-flashgemini-3.5-flashgpt-image-2nano-banana-2nano-banana-pro| 模型 ID | 类型 | 调用说明 |
|---|---|---|
openai/gpt-5.6 / 5.6-sol / 5.6-terra / 5.6-luna | GPT 5.6 系列 | 按当前 Key 返回的具体模型 ID 调用 Responses。 |
openai/gpt-5.5 / openai/gpt-5.4 / gpt-5.4-mini | GPT 系列 | 通用问答、代码、代理和成本敏感任务。 |
claude-sonnet-4-6 / claude-fable-5 / claude-haiku-4-5 / claude-opus-4-6 / 4-7 / 4-8 | Claude | Claude Code 或对应兼容协议任务;使用实际返回的完整 ID。 |
grok-3 / grok-420-fast / grok-420-fast-deepsearch / grok-4.3 / grok-4.3-fast | Grok | 按次计费分组,价格以创建 Key 时的分组备注为准。 |
gemini-2.5-flash / gemini-3.5-flash | Gemini | 按次计费分组,价格以创建 Key 时的分组备注为准。 |
gpt-image-2 | Image 2 | 使用 Images API:文生图走 generations,图生图走 edits。 |
nano-banana-2 / nano-banana-pro | Banana | 使用 Chat Completions;每次成功生成 1 张,当前 $2.00 站内额度/次。 |
Responses
适合推理、结构化输出和多步骤任务编排。需要更强 reasoning 时,优先使用这个接口。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型 ID。 |
input | string / array | 否 | 输入内容。 |
instructions | string | 否 | 系统级说明。 |
max_output_tokens | integer | 否 | 最大输出 token。 |
tools | array | 否 | 工具定义。 |
reasoning.effort | string | 否 | 推理强度,可选 low / medium / high / xhigh。 |
stream | boolean | 否 | 是否流式返回。 |
curl https://api.nayutoai.online/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "openai/gpt-5.5",
"input": "请总结下面这段代码的作用,并列出三个风险点。",
"reasoning": {"effort": "medium"},
"max_output_tokens": 800
}'{
"id": "resp_demo_123",
"object": "response",
"status": "completed",
"model": "openai/gpt-5.5",
"output": [{
"type": "message",
"role": "assistant",
"content": [{
"type": "output_text",
"text": "这段代码主要负责..."
}]
}],
"usage": {
"prompt_tokens": 120,
"completion_tokens": 240,
"total_tokens": 360
}
}图片生成与编辑
当前有两条独立生图通道。Image 2 使用 OpenAI Images API;Banana 使用 Chat Completions。两者的模型、Key 分组、请求结构和计费都不同,不能混用。
Image 2
模型为 gpt-image-2。文生图调用 /v1/images/generations,图生图调用 /v1/images/edits,使用 Image 2 对应分组的 Key。
Banana
模型为 nano-banana-2 或 nano-banana-pro。文生图和图生图都调用 /v1/chat/completions,使用 nano-banana 分组的 Key。
当前价格
| 通道 | 档位 | 站内额度 | 数量 |
|---|---|---|---|
gpt-image-2 | 1K | $0.10 / 张 | 在线生图支持 1-3 张 |
gpt-image-2 | 2K | $0.20 / 张 | 在线生图支持 1-3 张 |
gpt-image-2 | 4K | $0.40 / 张 | 在线生图支持 1-3 张 |
nano-banana-2 / pro | 1K / 2K / 4K | $2.00 / 次 | 每次 1 张 |
Image 2 参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 填写 gpt-image-2。 |
prompt | string | 是 | 图片生成或编辑提示词。 |
n | integer | 否 | 默认 1;在线生图限制为 1-3。 |
size | string | 否,强烈建议填写 | 使用下表中的像素尺寸,同时确定画面比例和目标档位;省略或无法识别时按 2K 默认档位归档。 |
quality | string | 否 | 可选 auto、low、medium、high;可用值以当前能力接口为准。 |
response_format | string | 否 | 使用 b64_json 可直接获得 Base64 图片数据。 |
images[].image_url | string | 图生图 JSON 请求必填 | 可传 HTTPS 图片 URL 或 data:image/...;base64,...。 |
ratio / tier | - | 不要传 | 它们是在线页面的选择器字段;外部 Images API 只传最终 size。 |
当前尺寸矩阵
在线生图会读取实时能力接口,只显示当前放行的组合。下面是当前返回的 1K / 2K / 4K 尺寸;以后如有调整,以能力接口和页面选择器为准。
curl https://www.nayutoai.online/portal/image-capabilities| 比例 | 1K | 2K | 4K |
|---|---|---|---|
| 1:1 | 1024x1024 | 1248x1248 | 2480x2480 |
| 3:2 | 1216x832 | 1536x1024 | 3056x2032 |
| 2:3 | 832x1216 | 1024x1536 | 2032x3056 |
| 4:3 | 1152x864 | 1440x1088 | 2880x2160 |
| 3:4 | 864x1152 | 1088x1440 | 2160x2880 |
| 5:4 | 1280x1024 | 1568x1248 | 3120x2480 |
| 4:5 | 1024x1280 | 1248x1568 | 2480x3120 |
| 16:9 | 1344x768 | 1664x928 | 3312x1872 |
| 9:16 | 768x1344 | 928x1664 | 1872x3312 |
| 21:9 | 1536x640 | 1904x816 | 3808x1632 |
curl https://api.nayutoai.online/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-image-2",
"prompt": "一只白色小猫坐在窗边,柔和自然光,写实风格",
"n": 1,
"size": "1024x1024",
"quality": "medium",
"response_format": "b64_json"
}'curl https://api.nayutoai.online/v1/images/edits \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=保持构图,提升材质和自然光细节" \
-F "size=1024x1024" \
-F "quality=medium" \
-F "response_format=b64_json" \
-F "image=@reference.png"
# 多参考图:重复使用 image[]
# -F "image[]=@ref1.png" -F "image[]=@ref2.png"curl https://api.nayutoai.online/v1/images/edits \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-image-2",
"prompt": "保持主体不变,改成清晨花园场景",
"size": "1440x1088",
"quality": "high",
"response_format": "b64_json",
"images": [{"image_url": "https://example.com/reference.png"}]
}'Banana 请求
Banana 不走 Images API。文生图使用文本消息;图生图把参考图放入消息的 image_url 内容块。size 使用上面的像素尺寸,quality 填写对应的 1K、2K 或 4K。
curl https://api.nayutoai.online/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-pro",
"messages": [{
"role": "user",
"content": "清晨的森林花园,真实摄影,柔和自然光"
}],
"size": "2480x2480",
"quality": "4K",
"stream": false
}'curl https://api.nayutoai.online/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-2",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "保留主体,改成雨后森林场景"},
{"type": "image_url", "image_url": {"url": "https://example.com/reference.png"}}
]
}],
"size": "1664x928",
"quality": "2K",
"stream": false
}'Image 2 响应
data[].b64_json 是 Base64 图片内容;客户端需要解码保存。使用 URL 返回格式时读取 data[].url。
Banana 响应
返回 Chat Completions 结构,图片位于 choices[0].message.content,通常是 data:image/...;base64,... 或图片 URL。
/portal/user/images/tasks/* 和登录态鉴权;外部 API Key 不要调用这些站内路径。如果 Key 的 GET /v1/models 没有返回目标生图模型,请重新选择正确分组创建 Key。错误码
下面列出最常见的接口状态码、错误代码与排查方向。
| HTTP 状态码 | 说明 | 解决方案 |
|---|---|---|
| 400 | 请求参数或生图尺寸不正确 | 检查请求体、字段名、JSON 结构和当前能力接口返回的尺寸。 |
| 401 | 认证失败 | 确认 Bearer 后是完整外部 API Key,不是登录 token、系统保护令牌或兑换码。 |
| 402 | 余额不足 | 补充余额后重新提交任务。 |
| 403 | 分组或能力未授权 | 确认 Key 选择了正确分组,并且该分组已启用对应生图能力。 |
| 404 | 路径不存在 | 检查 URL,避免重复拼接 /v1。 |
| 429 | 频率或并发超限 | 降低请求频率,等待当前任务完成后重试。 |
| 500 / 502 / 503 | 通道暂不可用或没有返回图片 | 稍后重试;持续出现时记录 request_id 并联系管理员。 |
| error.code | 含义 | 排查方向 |
|---|---|---|
invalid_api_key | 令牌无效 | 确认使用令牌管理创建的外部 Key;不要用外部 Key 调用 /portal/user/* 站内接口。 |
insufficient_quota / insufficient_balance | 额度不足 | 充值或兑换后再试。 |
model_not_found | 模型不可用 | 用 GET /v1/models 检查当前 Key 的实时模型。 |
permission_error | 分组未开放生图 | 重新创建正确分组的 Key,或联系管理员确认分组能力。 |
image_size_not_verified | 尺寸未放行 | 改用 /portal/image-capabilities 当前返回的尺寸。 |
image_mode_not_available / banana_not_available | 生图模式暂不可用 | 稍后重试,并检查在线生图页面是否仍显示该通道。 |
unsupported_endpoint | 模型与接口不匹配 | gpt-image-2 使用 Images API;nano-banana-2/pro 使用 Chat Completions。 |
context_length_exceeded | 上下文过长 | 减少历史消息、文件或输入内容。 |
{
"error": {
"message": "Incorrect API key provided.",
"type": "invalid_request_error",
"param": null,
"code": "invalid_api_key"
}
}https://api.nayutoai.online/v1;Claude Code 填写不带 /v1 的地址。2. 用 GET /v1/models 确认 Key、分组和模型匹配。3. Image 2 文生图走 /v1/images/generations,图生图走 /v1/images/edits。4. Banana 文生图和图生图都走 /v1/chat/completions。5. 生图失败时保留响应中的 request_id,便于定位真实调用记录。Q&A
下面是最常见的几个使用问题。
兑换失败怎么办?
请先确认你进入的是 NayutoAI 的兑换入口,并核对兑换码是否已经使用过或是否输入错误。
为什么提示令牌无效?
最常见的原因是把兑换码、系统访问令牌或登录态 token 当成 API Key 使用,或者复制 Key 时漏掉了前后字符。
为什么我看得到模型,但调用失败?
先检查余额是否足够,再确认该模型是否对当前令牌开放,并核对请求路径是否正确。
余额为 0 后会怎样?
当余额扣减到 0,接口会停止继续放行;补充余额或兑换成功后即可恢复调用。