Saltar para o conteúdo principal

Visão Geral

LemonData expõe múltiplos formatos de API para que ferramentas comuns de codificação, SDKs e frameworks possam se integrar com código auxiliar mínimo. Esta página é intencionalmente mais restrita do que uma matriz de marketing:
  • Suportado significa que documentamos um caminho de configuração concreto e que a LemonData expõe o formato de protocolo que esse caminho espera.
  • Caminho nativo forte significa que o repositório também possui adaptador direto ou evidência de formato de requisição para essa família de protocolos.
  • Melhor esforço significa que a integração pode funcionar, mas o cliente upstream não trata esse fluxo de gateway customizado como um contrato estável.
Campos não suportados não são tratados de forma uniforme. Nas rotas de compatibilidade, alguns campos são ignorados ou normalizados. Em /v1/responses, campos não suportados podem retornar erros explícitos 400 ou 503 quando essa rota não pode garantir o comportamento solicitado.

Formatos de API Suportados

RotaFormatoCaso 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

Caminhos de Ferramentas Documentados

FerramentaNível de SuporteFormatoObservações
CursorSuportado com limitesCompatível com OpenAIFunciona para fluxos padrão BYOK de chat/editores, não substitui recursos gerenciados pelo Cursor como Tab Completion
Claude Code CLICaminho nativo forteAnthropicRota nativa /v1/messages com cobertura de adaptador para thinking e tool_choice
Codex CLISuportado com limites de modelo/rotaOpenAI ResponsesConsidere /v1/responses como um caminho avançado para fluxos específicos do Codex; alguns campos exclusivos de Responses não são garantidos em todos os modelos e rotas
Gemini CLIMelhor esforço / experimentalGeminiO fluxo com URL base personalizada da LemonData não é um contrato estável a montante
OpenCodeSuportadoCompatível com OpenAIUse um provedor compatível com OpenAI por padrão; mude para um provedor baseado em Responses somente quando precisar explicitamente
Outros editores compatíveis com OpenAI e ferramentas de agentes frequentemente funcionam com o mesmo padrão de URL base, mas este repositório não mantém atualmente cobertura de regressão específica por ferramenta para Windsurf, Aider, Continue.dev, Cline/Roo Code, GitHub Copilot e clientes similares.

Exemplos de Configuração

Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
O Cursor usa internamente o formato de ferramentas no estilo Anthropic. A LemonData suporta ambos:
  • Formato OpenAI: { type: "function", function: { name, parameters } }
  • Formato Anthropic: { name, input_schema } (sem o campo type)

Compatibilidade de SDK

Caminhos de SDK & Framework Documentados

SDK / FrameworkLinguagemNível de SuporteObservações
OpenAI SDKPython/JS/GoCaminho central suportadoChat Completions e Embeddings são o caminho padrão documentado; alguns campos exclusivos de Responses não são garantidos em todos os modelos e rotas
Anthropic SDKPython/JSCaminho nativo forteRota Messages nativa com evidência direta para tools, thinking e cache de prompts
Vercel AI SDKTypeScriptPadrão de integração recomendadoPrefira @ai-sdk/openai-compatible; use @ai-sdk/openai somente quando desejar explicitamente comportamento nativo de Responses
LangChainPython/JSSuperfícies padrão suportadasChatOpenAI e OpenAIEmbeddings são o escopo pretendido; extras nativos do fornecedor estão fora do escopo
LlamaIndexPythonSuportado via OpenAILikeUse OpenAILike, não as classes OpenAI embutidas, para gateways de terceiros como LemonData
Dify-Suportado com limites de escopoO provedor OpenAI e fluxos orientados a chat-completions são o caminho pretendido; não é adequado para Responses específicos do Codex ou comportamento via WebSocket

Parâmetros de Chat Completions

Parâmetros Básicos

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 nucleus (0-1)
streambooleanHabilitar streaming

Chamada de Ferramenta

{
  "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
OpenAI Object{ "type": "function", "function": { "name": "fn" } }Forçar função específica
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Formato nativo Anthropic

Parâmetros Avançados

ParâmetroTipoDescrição
stream_optionsobject{ include_usage: true } para contagem de tokens
reasoning_effortstring"low", "medium", "high" para modelos GPT-5 com raciocínio habilitado
service_tierstring"auto" ou "default"
seedintegerSaídas determinísticas
logprobsbooleanRetorna probabilidades logarítmicas
top_logprobsintegerNúmero de top logprobs (0-20)
logit_biasobjectMapa de viés por token (-100 a 100)
frequency_penaltynumberPenalidade por repetição (-2 a 2)
presence_penaltynumberPenalidade por tópico (-2 a 2)
stopstring/arraySequências de parada
nintegerNúmero de completions (1-128)
userstringIdentificador do usuário para rastreamento

Recursos Avançados do 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 Básicos

ParâmetroTipoDescrição
modelstringIdentificador do modelo
messagesarrayMensagens da conversa
max_tokensintegerSaída máxima (até 128000)
systemstring/arrayPrompt do sistema
streambooleanHabilitar streaming

Chamada de Ferramenta

{
  "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-6",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Parâmetros da API Responses

Parâmetros Básicos

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 a 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 ambos os formatos de ferramenta OpenAI e Anthropic:
// OpenAI format
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic format (Cursor compatibility)
{ "name": "fn", "input_schema": {...} }

Parâmetros da API Gemini

Parâmetros Básicos

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"
responseSchemaobjectJSON schema 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}'

# With usage tracking
-d '{"...", "stream_options": {"include_usage": true}}'

Tratamento de Erros

A LemonData retorna respostas de erro compatíveis com OpenAI:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
Veja Guia de Tratamento de Erros para detalhes.

Melhores Práticas

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