Passer au contenu principal

Aperçu

LemonData prend en charge trois formats d’API natifs avec une seule clé API. Choisissez le format qui correspond le mieux à votre cas d’utilisation — aucune modification de configuration nécessaire.

Format OpenAI

/v1/chat/completions Format standard, compatibilité maximale

Format Anthropic

/v1/messages Réflexion étendue, fonctionnalités natives de Claude

Format Gemini

/v1beta/models/:model:generateContent Intégration à l’écosystème Google

Pourquoi le multi-format ?

AvantageDescription
Pas de changement de SDKUtilisez n’importe quel modèle avec votre SDK préféré
Fonctionnalités nativesAccédez aux capacités spécifiques à chaque format
Migration facilePassez des API officielles en changeant uniquement l’URL de base
Facturation uniqueUn compte, une clé API, tous les formats

Comparaison des formats

FonctionnalitéOpenAIAnthropicGemini
Endpoint/v1/chat/completions/v1/messages/v1beta/models/:model:generateContent
En-tête d’authentificationAuthorization: Bearerx-api-keyAuthorization: Bearer
Invite systèmeDans le tableau messagesChamp system séparéDans systemInstruction
Réflexion étendue
Streaming✅ SSE✅ SSE✅ SSE
Appel d’outils
Vision

Format OpenAI

Le format le plus compatible et le point de départ par défaut pour la plupart des nouvelles intégrations. Fonctionne avec le plus grand nombre de modèles 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!"}
    ]
)
Idéal pour :
  • Usage général
  • Intégrations existantes avec l’OpenAI SDK
  • Compatibilité maximale

Format Anthropic

API Messages native d’Anthropic. Requis pour les fonctionnalités spécifiques à Claude comme la réflexion étendue.
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!"}
    ]
)

Réflexion étendue (Claude Opus 4.6)

Disponible uniquement en format 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}")
Idéal pour :
  • Fonctionnalités spécifiques à Claude
  • Mode réflexion étendue
  • Utilisateurs du SDK Anthropic natif

Format Gemini

Format natif de l’API Google Gemini pour l’intégration à l’écosystème 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"}]}]
  }'
Idéal pour :
  • Intégrations Google Cloud
  • Code existant du SDK Gemini
  • Fonctionnalités natives de Gemini

Choisir le bon format

Guides de migration

Depuis l’API officielle OpenAI

# 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

Depuis l’API officielle Anthropic

# 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!)
)

Depuis 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"}]}]}
)

Compatibilité inter-modèles

La magie de LemonData : utilisez n’importe quel SDK avec n’importe quel modèle. La passerelle gère automatiquement la conversion de format.

N’importe quel SDK → N’importe quel modèle

# 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 → Tous les modèles

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", ...)

Comparaison par plateforme

PlateformeFormat OpenAIFormat AnthropicFormat GeminiResponses API
LemonData✅ Tous les modèles✅ Tous les modèles✅ Tous les modèles✅ Tous les modèles
OpenRouter✅ Tous les modèles
Together AI✅ Tous les modèles
Fireworks✅ Tous les modèles
Bien que la compatibilité entre formats fonctionne pour la plupart des fonctionnalités, les fonctionnalités spécifiques à un format (comme la réflexion étendue d’Anthropic) nécessitent le format natif.