Saltar para o conteúdo principal

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.

Formatos de API Suportados

EndpointFormatoCaso de Uso
/v1/chat/completionsOpenAI ChatCompatibilidade universal
/v1/responsesOpenAI ResponsesConversas com estado
/v1/messagesAnthropic MessagesRecursos nativos do Claude
/v1beta/models/:model:generateContentGoogle GeminiRecursos nativos do Gemini

Compatibilidade de IDE & CLI

Ferramentas Verificadas

FerramentaStatusFormatoNotas
Cursor✅ TotalOpenAIFormato de ferramenta Anthropic suportado
Claude Code CLI✅ TotalAnthropicPensamento estendido, tool_choice
Windsurf✅ TotalOpenAIFormato padrão OpenAI
Aider✅ TotalOpenAITodos os modelos suportados
Continue.dev✅ TotalOpenAI/AnthropicSuporte a formato duplo
OpenCode✅ TotalOpenAISuporte a múltiplos provedores
Cline/Roo Code✅ TotalOpenAIVia formato OpenRouter
GitHub Copilot✅ TotalOpenAIFormato padrão
Codex CLI✅ TotalOpenAIAPI OpenAI Responses
Gemini CLI✅ TotalGeminiFormato nativo do Gemini

Exemplos de Configuração

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)

Compatibilidade de SDK

SDKs Verificados

SDKLinguagemStatusNotas
OpenAI SDKPython/JS/Go✅ TotalTodos os parâmetros suportados
Anthropic SDKPython/JS✅ TotalPensamento estendido, ferramentas
Vercel AI SDKTypeScript✅ TotalstreamText, generateObject
LangChainPython/JS✅ TotalChatOpenAI, bind_tools
LlamaIndexPython✅ TotalCompatível com OpenAI
Dify-✅ TotalFormato OpenAI

Parâmetros de Chat Completions

Parâmetros Principais

ParâmetroTipoDescrição
modelstringIdentificador do modelo (obrigatório)
messagesarrayMensagens da conversa (obrigatório)
max_tokensintegerMáximo de tokens de saída
temperaturenumberTemperatura de amostragem (0-2)
top_pnumberAmostragem de núcleo (0-1)
streambooleanHabilitar streaming

Chamada de Ferramentas (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
}

Opções de Escolha de Ferramenta

FormatoExemploDescriçã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âmetroTipoDescrição
stream_optionsobject{ include_usage: true } para contagem de tokens
reasoning_effortstring"low", "medium", "high" para modelos o1/o3
service_tierstring"auto" ou "default"
seedintegerSaídas determinísticas
logprobsbooleanRetornar probabilidades de log
top_logprobsintegerNúmero de logprobs principais (0-20)
logit_biasobjectMapa de viés de token (-100 a 100)
frequency_penaltynumberPenalidade de repetição (-2 a 2)
presence_penaltynumberPenalidade de tópico (-2 a 2)
stopstring/arraySequências de parada
nintegerNúmero de conclusões (1-128)
userstringIdentificador de usuário para rastreamento

Recursos Avançados da OpenAI

ParâmetroTipoDescrição
modalitiesarray["text", "audio"] para multimodal
audioobjectConfiguração de saída de áudio (voz, formato)
predictionobjectSaída prevista para conclusão mais rápida
metadataobjectPares chave-valor para rastreamento
storebooleanArmazenar 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âmetroTipoDescrição
modelstringIdentificador do modelo
messagesarrayMensagens da conversa
max_tokensintegerSaída máxima (até 128000)
systemstring/arrayPrompt do sistema
streambooleanHabilitar streaming

Chamada de Ferramentas (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
  }
}

Pensamento Estendido

{
  "model": "claude-opus-4-5",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Parâmetros da API de Respostas

Parâmetros Principais

ParâmetroTipoDescrição
modelstringIdentificador do modelo
inputstring/arrayConteúdo de entrada
instructionsstringInstruções do sistema
max_output_tokensintegerMáximo de tokens de saída
previous_response_idstringContinuar conversa

Parâmetros Avançados

ParâmetroTipoDescrição
truncation_strategystring"auto" ou "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringPara modelos de raciocínio
service_tierstringNível de prioridade

Formato de Ferramenta

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âmetroTipoDescrição
contentsarrayConteúdo da conversa
systemInstructionobjectPrompt do sistema
generationConfigobjectConfiguraçõ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âmetroTipoDescrição
cachedContentstringReferência de conteúdo em cache
responseMimeTypestring"text/plain" ou "application/json"
responseSchemaobjectEsquema 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

Todos os esquemas usam .passthrough() - parâmetros desconhecidos são encaminhados para os provedores upstream.
Habilite stream_options.include_usage para contagens precisas de tokens em respostas de streaming.
Corresponda ao formato esperado pelo seu SDK. O LemonData aceita os formatos da OpenAI e da Anthropic.