Appearance
API 文档
Polar API 基于 NewAPI,以 https://api.nymph.asia/v1 为统一入口,同一把密钥支持三种主流协议,你无需改动现有代码即可切换接入。
协议速览
| 协议 | 请求端点 | 认证方式 | 适用场景 |
|---|---|---|---|
| OpenAI | POST /v1/chat/completions | Authorization: Bearer sk-xxx | 绝大多数客户端、SDK、LangChain 等 |
| Anthropic | POST /v1/messages | x-api-key: sk-xxx + anthropic-version | Claude Code、Anthropic SDK、Claude 系客户端 |
| Gemini | POST /v1beta/models/{model}:generateContent | ?key=sk-xxx 或 x-goog-api-key | Google AI Studio、Gemini SDK |
所有模型名沿用官方原名,注意本站部分模型名带渠道前缀(如 [满血A]gemini-3.1-pro-preview),调用时必须使用完整名称(详见模型一览)。
获取模型列表:
bash
curl https://api.nymph.asia/v1/models \
-H "Authorization: Bearer sk-你的密钥"OpenAI 兼容端点
这是最通用的接入方式。不同厂商提供的子路径均可用:/v1/chat/completions、/v1/completions、/v1/embeddings、/v1/images/generations 等。
基本调用
bash
curl https://api.nymph.asia/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gemini-3-flash-preview",
"messages": [
{"role": "system", "content": "你是一个乐于助人的助手。"},
{"role": "user", "content": "用一句话介绍你自己"}
]
}'Python(openai SDK):
python
from openai import OpenAI
client = OpenAI(api_key="sk-你的密钥", base_url="https://api.nymph.asia/v1")
resp = client.chat.completions.create(
model="gemini-3-flash-preview",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)流式输出(SSE)
bash
curl https://api.nymph.asia/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的密钥" \
-d '{
"model": "gemini-3-flash-preview",
"messages": [{"role": "user", "content": "写一首关于星空的小诗"}],
"stream": true
}'python
resp = client.chat.completions.create(
model="gemini-3-flash-preview",
messages=[{"role": "user", "content": "写一首关于星空的小诗"}],
stream=True,
)
for chunk in resp:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)多模态输入(图片)
python
resp = client.chat.completions.create(
model="gemini-3-flash-preview",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{"type": "image_url", "image_url": {"url": "https://example.com/cat.jpg"}},
],
}],
)Anthropic 兼容端点
走 /v1/messages,与 Anthropic 官方 API 完全一致,适合 Claude Code、Claude 系桌面端以及 Anthropic SDK 用户。
bash
curl https://api.nymph.asia/v1/messages \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-H "x-api-key: sk-你的密钥" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好,介绍一下你自己"}]
}'Python(anthropic SDK):
python
from anthropic import Anthropic
client = Anthropic(api_key="sk-你的密钥", base_url="https://api.nymph.asia")
resp = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
)
print(resp.content[0].text)计费口径与官方一致
按 Anthropic 协议规范,/v1/messages 的输入 tokens 仅统计非缓存输入;缓存命中(缓存读)与创建缓存(缓存写)的 tokens 在控制台中单独展示、单独计价,详见常见问题。
Gemini 兼容端点
兼容 Google Gemini API 路径与请求体格式:
bash
curl "https://api.nymph.asia/v1beta/models/gemini-3-flash-preview:generateContent?key=sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "你好,介绍一下你自己"}]}]
}'流式:POST /v1beta/models/{model}:streamGenerateContent?key=sk-你的密钥
Python(google-genai SDK):
python
from google import genai
client = genai.Client(api_key="sk-你的密钥",
http_options={"base_url": "https://api.nymph.asia/v1beta"})
resp = client.models.generate_content(model="gemini-3-flash-preview",
contents="你好")
print(resp.text)错误码与计费
常见错误
| HTTP 状态 | 返回信息(节选) | 含义与处理 |
|---|---|---|
| 401 | Invalid token | 密钥错误、被删除或已过期,检查 sk- 是否完整 |
| 402 | 余额不足 | 令牌额度或账户积分不足,请充值或开启令牌「无限额度」 |
| 400 | 当前分组下没有可用渠道 | 该模型在当前分组暂不可用(上游无货或维护中),换个模型 |
| 400 | 当前分组下对模型发起请求失败 | 上游渠道异常,稍后重试或更换模型 |
| 429 | 请求过于频繁 | 触发频率限制,放慢请求速率 |
| 400 | 该模型不允许发起对话 | 所选端点/模型不匹配 |
调用时如遇 5xx 或网络中断,可重试;持续失败请查看 常见问题。
计费规则
- 余额单位:积分。
¥1 = 100 积分,控制台余额即积分,实时扣减 - 按次计费:部分模型(多为促销价)按「每次请求」固定扣费,单价见模型一览
- 按 token 计费:输入与输出分别计价,通常输出约为输入的 5~8 倍
- 缓存计费:支持 Prompt Caching 的模型,缓存读按输入价的一定比例计费(如 Claude 系为 0.1 倍),缓存写为 1.25 倍,与官方计费口径一致
- 每笔消耗可在控制台「日志」中查看,输入输出 tokens 与扣费明细一目了然
具体每个模型的精确价格,以控制台定价页实时展示为准。
