身份验证和基础 URL
将客户端指向 https://api.nanobananaapis.com/v1 即可访问 nano banana api。你需要在 Authorization 头中包含有效的 API 密钥。只需在 获取 API 密钥 页面使用邮箱和密码注册,即可立即获得密钥。密钥在注册后立即显示。如果丢失,可从仪表板重新生成新密钥;旧密钥将立即失效。
在每个请求中使用 Bearer YOUR_API_KEY。模型 ID 始终为 uncensored。此接口处理文本输入和文本输出。它不生成图像、音频或视频。对于多模态管线,请使用此 API 进行提示词编写、脚本生成和后处理。
首次请求
发送标准的聊天补全请求。API 支持 OpenAI 格式。将 YOUR_API_KEY 替换为你的实际密钥。此示例向无审查模型发送一条简单消息。
curl https://api.nanobananaapis.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."}]
}'响应包含生成的文本。你可以在响应正文中检查 token 使用计数。上下文窗口总计为 100,000 token(包括提示词和补全)。保持负载在 8 MB 以下。
Python SDK 示例
使用官方 OpenAI Python SDK。将基础 URL 设置为 nanobananaapis 接口。将 API 密钥作为 api_key 传递。客户端会自动正确格式化请求。此方法非常适合需要在将文本发送到图像或视频生成服务之前处理文本的后端脚本。
from openai import OpenAI
client = OpenAI(base_url="https://api.nanobananaapis.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)SDK 为你处理流式输出和解析。如果启用流式模式,你可以迭代处理数据块。这种方法使代码保持简洁,并在你稍后切换提供商时与其他 OpenAI 服务保持兼容。
Node SDK 示例
Node.js SDK 工作方式类似。使用基础 URL 和密钥初始化客户端。调用 chat.completions.create 方法。这对于需要动态生成脚本的无服务器函数或 Web 服务器很有用。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nanobananaapis.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);确保正确处理错误。常见错误包括密钥无效或过期导致的身份验证失败(401),以及超过每分钟 300 次请求导致的速率限制(429)。API 密钥与你的账户绑定,因此请将其保护在环境变量中。
流式响应
在请求中设置 stream: true 以启用流式输出。API 返回服务器发送事件(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)在客户端解析 SSE 事件。当模型完成生成或达到上下文限制时,流结束。流式输出可降低用户的感知延迟。它不会改变定价;你仍按 token 付费。
限制、错误和模型
通过 GET /v1/models 检查可用模型。唯一的模型是 uncensored。速率限制为每个密钥每分钟 300 个请求。请求体必须小于 8 MB。定价为每 100 万输入 token $0.25,每 100 万输出 token $1.00。额度永不过期。如果用完,从 $10 起充值。错误:密钥错误返回 401,额度不足返回 402,速率限制返回 429。不提供 SLA 或可用性保证。该模型会屏蔽涉及未成年人的色情内容。它不会拒绝其他合法的成人或争议性话题。