Migre da OpenAI para a LemonData em 5 Minutos
Mudar da API oficial da OpenAI para a LemonData leva apenas duas alterações de linha. Seu código existente, prompts e nomes de modelos funcionam como estão. Você também ganha acesso a mais de 300 modelos da OpenAI, Anthropic, Google, DeepSeek e outros, através da mesma API key.
A Versão Curta
- Cadastre-se em lemondata.cc e obtenha uma API key (você ganha $1 de crédito grátis)
- Substitua seu
base_urle suaapi_key - Pronto. Todo o resto permanece igual.
Python (OpenAI SDK)
# Antes — OpenAI oficial
from openai import OpenAI
client = OpenAI(api_key="sk-openai-xxx")
# Depois — LemonData (altere 2 linhas)
from openai import OpenAI
client = OpenAI(
api_key="sk-lemon-xxx",
base_url="https://api.lemondata.cc/v1"
)
# Todo o resto permanece igual
response = client.chat.completions.create(
model="gpt-4.1",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
Streaming, function calling, vision: tudo funciona de forma idêntica. O SDK Python da OpenAI envia requisições para qualquer base_url que você configurar.
Node.js (OpenAI SDK)
// Antes — OpenAI oficial
import OpenAI from 'openai';
const openai = new OpenAI({ apiKey: 'sk-openai-xxx' });
// Depois — LemonData (altere 2 linhas)
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: 'sk-lemon-xxx',
baseURL: 'https://api.lemondata.cc/v1',
});
// Todo o resto permanece igual
const completion = await openai.chat.completions.create({
model: 'gpt-4.1',
messages: [{ role: 'user', content: 'Hello!' }],
});
console.log(completion.choices[0].message.content);
Nota: no SDK Node.js é baseURL (camelCase), não base_url.
curl
# Antes — OpenAI oficial
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer sk-openai-xxx" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4.1","messages":[{"role":"user","content":"Hello"}]}'
# Depois — LemonData (altere a URL e a chave)
curl https://api.lemondata.cc/v1/chat/completions \
-H "Authorization: Bearer sk-lemon-xxx" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4.1","messages":[{"role":"user","content":"Hello"}]}'
Mesmo caminho de endpoint, mesmo corpo de requisição, mesmo formato de resposta.
Abordagem por Variável de Ambiente
Se o seu código lê variáveis de ambiente (o que deveria fazer), você nem precisa mexer no código:
# Antes
export OPENAI_API_KEY="sk-openai-xxx"
export OPENAI_BASE_URL="https://api.openai.com/v1"
# Depois
export OPENAI_API_KEY="sk-lemon-xxx"
export OPENAI_BASE_URL="https://api.lemondata.cc/v1"
O SDK da OpenAI lê automaticamente OPENAI_API_KEY e OPENAI_BASE_URL do ambiente. Zero alterações de código.
O Que Você Ganha Após a Migração
Uma vez na LemonData, você mantém total compatibilidade com a OpenAI e ganha acesso a recursos adicionais:
Mais de 300 Modelos, Uma Única API Key
Seu código OpenAI existente agora funciona com Claude, Gemini, DeepSeek, Mistral e centenas de outros — basta alterar o parâmetro model:
# GPT-4.1 (OpenAI) — $2.00/$8.00 por 1M tokens
response = client.chat.completions.create(model="gpt-4.1", messages=messages)
# Claude Sonnet 4.6 (Anthropic) — $3.00/$15.00 per 1M tokens
response = client.chat.completions.create(model="claude-sonnet-4-6", messages=messages)
# Gemini 2.5 Pro (Google)
response = client.chat.completions.create(model="gemini-2.5-pro", messages=messages)
# DeepSeek V3 — $0.28/$0.42 por 1M tokens (use "deepseek-chat" ou o alias "deepseek-v3")
response = client.chat.completions.create(model="deepseek-chat", messages=messages)
Redundância multicanal significa que, se um provedor upstream tiver problemas, o gateway roteia automaticamente para um canal alternativo. Nenhuma alteração de código é necessária.
Acesso a Protocolos Nativos (Opcional)
Se você quiser usar modelos da Anthropic ou do Google com todos os seus recursos nativos (extended thinking, prompt caching com cache_control, Google search grounding), a LemonData suporta seus protocolos nativos através da mesma base URL:
# Anthropic nativo — use o SDK da Anthropic
# Extended thinking, cache_control, Citations funcionam nativamente
from anthropic import Anthropic
client = Anthropic(
api_key="sk-lemon-xxx",
base_url="https://api.lemondata.cc" # Sem /v1 — o SDK da Anthropic adiciona /v1/messages sozinho
)
# Google Gemini nativo — use o SDK do Google
# Search grounding, grounding_metadata funcionam nativamente
from google import genai
client = genai.Client(
api_key="sk-lemon-xxx",
http_options={"base_url": "https://api.lemondata.cc"} # Sem sufixo de caminho — o SDK adiciona /v1beta/models/...
)
Isso é inteiramente opcional. O endpoint compatível com OpenAI funciona para todos os modelos. Mas se você precisar do extended thinking da Anthropic ou do grounding do Google, o acesso ao protocolo nativo oferece esses recursos sem qualquer perda de conversão de formato.
Migração de Integrações Comuns
Cursor
Settings → Models → OpenAI API Key:
- API Key:
sk-lemon-xxx - Base URL:
https://api.lemondata.cc/v1
LangChain
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4.1",
api_key="sk-lemon-xxx",
base_url="https://api.lemondata.cc/v1"
)
Vercel AI SDK
import { createOpenAI } from '@ai-sdk/openai';
const lemondata = createOpenAI({
apiKey: 'sk-lemon-xxx',
baseURL: 'https://api.lemondata.cc/v1',
});
const result = await generateText({
model: lemondata('gpt-4.1'),
prompt: 'Hello!',
});
LiteLLM
import litellm
response = litellm.completion(
model="openai/gpt-4.1",
messages=[{"role": "user", "content": "Hello!"}],
api_key="sk-lemon-xxx",
api_base="https://api.lemondata.cc/v1"
)
Verifique Sua Migração
Teste rápido de sanidade após a mudança:
curl https://api.lemondata.cc/v1/models \
-H "Authorization: Bearer sk-lemon-xxx" | head -c 200
Se você vir uma resposta JSON com objetos de modelo, está tudo certo.
FAQ
Meus prompts existentes funcionarão? Sim. A LemonData é totalmente compatível com a OpenAI. Mesmo formato de requisição, mesmo formato de resposta.
Preciso mudar os nomes dos modelos? Não. gpt-4.1, gpt-4o, gpt-4.1-mini — todos os nomes de modelos padrão da OpenAI funcionam. A LemonData também possui um sistema de resolução de modelos em três camadas: correspondência exata → busca por alias (21 aliases estáticos como gpt4 → gpt-4, gpt-3.5 → gpt-3.5-turbo) → correção difusa (distância de Levenshtein ≤ 3). Assim, até nomes obsoletos como gpt-4-turbo ou erros de digitação como gpt4o são resolvidos corretamente.
E quanto ao streaming? Funciona de forma idêntica. Formato SSE, mesma estrutura de chunks. Para protocolos nativos Anthropic/Gemini, você recebe o formato SSE nativo de cada provedor (incluindo thinking deltas para extended thinking).
E quanto a function calling / tools? Totalmente suportado. Mesmo schema, mesmo comportamento.
E quanto ao tratamento de erros? A LemonData retorna erros compatíveis com a OpenAI com campos adicionais amigáveis para agentes: retryable, did_you_mean, suggestions, retry_after. O tratamento de erros padrão do SDK da OpenAI funciona inalterado — os campos extras são aditivos.
Posso voltar atrás? Sim. Altere as duas linhas de volta. Não há lock-in. Sem formato proprietário, sem migração de dados.
Documentação completa da API: docs.lemondata.cc Guia de início rápido: docs.lemondata.cc/quickstart
