NayutoAI / Documentation

NayutoAI
接入文档

统一说明账号开通、登录、额度兑换、令牌创建,以及 Codex / Claude Code / OpenClaw / OpenCode 与 OpenAI 兼容 API 的接入方式。

推荐入口Codex CLI、Claude Code 与 OpenCode 都提供了可直接复制使用的配置教程。 默认建议Codex 当前优先使用 HTTP 版配置;WebSocket 配置仅在后台开启对应能力后再切换。 排查顺序先看模型列表,再测 chat / responses,最后再排客户端或 Cloudflare 层问题。
1

统一接入

OpenAI 兼容客户端统一填写 /v1 Base URL;Claude Code 使用 Anthropic 协议入口,Base URL 不要带 /v1。

2

额度可视

公开文档会说明额度、兑换码、API Key 与调用排查流程,便于客户快速完成接入与核对。

3

工具兼容

面向 OpenAI 兼容接入,常见编程客户端和标准 API 调用都可以直接配置。

Quickstart

快速上手

按下面顺序完成账号、额度与令牌配置后,即可像调用 OpenAI 一样直接接入 NayutoAI。

推荐Codex 接入提供 HTTP 与可选 WebSocket 两套配置,适合直接接入 NayutoAI。 常用Claude Code使用原版环境变量逻辑,避免继续沿用之前简化后的旧教程。 终端工作流OpenCode按原版 provider + agent 结构整理,更适合项目级配置和长期使用。 接口概览API 文档集中查看可用路径、模型查询方式和错误排查入口,不用在页面里来回翻。

支持的客户端

下列配置段按实际使用场景整理,优先推荐使用 Codex,其余工具也可按对应章节接入。

CCodex桌面端、插件与 CLI 共用同一套 .codex 配置,适合直接对接 NayutoAI。AClaude Code通过 settings.json 中的环境变量接入,适合已有 Claude Code 工作流的用户。OOpenClaw可通过自定义 Provider 指向 NayutoAI 的 OpenAI 兼容接口。POpenCode支持 /connect 与项目级 opencode.json,适合终端工作流接入。
1

注册账号

使用邮箱验证码完成自助注册;邀请码选填,密码至少 8 位。

2

登录并准备额度

登录控制台查看余额和分组;需要时先兑换额度,再创建外部 API Key。

3

创建令牌

在令牌管理中选择与目标模型匹配的分组,把 Base URL 与完整 API Key 填入客户端或代码。

API BASE URLhttps://api.nayutoai.online/v1服务健康检查https://www.nayutoai.online/portal/health模型查询https://api.nayutoai.online/v1/models
cURL 示例
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": "你好,请返回一句欢迎语。"
  }'
Node.js 示例
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);
Account

开通账号

NayutoAI 当前支持邮箱验证码自助注册。填写显示名称、邮箱和密码,完成 6 位邮箱验证码校验后即可创建账户;邀请码为选填项。

注册前准备

请使用能够正常收信的邮箱。验证码用于确认邮箱归属,密码至少 8 位;没有邀请码也可以正常注册。

已经拥有账号

可以直接进入「登录使用」与「获取令牌」章节,不需要重复注册。忘记密码时可在登录页通过绑定邮箱发起重置。

Sign in

登录使用

登录 NayutoAI 账户页后,可以查看余额、兑换记录、API Key、调用日志和最近用量。

账户入口地址
https://www.nayutoai.online
登录后建议检查1. 当前余额是否已到账2. 是否已经拥有可用 API Key3. 调用日志是否正常更新4. 如需充值,先确认兑换码入口
Balance

额度与余额

NayutoAI 在控制台展示余额、今日消耗、近 30 天消耗和调用日志,并在接口侧按实际用量进行校验。

  • 如果收到兑换码,请在控制台的兑换入口完成兑换。
  • 余额不足时接口会停止放行,补充余额或兑换成功后即可恢复调用。
  • 普通文本模型按 Token 计费;Grok、Gemini 与 nano-banana 等分组可能按次计费,创建 API Key 时以下拉框中的实时分组备注为准。
  • nano-banana-2nano-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

