LemonData 透過單一 API key 支援 三種原生 API 格式。請選擇最適合您使用場景的格式——無需更改配置。
OpenAI 格式
/v1/chat/completions
標準格式,相容性最廣
Anthropic 格式
/v1/messages
擴展思考,原生 Claude 功能
Gemini 格式
/v1beta/models/:model:generateContent
Google 生態系統整合
為什麼使用多格式?
| 優勢 | 描述 |
|---|
| 無需切換 SDK | 使用您偏好的 SDK 即可調用任何模型 |
| 原生功能 | 存取特定格式的功能 |
| 輕鬆遷移 | 只需更改 base URL 即可從官方 API 切換 |
| 統一計費 | 一個帳戶、一個 API key,支援所有格式 |
格式比較
| 功能 | OpenAI | Anthropic | Gemini |
|---|
| Endpoint | /v1/chat/completions | /v1/messages | /v1beta/models/:model:generateContent |
| 認證標頭 | Authorization: Bearer | x-api-key | Authorization: Bearer |
| System Prompt | 在 messages 陣列中 | 獨立的 system 欄位 | 在 systemInstruction 中 |
| 擴展思考 | ❌ | ✅ | ❌ |
| 串流 (Streaming) | ✅ SSE | ✅ SSE | ✅ SSE |
| 工具調用 | ✅ | ✅ | ✅ |
| 視覺 (Vision) | ✅ | ✅ | ✅ |
OpenAI 格式
相容性最廣泛的格式。適用於所有 LemonData 模型。
from openai import OpenAI
client = OpenAI(
api_key="sk-your-lemondata-key",
base_url="https://api.lemondata.cc/v1"
)
# 適用於任何模型
response = client.chat.completions.create(
model="claude-sonnet-4-5", # 透過 OpenAI 格式調用 Claude
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
最適用於:
- 一般用途
- 現有的 OpenAI SDK 整合
- 最大相容性
Anthropic 格式
原生 Anthropic Messages API。使用 Claude 特定功能(如擴展思考)時必備。
from anthropic import Anthropic
client = Anthropic(
api_key="sk-your-lemondata-key",
base_url="https://api.lemondata.cc" # 無需 /v1 後綴!
)
message = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system="You are a helpful assistant.", # 獨立的 system 欄位
messages=[
{"role": "user", "content": "Hello!"}
]
)
擴展思考 (Claude Opus 4.5)
僅在 Anthropic 格式中提供:
message = client.messages.create(
model="claude-opus-4-5",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{"role": "user", "content": "Solve this complex problem..."}]
)
# 存取思考過程
for block in message.content:
if block.type == "thinking":
print(f"Thinking: {block.thinking}")
elif block.type == "text":
print(f"Answer: {block.text}")
最適用於:
- Claude 特定功能
- 擴展思考模式
- 原生 Anthropic SDK 使用者
Gemini 格式
原生 Google Gemini API 格式,用於 Google 生態系統整合。
curl "https://api.lemondata.cc/v1beta/models/gemini-2.5-flash:generateContent" \
-H "Authorization: Bearer sk-your-lemondata-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "Hello!"}]
}],
"systemInstruction": {
"parts": [{"text": "You are a helpful assistant."}]
}
}'
串流 (Streaming)
curl "https://api.lemondata.cc/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
-H "Authorization: Bearer sk-your-lemondata-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Write a story"}]}]
}'
最適用於:
- Google Cloud 整合
- 現有的 Gemini SDK 程式碼
- 原生 Gemini 功能
選擇正確的格式
遷移指南
從 OpenAI 官方 API 遷移
# 遷移前 (OpenAI)
client = OpenAI(api_key="sk-openai-key")
# 遷移後 (LemonData)
client = OpenAI(
api_key="sk-lemondata-key",
base_url="https://api.lemondata.cc/v1" # 加入此行
)
# 就這樣!同樣的程式碼即可運作
從 Anthropic 官方 API 遷移
# 遷移前 (Anthropic)
client = Anthropic(api_key="sk-ant-key")
# 遷移後 (LemonData)
client = Anthropic(
api_key="sk-lemondata-key",
base_url="https://api.lemondata.cc" # 加入此行 (無需 /v1!)
)
從 Google AI Studio 遷移
# 遷移前 (Google)
import google.generativeai as genai
genai.configure(api_key="google-api-key")
# 遷移後 (LemonData) - 使用 REST API
import requests
response = requests.post(
"https://api.lemondata.cc/v1beta/models/gemini-2.5-flash:generateContent",
headers={"Authorization": "Bearer sk-lemondata-key"},
json={"contents": [{"parts": [{"text": "Hello"}]}]}
)
跨模型相容性
LemonData 的魔力:使用 任何 SDK 搭配 任何模型。閘道器會自動處理格式轉換。
任何 SDK → 任何模型
# 使用 Anthropic SDK 調用 GPT-4o(自動轉換為 OpenAI 格式)
from anthropic import Anthropic
client = Anthropic(
api_key="sk-lemondata-key",
base_url="https://api.lemondata.cc"
)
response = client.messages.create(
model="gpt-4o", # ✅ 運作正常!已自動轉換
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}]
)
# 同一個 SDK,不同的模型——無需更改程式碼
response = client.messages.create(model="gemini-2.5-flash", ...) # ✅ 運作正常!
response = client.messages.create(model="deepseek-r1", ...) # ✅ 運作正常!
OpenAI SDK → 所有模型
from openai import OpenAI
client = OpenAI(base_url="https://api.lemondata.cc/v1", api_key="sk-...")
# 以下模型皆可使用同一個 SDK 運作:
response = client.chat.completions.create(model="gpt-4o", ...)
response = client.chat.completions.create(model="claude-sonnet-4-5", ...)
response = client.chat.completions.create(model="gemini-2.5-flash", ...)
業界比較
| 平台 | OpenAI 格式 | Anthropic 格式 | Gemini 格式 | Responses API |
|---|
| LemonData | ✅ 所有模型 | ✅ 所有模型 | ✅ 所有模型 | ✅ 所有模型 |
| OpenRouter | ✅ 所有模型 | ❌ | ❌ | ❌ |
| Together AI | ✅ 所有模型 | ❌ | ❌ | ❌ |
| Fireworks | ✅ 所有模型 | ❌ | ❌ | ❌ |
雖然跨格式支援大多數功能,但特定格式的功能(如 Anthropic 擴展思考)仍需要使用原生格式。