Saltar al contenido principal

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.

Formatos de API Soportados

EndpointFormatoCaso de uso
/v1/chat/completionsOpenAI ChatCompatibilidad universal
/v1/responsesOpenAI ResponsesConversaciones con estado
/v1/messagesAnthropic MessagesFunciones nativas de Claude
/v1beta/models/:model:generateContentGoogle GeminiFunciones nativas de Gemini

Compatibilidad con IDE y CLI

Herramientas Verificadas

HerramientaEstadoFormatoNotas
Cursor✅ CompletoOpenAISoporte para formato de herramientas de Anthropic
Claude Code CLI✅ CompletoAnthropicPensamiento extendido, tool_choice
Windsurf✅ CompletoOpenAIFormato estándar de OpenAI
Aider✅ CompletoOpenAITodos los modelos soportados
Continue.dev✅ CompletoOpenAI/AnthropicSoporte de formato dual
OpenCode✅ CompletoOpenAISoporte multiproveedor
Cline/Roo Code✅ CompletoOpenAIVía formato OpenRouter
GitHub Copilot✅ CompletoOpenAIFormato estándar
Codex CLI✅ CompletoOpenAIAPI de OpenAI Responses
Gemini CLI✅ CompletoGeminiFormato nativo de Gemini

Ejemplos de Configuración

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)

Compatibilidad con SDK

SDK Verificados

SDKLenguajeEstadoNotas
OpenAI SDKPython/JS/Go✅ CompletoTodos los parámetros soportados
Anthropic SDKPython/JS✅ CompletoPensamiento extendido, herramientas
Vercel AI SDKTypeScript✅ CompletostreamText, generateObject
LangChainPython/JS✅ CompletoChatOpenAI, bind_tools
LlamaIndexPython✅ CompletoCompatible con OpenAI
Dify-✅ CompletoFormato OpenAI

Parámetros de Chat Completions

Parámetros Principales

ParámetroTipoDescripción
modelstringIdentificador del modelo (requerido)
messagesarrayMensajes de la conversación (requerido)
max_tokensintegerTokens máximos de salida
temperaturenumberTemperatura de muestreo (0-2)
top_pnumberMuestreo de núcleo (0-1)
streambooleanHabilitar streaming

Llamada a Herramientas (Tool Calling)

{
  "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
}

Opciones de Tool Choice

FormatoEjemploDescripció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ámetroTipoDescripción
stream_optionsobject{ include_usage: true } para conteo de tokens
reasoning_effortstring"low", "medium", "high" para modelos o1/o3
service_tierstring"auto" o "default"
seedintegerResultados deterministas
logprobsbooleanDevolver probabilidades logarítmicas
top_logprobsintegerNúmero de logprobs principales (0-20)
logit_biasobjectMapa de sesgo de tokens (-100 a 100)
frequency_penaltynumberPenalización de repetición (-2 a 2)
presence_penaltynumberPenalización de presencia (-2 a 2)
stopstring/arraySecuencias de parada
nintegerNúmero de completados (1-128)
userstringIdentificador de usuario para seguimiento

Funciones Avanzadas de OpenAI

ParámetroTipoDescripción
modalitiesarray["text", "audio"] para multimodal
audioobjectConfiguración de salida de audio (voz, formato)
predictionobjectSalida predicha para un completado más rápido
metadataobjectPares clave-valor para seguimiento
storebooleanAlmacenar 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ámetroTipoDescripción
modelstringIdentificador del modelo
messagesarrayMensajes de la conversación
max_tokensintegerSalida máxima (hasta 128000)
systemstring/arrayPrompt de sistema
streambooleanHabilitar streaming

Llamada a Herramientas (Tool Calling)

{
  "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ámetroTipoDescripción
modelstringIdentificador del modelo
inputstring/arrayContenido de entrada
instructionsstringInstrucciones del sistema
max_output_tokensintegerTokens máximos de salida
previous_response_idstringContinuar conversación

Parámetros Avanzados

ParámetroTipoDescripción
truncation_strategystring"auto" o "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringPara modelos de razonamiento
service_tierstringNivel de prioridad

Formato de Herramientas

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ámetroTipoDescripción
contentsarrayContenido de la conversación
systemInstructionobjectPrompt de sistema
generationConfigobjectConfiguració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ámetroTipoDescripción
cachedContentstringReferencia de contenido en caché
responseMimeTypestring"text/plain" o "application/json"
responseSchemaobjectEsquema 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

Todos los esquemas utilizan .passthrough(): los parámetros desconocidos se reenvían a los proveedores ascendentes.
Habilite stream_options.include_usage para obtener conteos de tokens precisos en respuestas de streaming.
Coincida con el formato esperado por su SDK. LemonData acepta formatos tanto de OpenAI como de Anthropic.