Resumen
La API de LemonData está diseñada para una compatibilidad directa (drop-in) con todas las principales herramientas de desarrollo de IA. Esta guía documenta los parámetros soportados y las integraciones verificadas.
Todos los parámetros son validados pero se transmiten a los proveedores ascendentes. Los parámetros no soportados para modelos específicos se ignoran silenciosamente, garantizando la máxima compatibilidad.
Endpoint Formato Caso de uso /v1/chat/completionsOpenAI Chat Compatibilidad universal /v1/responsesOpenAI Responses Conversaciones con estado /v1/messagesAnthropic Messages Funciones nativas de Claude /v1beta/models/:model:generateContentGoogle Gemini Funciones nativas de Gemini
Compatibilidad con IDE y CLI
Herramientas Verificadas
Herramienta Estado Formato Notas Cursor ✅ Completo OpenAI Soporte para formato de herramientas de Anthropic Claude Code CLI ✅ Completo Anthropic Pensamiento extendido, tool_choice Windsurf ✅ Completo OpenAI Formato estándar de OpenAI Aider ✅ Completo OpenAI Todos los modelos soportados Continue.dev ✅ Completo OpenAI/Anthropic Soporte de formato dual OpenCode ✅ Completo OpenAI Soporte multiproveedor Cline/Roo Code ✅ Completo OpenAI Vía formato OpenRouter GitHub Copilot ✅ Completo OpenAI Formato estándar Codex CLI ✅ Completo OpenAI API de OpenAI Responses Gemini CLI ✅ Completo Gemini Formato nativo de Gemini
Ejemplos de Configuración
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor utiliza internamente el formato de herramientas al estilo de Anthropic. LemonData soporta ambos:
Formato OpenAI: { type: "function", function: { name, parameters } }
Formato Anthropic: { name, input_schema } (sin campo 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
Compatibilidad con SDK
SDK Verificados
SDK Lenguaje Estado Notas OpenAI SDK Python/JS/Go ✅ Completo Todos los parámetros soportados Anthropic SDK Python/JS ✅ Completo Pensamiento extendido, herramientas Vercel AI SDK TypeScript ✅ Completo streamText, generateObject LangChain Python/JS ✅ Completo ChatOpenAI, bind_tools LlamaIndex Python ✅ Completo Compatible con OpenAI Dify - ✅ Completo Formato OpenAI
Parámetros de Chat Completions
Parámetros Principales
Parámetro Tipo Descripción modelstring Identificador del modelo (requerido) messagesarray Mensajes de la conversación (requerido) max_tokensinteger Tokens máximos de salida temperaturenumber Temperatura de muestreo (0-2) top_pnumber Muestreo de núcleo (0-1) streamboolean Habilitar 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
}
Formato Ejemplo Descripción String "auto", "none", "required"Selección simple OpenAI Object { "type": "function", "function": { "name": "fn" } }Forzar función específica Anthropic Object { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Formato nativo de Anthropic
Parámetros Avanzados
Parámetro Tipo Descripción stream_optionsobject { include_usage: true } para conteo de tokensreasoning_effortstring "low", "medium", "high" para modelos o1/o3service_tierstring "auto" o "default"seedinteger Resultados deterministas logprobsboolean Devolver probabilidades logarítmicas top_logprobsinteger Número de logprobs principales (0-20) logit_biasobject Mapa de sesgo de tokens (-100 a 100) frequency_penaltynumber Penalización de repetición (-2 a 2) presence_penaltynumber Penalización de presencia (-2 a 2) stopstring/array Secuencias de parada ninteger Número de completados (1-128) userstring Identificador de usuario para seguimiento
Funciones Avanzadas de OpenAI
Parámetro Tipo Descripción modalitiesarray ["text", "audio"] para multimodalaudioobject Configuración de salida de audio (voz, formato) predictionobject Salida predicha para un completado más rápido metadataobject Pares clave-valor para seguimiento storeboolean Almacenar para recuperación posterior
Opciones Específicas del Proveedor
{
"anthropic_options" : {
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
},
"prompt_caching" : true
},
"google_options" : {
"safety_settings" : [ ... ],
"google_search" : true ,
"code_execution" : true
}
}
Parámetros de Anthropic Messages
Parámetros Principales
Parámetro Tipo Descripción modelstring Identificador del modelo messagesarray Mensajes de la conversación max_tokensinteger Salida máxima (hasta 128000) systemstring/array Prompt de sistema streamboolean Habilitar 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
}
}
Pensamiento Extendido (Extended Thinking)
{
"model" : "claude-opus-4-5" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
Parámetros de Responses API
Parámetros Principales
Parámetro Tipo Descripción modelstring Identificador del modelo inputstring/array Contenido de entrada instructionsstring Instrucciones del sistema max_output_tokensinteger Tokens máximos de salida previous_response_idstring Continuar conversación
Parámetros Avanzados
Parámetro Tipo Descripción truncation_strategystring "auto" o "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring Para modelos de razonamiento service_tierstring Nivel de prioridad
Soporta los formatos de herramientas tanto de OpenAI como de Anthropic:
// Formato OpenAI
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Formato Anthropic (compatibilidad con Cursor)
{ "name" : "fn" , "input_schema" : { ... } }
Parámetros de Gemini API
Parámetros Principales
Parámetro Tipo Descripción contentsarray Contenido de la conversación systemInstructionobject Prompt de sistema generationConfigobject Configuración de generación
Herramientas
{
"tools" : [{
"functionDeclarations" : [{
"name" : "search" ,
"description" : "Search the web" ,
"parameters" : { ... }
}],
"codeExecution" : {},
"googleSearch" : {}
}],
"toolConfig" : {
"functionCallingConfig" : {
"mode" : "AUTO"
}
}
}
Configuración de Seguridad
{
"safetySettings" : [
{
"category" : "HARM_CATEGORY_HARASSMENT" ,
"threshold" : "BLOCK_MEDIUM_AND_ABOVE"
}
]
}
Parámetros Adicionales
Parámetro Tipo Descripción cachedContentstring Referencia de contenido en caché responseMimeTypestring "text/plain" o "application/json"responseSchemaobject Esquema JSON para salida estructurada
Streaming
Todos los endpoints soportan streaming mediante 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}'
# Con seguimiento de uso
-d '{"...", "stream_options": {"include_usage": true}}'
Manejo de Errores
LemonData devuelve respuestas de error compatibles con OpenAI:
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
Consulte la Guía de manejo de errores para más detalles.
Mejores Prácticas
Usar passthrough para parámetros desconocidos
Todos los esquemas utilizan .passthrough(): los parámetros desconocidos se reenvían a los proveedores ascendentes.
Preferir stream_options para una facturación precisa
Habilite stream_options.include_usage para obtener conteos de tokens precisos en respuestas de streaming.
Usar el formato tool_choice apropiado
Coincida con el formato esperado por su SDK. LemonData acepta formatos tanto de OpenAI como de Anthropic.