30 秒接入 JJAPI
如果你的代码本来就在调用 OpenAI,只需要改两个地方:BaseURL 和 API key。
1. 购买套餐并拿到 API key
付款后你会收到一封邮件,里面有形如 sk-jjapi-... 的 key 和控制台链接。
2. 把客户端指向 JJAPI
把现有 OpenAI 客户端的 BaseURL 换成我们的,其他一字不改。
cURL
curl https://api.jjapi.net/v1/chat/completions \
-H "Authorization: Bearer sk-jjapi-..." \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"messages": [{"role": "user", "content": "你好"}]
}' Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://api.jjapi.net/v1",
api_key="sk-jjapi-...",
)
r = client.chat.completions.create(
model="claude-opus-4-7",
messages=[{"role": "user", "content": "你好"}],
)
print(r.choices[0].message.content) Node.js (OpenAI SDK)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.jjapi.net/v1",
apiKey: "sk-jjapi-...",
});
const r = await client.chat.completions.create({
model: "claude-opus-4-7",
messages: [{ role: "user", content: "你好" }],
});
console.log(r.choices[0].message.content); 流式响应
和 OpenAI 一样加上 stream: true 即可。无论上游是哪家,JJAPI 都以 OpenAI 兼容的 SSE 格式输出。
stream = client.chat.completions.create(
model="gpt-5.5-pro",
messages=[{"role": "user", "content": "流式输出这句话"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="") 其他接口
/v1/embeddings— 文本 embedding (OpenAI / Cohere / Voyage)/v1/images/generations— DALL·E 3 / Midjourney / Flux/v1/audio/speech— TTS (OpenAI / ElevenLabs)/v1/audio/transcriptions— Whisper 语音转文字/v1/rerank— Cohere / Voyage 重排