Visão Geral
A API LemonData foi projetada para compatibilidade drop-in com todas as principais ferramentas de desenvolvimento de IA. Este guia documenta os parâmetros suportados e integrações verificadas.
Todos os parâmetros são validados, mas repassados aos provedores upstream. Parâmetros não suportados para modelos específicos são ignorados silenciosamente, garantindo a máxima compatibilidade.
Endpoint Formato Caso de Uso /v1/chat/completionsOpenAI Chat Compatibilidade universal /v1/responsesOpenAI Responses Conversas com estado /v1/messagesAnthropic Messages Recursos nativos do Claude /v1beta/models/:model:generateContentGoogle Gemini Recursos nativos do Gemini
Compatibilidade de IDE & CLI
Ferramentas Verificadas
Ferramenta Status Formato Notas Cursor ✅ Total OpenAI Formato de ferramenta Anthropic suportado Claude Code CLI ✅ Total Anthropic Pensamento estendido, tool_choice Windsurf ✅ Total OpenAI Formato padrão OpenAI Aider ✅ Total OpenAI Todos os modelos suportados Continue.dev ✅ Total OpenAI/Anthropic Suporte a formato duplo OpenCode ✅ Total OpenAI Suporte a múltiplos provedores Cline/Roo Code ✅ Total OpenAI Via formato OpenRouter GitHub Copilot ✅ Total OpenAI Formato padrão Codex CLI ✅ Total OpenAI API OpenAI Responses Gemini CLI ✅ Total Gemini Formato nativo do Gemini
Exemplos de Configuração
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
O Cursor usa internamente o formato de ferramenta no estilo Anthropic. O LemonData suporta ambos:
Formato OpenAI: { type: "function", function: { name, parameters } }
Formato Anthropic: { name, input_schema } (sem 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
Compatibilidade de SDK
SDKs Verificados
SDK Linguagem Status Notas OpenAI SDK Python/JS/Go ✅ Total Todos os parâmetros suportados Anthropic SDK Python/JS ✅ Total Pensamento estendido, ferramentas Vercel AI SDK TypeScript ✅ Total streamText, generateObjectLangChain Python/JS ✅ Total ChatOpenAI, bind_toolsLlamaIndex Python ✅ Total Compatível com OpenAI Dify - ✅ Total Formato OpenAI
Parâmetros de Chat Completions
Parâmetros Principais
Parâmetro Tipo Descrição modelstring Identificador do modelo (obrigatório) messagesarray Mensagens da conversa (obrigatório) max_tokensinteger Máximo de tokens de saída temperaturenumber Temperatura de amostragem (0-2) top_pnumber Amostragem 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
}
Opções de Escolha de Ferramenta
Formato Exemplo Descrição String "auto", "none", "required"Seleção simples Objeto OpenAI { "type": "function", "function": { "name": "fn" } }Forçar função específica Objeto Anthropic { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Formato nativo da Anthropic
Parâmetros Avançados
Parâmetro Tipo Descrição stream_optionsobject { include_usage: true } para contagem de tokensreasoning_effortstring "low", "medium", "high" para modelos o1/o3service_tierstring "auto" ou "default"seedinteger Saídas determinísticas logprobsboolean Retornar probabilidades de log top_logprobsinteger Número de logprobs principais (0-20) logit_biasobject Mapa de viés de token (-100 a 100) frequency_penaltynumber Penalidade de repetição (-2 a 2) presence_penaltynumber Penalidade de tópico (-2 a 2) stopstring/array Sequências de parada ninteger Número de conclusões (1-128) userstring Identificador de usuário para rastreamento
Recursos Avançados da OpenAI
Parâmetro Tipo Descrição modalitiesarray ["text", "audio"] para multimodalaudioobject Configuração de saída de áudio (voz, formato) predictionobject Saída prevista para conclusão mais rápida metadataobject Pares chave-valor para rastreamento storeboolean Armazenar para recuperação posterior
Opções Específicas do Provedor
{
"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 Principais
Parâmetro Tipo Descrição modelstring Identificador do modelo messagesarray Mensagens da conversa max_tokensinteger Saída máxima (até 128000) systemstring/array Prompt do 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
}
}
Pensamento Estendido
{
"model" : "claude-opus-4-5" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
Parâmetros da API de Respostas
Parâmetros Principais
Parâmetro Tipo Descrição modelstring Identificador do modelo inputstring/array Conteúdo de entrada instructionsstring Instruções do sistema max_output_tokensinteger Máximo de tokens de saída previous_response_idstring Continuar conversa
Parâmetros Avançados
Parâmetro Tipo Descrição truncation_strategystring "auto" ou "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring Para modelos de raciocínio service_tierstring Nível de prioridade
Suporta os formatos de ferramenta da OpenAI e da Anthropic:
// Formato OpenAI
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Formato Anthropic (compatibilidade com Cursor)
{ "name" : "fn" , "input_schema" : { ... } }
Parâmetros da API Gemini
Parâmetros Principais
Parâmetro Tipo Descrição contentsarray Conteúdo da conversa systemInstructionobject Prompt do sistema generationConfigobject Configurações de geração
Ferramentas
{
"tools" : [{
"functionDeclarations" : [{
"name" : "search" ,
"description" : "Search the web" ,
"parameters" : { ... }
}],
"codeExecution" : {},
"googleSearch" : {}
}],
"toolConfig" : {
"functionCallingConfig" : {
"mode" : "AUTO"
}
}
}
Configurações de Segurança
{
"safetySettings" : [
{
"category" : "HARM_CATEGORY_HARASSMENT" ,
"threshold" : "BLOCK_MEDIUM_AND_ABOVE"
}
]
}
Parâmetros Adicionais
Parâmetro Tipo Descrição cachedContentstring Referência de conteúdo em cache responseMimeTypestring "text/plain" ou "application/json"responseSchemaobject Esquema JSON para saída estruturada
Streaming
Todos os endpoints suportam streaming via 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}'
# Com rastreamento de uso
-d '{"...", "stream_options": {"include_usage": true}}'
Tratamento de Erros
O LemonData retorna respostas de erro compatíveis com a OpenAI:
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
Consulte o Guia de Tratamento de Erros para mais detalhes.
Melhores Práticas
Use passthrough para parâmetros desconhecidos
Todos os esquemas usam .passthrough() - parâmetros desconhecidos são encaminhados para os provedores upstream.
Prefira stream_options para faturamento preciso
Habilite stream_options.include_usage para contagens precisas de tokens em respostas de streaming.
Use o formato tool_choice apropriado
Corresponda ao formato esperado pelo seu SDK. O LemonData aceita os formatos da OpenAI e da Anthropic.