Présentation
L’API LemonData est conçue pour une compatibilité immédiate (drop-in) avec tous les principaux outils de développement IA. Ce guide documente les paramètres pris en charge et les intégrations vérifiées.
Tous les paramètres sont validés mais transmis aux fournisseurs en amont. Les paramètres non pris en charge pour des modèles spécifiques sont ignorés silencieusement, garantissant une compatibilité maximale.
Endpoint Format Cas d’utilisation /v1/chat/completionsOpenAI Chat Compatibilité universelle /v1/responsesOpenAI Responses Conversations avec état /v1/messagesAnthropic Messages Fonctionnalités natives Claude /v1beta/models/:model:generateContentGoogle Gemini Fonctionnalités natives Gemini
Compatibilité IDE & CLI
Outils vérifiés
Outil Statut Format Notes Cursor ✅ Complète OpenAI Format d’outil Anthropic pris en charge Claude Code CLI ✅ Complète Anthropic Réflexion étendue (extended thinking), tool_choice Windsurf ✅ Complète OpenAI Format OpenAI standard Aider ✅ Complète OpenAI Tous les modèles pris en charge Continue.dev ✅ Complète OpenAI/Anthropic Prise en charge du double format OpenCode ✅ Complète OpenAI Prise en charge multi-fournisseurs Cline/Roo Code ✅ Complète OpenAI Via le format OpenRouter GitHub Copilot ✅ Complète OpenAI Format standard Codex CLI ✅ Complète OpenAI API OpenAI Responses Gemini CLI ✅ Complète Gemini Format Gemini natif
Exemples de configuration
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor utilise en interne le format d’outil de style Anthropic. LemonData prend en charge les deux :
Format OpenAI : { type: "function", function: { name, parameters } }
Format Anthropic : { name, input_schema } (pas de champ type)
export ANTHROPIC_BASE_URL = "https://api.lemondata.cc"
export ANTHROPIC_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export LOCAL_ENDPOINT = "https://api.lemondata.cc/v1"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_BASE = "https://api.lemondata.cc/v1"
aider --model gpt-4o
Compatibilité SDK
SDK vérifiés
SDK Langage Statut Notes OpenAI SDK Python/JS/Go ✅ Complète Tous les paramètres pris en charge Anthropic SDK Python/JS ✅ Complète Réflexion étendue (extended thinking), outils Vercel AI SDK TypeScript ✅ Complète streamText, generateObjectLangChain Python/JS ✅ Complète ChatOpenAI, bind_toolsLlamaIndex Python ✅ Complète Compatible OpenAI Dify - ✅ Complète Format OpenAI
Paramètres Chat Completions
Paramètres de base
Paramètre Type Description modelstring Identifiant du modèle (requis) messagesarray Messages de la conversation (requis) max_tokensinteger Nombre maximum de tokens en sortie temperaturenumber Température d’échantillonnage (0-2) top_pnumber Échantillonnage nucléaire (0-1) streamboolean Activer le streaming
{
"tools" : [
{
"type" : "function" ,
"function" : {
"name" : "get_weather" ,
"description" : "Get weather for a location" ,
"parameters" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
}
},
"strict" : true
}
}
],
"tool_choice" : "auto" ,
"parallel_tool_calls" : true
}
Format Exemple Description String "auto", "none", "required"Sélection simple Objet OpenAI { "type": "function", "function": { "name": "fn" } }Forcer une fonction spécifique Objet Anthropic { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Format natif Anthropic
Paramètres avancés
Paramètre Type Description stream_optionsobject { include_usage: true } pour le décompte des tokensreasoning_effortstring "low", "medium", "high" pour les modèles o1/o3service_tierstring "auto" ou "default"seedinteger Sorties déterministes logprobsboolean Retourner les probabilités logarithmiques (logprobs) top_logprobsinteger Nombre de logprobs supérieures (0-20) logit_biasobject Carte de biais de tokens (-100 à 100) frequency_penaltynumber Pénalité de répétition (-2 à 2) presence_penaltynumber Pénalité de présence (-2 à 2) stopstring/array Séquences d’arrêt ninteger Nombre de complétions (1-128) userstring Identifiant utilisateur pour le suivi
Fonctionnalités avancées OpenAI
Paramètre Type Description modalitiesarray ["text", "audio"] pour le multimodalaudioobject Configuration de la sortie audio (voix, format) predictionobject Sortie prédite pour une complétion plus rapide metadataobject Paires clé-valeur pour le suivi storeboolean Stocker pour une récupération ultérieure
Options spécifiques aux fournisseurs
{
"anthropic_options" : {
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
},
"prompt_caching" : true
},
"google_options" : {
"safety_settings" : [ ... ],
"google_search" : true ,
"code_execution" : true
}
}
Paramètres Anthropic Messages
Paramètres de base
Paramètre Type Description modelstring Identifiant du modèle messagesarray Messages de la conversation max_tokensinteger Sortie maximale (jusqu’à 128000) systemstring/array Prompt système streamboolean Activer le streaming
{
"tools" : [
{
"name" : "get_weather" ,
"description" : "Get weather" ,
"input_schema" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
}
}
}
],
"tool_choice" : {
"type" : "auto" ,
"disable_parallel_tool_use" : false
}
}
Réflexion étendue (Extended Thinking)
{
"model" : "claude-opus-4-5" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
Paramètres de l’API Responses
Paramètres de base
Paramètre Type Description modelstring Identifiant du modèle inputstring/array Contenu d’entrée instructionsstring Instructions système max_output_tokensinteger Nombre maximum de tokens en sortie previous_response_idstring Continuer la conversation
Paramètres avancés
Paramètre Type Description truncation_strategystring "auto" ou "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring Pour les modèles de raisonnement service_tierstring Niveau de priorité
Prend en charge les formats d’outils OpenAI et Anthropic :
// Format OpenAI
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Format Anthropic (compatibilité Cursor)
{ "name" : "fn" , "input_schema" : { ... } }
Paramètres de l’API Gemini
Paramètres de base
Paramètre Type Description contentsarray Contenu de la conversation systemInstructionobject Prompt système generationConfigobject Paramètres de génération
Outils
{
"tools" : [{
"functionDeclarations" : [{
"name" : "search" ,
"description" : "Search the web" ,
"parameters" : { ... }
}],
"codeExecution" : {},
"googleSearch" : {}
}],
"toolConfig" : {
"functionCallingConfig" : {
"mode" : "AUTO"
}
}
}
Paramètres de sécurité
{
"safetySettings" : [
{
"category" : "HARM_CATEGORY_HARASSMENT" ,
"threshold" : "BLOCK_MEDIUM_AND_ABOVE"
}
]
}
Paramètres supplémentaires
Paramètre Type Description cachedContentstring Référence au contenu mis en cache responseMimeTypestring "text/plain" ou "application/json"responseSchemaobject Schéma JSON pour une sortie structurée
Streaming
Tous les endpoints prennent en charge le streaming Server-Sent Events (SSE) :
# Chat Completions
curl https://api.lemondata.cc/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-d '{"model": "gpt-4o", "messages": [...], "stream": true}'
# Avec suivi de l'utilisation
-d '{"...", "stream_options": {"include_usage": true}}'
Gestion des erreurs
LemonData renvoie des réponses d’erreur compatibles avec OpenAI :
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
Consultez le Guide de gestion des erreurs pour plus de détails.
Bonnes pratiques
Utiliser le passthrough pour les paramètres inconnus
Tous les schémas utilisent .passthrough() - les paramètres inconnus sont transmis aux fournisseurs en amont.
Préférer stream_options pour une facturation précise
Activez stream_options.include_usage pour obtenir un décompte précis des tokens dans les réponses en streaming.
Utiliser le format tool_choice approprié
Faites correspondre le format attendu par votre SDK. LemonData accepte les formats OpenAI et Anthropic.