获取令牌

只有在令牌管理中创建的外部 API Key 可用于 /v1/* 调用;系统保护令牌、登录态 token 和兑换码都不能直接当外部 API Key 使用。

1

进入令牌管理

登录控制台后进入令牌管理,创建用于外部 OpenAI 兼容接口的 Key。

2

选择正确分组

按模型选择对应分组。gpt-image-2 使用 Image 2 对应分组;nano-banana-2/pro 使用 nano-banana 分组,两条生图通道不能混用。

3

复制并妥善保存

外部调用只使用完整的 sk-... Key。建议按用途命名,例如 codex-local、image2-app、banana-app。

OpenAI 兼容 SDK、脚本或第三方客户端使用 https://api.nayutoai.online/v1;Claude Code 使用不带 /v1https://api.nayutoai.online。创建 Key 后先调用 GET /v1/models,确认当前分组确实返回目标模型。

CODEX / WINDOWS FIRST-TIME SETUP

Codex 最新版自定义中转站配置教程

适合还没装 Node.js 的 Windows 用户。按下面顺序完成 Node.js、Codex CLI、.codex 配置文件和 API Key,即可把 Codex 接到 NayutoAI。

Windows CMD 从零安装config.toml + auth.json支持手动创建配置文件WebSocket 配置可选
适用人群第一次接 Codex,或者电脑里还没有 Node.js 的客户配置目录Windows:C:\Users\你的用户名\.codex\
macOS / Linux:~/.codex/
提前准备NayutoAI API Key、真实可用模型 ID,以及 config.toml / auth.json
1

先装 Node.js

大部分客户机器里默认没有 Node.js。请使用 Windows cmd.exe,不要把命令和输出粘在同一行里执行。

2

安装 Codex CLI

重新打开 cmd.exe 后,确认 node -v 和 npm.cmd -v 正常,再安装 Codex。

3

落地 .codex 文件

把下方的 config.toml 和 auth.json 写进配置目录。如果没有自动生成,可以自己新建。

4

校验是否生效

最后检查版本、目录和一次真实调用,确认 Codex 已经开始走 NayutoAI,而不是还停在本地默认配置。

如果这台电脑还没装 Node.js

先打开 Windows cmd.exe,只执行第一段安装命令。安装完成后必须关掉当前 cmd 再重新打开,否则 node / npm 可能还是找不到。

不要在 PowerShell 里直接跑 npm

PowerShell 可能因为执行策略拦截 npm.ps1。如果必须用 PowerShell,请写 npm.cmd;普通用户建议直接用 cmd.exe。

第一段:安装 Node.js
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。
第二段:新开 CMD 后安装 Codex不要连着上一段执行
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 --version
目录不存在时手动创建
mkdir "%userprofile%\.codex"
start "" "%userprofile%\.codex"
notepad "%userprofile%\.codex\config.toml"
notepad "%userprofile%\.codex\auth.json"
先检查 Node / npm / Codex 版本
node -v
npm.cmd -v
codex.cmd --version
dir "%userprofile%\.codex"
config.toml 和 auth.json 缺一不可Codex 最终就是从这两个文件里读模型、Base URL 和 API Key。没有就自己建,不要等它自动生成。config.toml 负责模型名、Provider、base_url、鉴权方式和是否走 Responses。auth.json 里只保留 OPENAI_API_KEY,不要混入旧站点留下来的其他字段。文件应放在 C:\Users\你的用户名\.codex\,不是桌面、下载目录或项目目录。
WINDOWS 注意:先把扩展名显示出来,再去新建文件

这是客户最容易踩的坑。看起来像 config.toml,实际却可能是 config.toml.txt,Codex 就不会读取。

  • 资源管理器里先开启“显示文件扩展名”或“文件扩展名”。
  • 新建文件时逐字确认文件名:config.toml、auth.json。
  • 如果你是复制粘贴文本新建文件,保存后最好重新看一眼真实扩展名。
config.toml推荐
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"
auth.json必填
{
  "OPENAI_API_KEY": "YOUR_API_KEY"
}
config.toml(WebSocket,可选)可选
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 = true
最终验证配置
codex.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,否则环境变量还没刷新,后续步骤看起来会像“安装失败”。
Client

Claude Code

原版环境变量方式,适合已有 Claude Code 工作流的用户。注意这里使用 Anthropic 协议入口,Base URL 不要写 /v1,否则客户端会重复拼成 /v1/v1/messages。

settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.nayutoai.online",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY"
  }
}
Client

OpenClaw

在 Provider 中选择 OpenAI Compatible,Base URL 填写 NayutoAI 的 /v1 地址,API Key 使用控制台创建的令牌。

Client

OpenCode

使用自定义 provider 指向 NayutoAI,并在 agent 配置里选择需要的模型 ID。

API Reference

API 接口概述

NayutoAI 提供 OpenAI 兼容接口。OpenAI 兼容客户端统一使用 /v1 Base URL;Claude Code 使用 Anthropic 协议入口,Base URL 不带 /v1

OpenAI 兼容 Base URL
https://api.nayutoai.online/v1
认证方式
Authorization: Bearer YOUR_API_KEY
接口路径用途
模型列表GET /v1/models查询当前 Key 实时可用的模型。
ResponsesPOST /v1/responses文本推理、结构化输出与代理工作流。
Chat CompletionsPOST /v1/chat/completions标准对话接口;nano-banana 生图也使用此路径。
Image 2 文生图POST /v1/images/generations使用 gpt-image-2 从提示词生成图片。
Image 2 图生图POST /v1/images/edits使用 gpt-image-2 上传参考图并编辑或重绘。
协议 HTTPS请求头 Content-Type: application/json 与 Authorization: Bearer ...请求方式 GET / POST响应格式 JSON 或流式 SSE;生图响应可能包含 Base64 图片数据

站内登录态接口与外部 /v1/* 接口是两套鉴权。外部调用必须使用令牌管理创建的完整 sk-... Key;不要把浏览器登录 token、系统保护令牌或兑换码放进 Bearer。调用前先用 GET /v1/models 验证 Key 与分组。

Models

模型列表

不同分组返回的模型可能不同。下面是当前公开价格目录中的模型,当前 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-lunaGPT 5.6 系列按当前 Key 返回的具体模型 ID 调用 Responses。
openai/gpt-5.5 / openai/gpt-5.4 / gpt-5.4-miniGPT 系列通用问答、代码、代理和成本敏感任务。
claude-sonnet-4-6 / claude-fable-5 / claude-haiku-4-5 / claude-opus-4-6 / 4-7 / 4-8ClaudeClaude Code 或对应兼容协议任务;使用实际返回的完整 ID。
grok-3 / grok-420-fast / grok-420-fast-deepsearch / grok-4.3 / grok-4.3-fastGrok按次计费分组,价格以创建 Key 时的分组备注为准。
gemini-2.5-flash / gemini-3.5-flashGemini按次计费分组,价格以创建 Key 时的分组备注为准。
gpt-image-2Image 2使用 Images API:文生图走 generations,图生图走 edits。
nano-banana-2 / nano-banana-proBanana使用 Chat Completions;每次成功生成 1 张,当前 $2.00 站内额度/次。
Responses

Responses

适合推理、结构化输出和多步骤任务编排。需要更强 reasoning 时,优先使用这个接口。

参数类型必填说明
modelstring模型 ID。
inputstring / array输入内容。
instructionsstring系统级说明。
max_output_tokensinteger最大输出 token。
toolsarray工具定义。
reasoning.effortstring推理强度,可选 low / medium / high / xhigh。
streamboolean是否流式返回。
请求示例
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
  }
}
Images

图片生成与编辑

当前有两条独立生图通道。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-2nano-banana-pro。文生图和图生图都调用 /v1/chat/completions,使用 nano-banana 分组的 Key。

当前价格

通道档位站内额度数量
gpt-image-21K$0.10 / 张在线生图支持 1-3 张
gpt-image-22K$0.20 / 张在线生图支持 1-3 张
gpt-image-24K$0.40 / 张在线生图支持 1-3 张
nano-banana-2 / pro1K / 2K / 4K$2.00 / 次每次 1 张

Image 2 参数

参数类型必填说明
modelstring填写 gpt-image-2
promptstring图片生成或编辑提示词。
ninteger默认 1;在线生图限制为 1-3。
sizestring否,强烈建议填写使用下表中的像素尺寸,同时确定画面比例和目标档位;省略或无法识别时按 2K 默认档位归档。
qualitystring可选 autolowmediumhigh;可用值以当前能力接口为准。
response_formatstring使用 b64_json 可直接获得 Base64 图片数据。
images[].image_urlstring图生图 JSON 请求必填可传 HTTPS 图片 URL 或 data:image/...;base64,...
ratio / tier-不要传它们是在线页面的选择器字段;外部 Images API 只传最终 size

当前尺寸矩阵

在线生图会读取实时能力接口,只显示当前放行的组合。下面是当前返回的 1K / 2K / 4K 尺寸;以后如有调整,以能力接口和页面选择器为准。

实时查询生图能力
curl https://www.nayutoai.online/portal/image-capabilities
比例1K2K4K
1:11024x10241248x12482480x2480
3:21216x8321536x10243056x2032
2:3832x12161024x15362032x3056
4:31152x8641440x10882880x2160
3:4864x11521088x14402160x2880
5:41280x10241568x12483120x2480
4:51024x12801248x15682480x3120
16:91344x7681664x9283312x1872
9:16768x1344928x16641872x3312
21:91536x6401904x8163808x1632
Image 2 文生图
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"
  }'
Image 2 图生图(文件上传)
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"
Image 2 图生图(JSON 图片 URL)
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 填写对应的 1K2K4K

Banana 文生图
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
  }'
Banana 图生图
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。

重要说明4K 是目标输出档位;系统在能够读取实际输出尺寸时,以真实返回的像素尺寸归档和计费,避免仅按请求参数误判。在线生图页面内部使用 /portal/user/images/tasks/* 和登录态鉴权;外部 API Key 不要调用这些站内路径。如果 Key 的 GET /v1/models 没有返回目标生图模型,请重新选择正确分组创建 Key。
Errors

错误码

下面列出最常见的接口状态码、错误代码与排查方向。

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"
  }
}
排查建议1. OpenAI 兼容 Base URL 填写 https://api.nayutoai.online/v1;Claude Code 填写不带 /v1 的地址。2. 用 GET /v1/models 确认 Key、分组和模型匹配。3. Image 2 文生图走 /v1/images/generations,图生图走 /v1/images/edits4. Banana 文生图和图生图都走 /v1/chat/completions5. 生图失败时保留响应中的 request_id,便于定位真实调用记录。
Help

Q&A

下面是最常见的几个使用问题。

兑换失败怎么办?

请先确认你进入的是 NayutoAI 的兑换入口,并核对兑换码是否已经使用过或是否输入错误。

为什么提示令牌无效?

最常见的原因是把兑换码、系统访问令牌或登录态 token 当成 API Key 使用,或者复制 Key 时漏掉了前后字符。

为什么我看得到模型,但调用失败?

先检查余额是否足够,再确认该模型是否对当前令牌开放,并核对请求路径是否正确。

余额为 0 后会怎样?

当余额扣减到 0,接口会停止继续放行;补充余额或兑换成功后即可恢复调用。

代码已复制