Passer au contenu principal

Aperçu

LemonData prend en charge trois formats d’API natifs avec une seule clé API. Choisissez le format qui convient le mieux à votre cas d’utilisation - aucun changement de configuration n’est nécessaire.

Format OpenAI

/v1/chat/completions Format standard, compatibilité la plus large

Format Anthropic

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

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 avec un simple changement d’URL de base
Facturation uniqueUn seul compte, une seule 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
Prompt systèmeDans le tableau messagesChamp system séparéDans systemInstruction
Réflexion étendue
Streaming✅ SSE✅ SSE✅ SSE
Tool Calling
Vision

Format OpenAI

Le format le plus largement compatible. Fonctionne avec tous les modèles LemonData.
from openai import OpenAI

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

# Fonctionne avec N'IMPORTE QUEL modèle
response = client.chat.completions.create(
    model="claude-sonnet-4-5",  # Claude via le format OpenAI
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)
Idéal pour :
  • Utilisation générale
  • Intégrations existantes du SDK OpenAI
  • Compatibilité maximale

Format Anthropic

API Messages native d’Anthropic. Requis pour les fonctionnalités spécifiques à Claude comme la réflexion étendue (extended thinking).
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-lemondata-key",
    base_url="https://api.lemondata.cc"  # Pas de suffixe /v1 !
)

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

Réflexion étendue (Claude Opus 4.5)

Uniquement disponible au format 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..."}]
)

# Accéder au processus de réflexion
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 de réflexion étendue
  • Utilisateurs natifs du SDK Anthropic

Format Gemini

Format d’API natif 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 Gemini natives

Choisir le bon format

Guides de migration

Depuis l’API officielle d’OpenAI

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

# Après (LemonData)
client = OpenAI(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc/v1"  # Ajouter cette ligne
)
# C'est tout ! Le même code fonctionne

Depuis l’API officielle d’Anthropic

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

# Après (LemonData)
client = Anthropic(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc"  # Ajouter cette ligne (pas de /v1 !)
)

Depuis Google AI Studio

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

# Après (LemonData) - Utiliser l'API REST
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é entre 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

# SDK Anthropic avec GPT-4o (conversion automatique au format 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",  # ✅ Fonctionne ! Converti automatiquement
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

# Même SDK, différents modèles - aucun changement de code
response = client.messages.create(model="gemini-2.5-flash", ...)  # ✅ Fonctionne !
response = client.messages.create(model="deepseek-r1", ...)       # ✅ Fonctionne !

SDK OpenAI → Tous les modèles

from openai import OpenAI

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

# Tous ces modèles fonctionnent avec le même 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", ...)

Comparaison de l’industrie

PlateformeFormat OpenAIFormat AnthropicFormat GeminiAPI Responses
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 le cross-format 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.