跳转到主要内容

概览

LemonData 支持使用单个 API 密钥的三种原生 API 格式。选择最适合您用例的格式 — 无需更改配置。

OpenAI 格式

/v1/chat/completions 标准格式,兼容性最广

Anthropic 格式

/v1/messages 延展思维,原生 Claude 功能

Gemini 格式

/v1beta/models/:model:generateContent Google 生态系统集成

为什么使用多格式?

优点说明
无需切换 SDK在您偏好的 SDK 中使用任意模型
原生功能访问格式特定能力
轻松迁移仅更改 base URL 即可切换自官方 APIs
统一计费一个账户,一个 API 密钥,支持所有格式

格式比较

功能OpenAIAnthropicGemini
端点/v1/chat/completions/v1/messages/v1beta/models/:model:generateContent
认证头Authorization: Bearerx-api-keyAuthorization: Bearer
系统提示messages 数组中独立的 system 字段systemInstruction
延展思维
流式传输✅ SSE✅ SSE✅ SSE
工具调用
视觉能力

OpenAI 格式

最广泛兼容的格式,也是大多数新集成的默认起点。适用于 LemonData 支持范围最广的模型集合。
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-lemondata-key",
    base_url="https://api.lemondata.cc/v1"
)

# Works with ANY model
response = client.chat.completions.create(
    model="claude-sonnet-4-6",  # Claude via OpenAI format
    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"  # No /v1 suffix!
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="You are a helpful assistant.",  # Separate system field
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

延展思维(Claude Opus 4.6)

仅在 Anthropic 格式可用:
message = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{"role": "user", "content": "Solve this complex problem..."}]
)

# Access thinking process
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."}]
    }
  }'

流式传输

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

# Before (OpenAI)
client = OpenAI(api_key="sk-openai-key")

# After (LemonData)
client = OpenAI(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc/v1"  # Add this line
)
# That's it! Same code works

来自 Anthropic 官方 API

# Before (Anthropic)
client = Anthropic(api_key="sk-ant-key")

# After (LemonData)
client = Anthropic(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc"  # Add this line (no /v1!)
)

来自 Google AI Studio

# Before (Google)
import google.generativeai as genai
genai.configure(api_key="google-api-key")

# After (LemonData) - Use 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 with GPT-4o (auto-converts to OpenAI format)
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc"
)

response = client.messages.create(
    model="gpt-4o",  # ✅ Works! Auto-converted
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

# Same SDK, different models - no code changes
response = client.messages.create(model="gemini-2.5-flash", ...)  # ✅ Works!
response = client.messages.create(model="deepseek-r1", ...)       # ✅ Works!

OpenAI SDK → 所有模型

from openai import OpenAI

client = OpenAI(base_url="https://api.lemondata.cc/v1", api_key="sk-...")

# All these work with the same SDK:
response = client.chat.completions.create(model="gpt-4o", ...)
response = client.chat.completions.create(model="claude-sonnet-4-6", ...)
response = client.chat.completions.create(model="gemini-2.5-flash", ...)

行业比较

平台OpenAI 格式Anthropic 格式Gemini 格式Responses API
LemonData✅ 所有模型✅ 所有模型✅ 所有模型✅ 所有模型
OpenRouter✅ 所有模型
Together AI✅ 所有模型
Fireworks✅ 所有模型
虽然跨格式在大多数功能上可行,但格式特定的功能(例如 Anthropic 的延展思维)仍然需要使用原生格式。