Configurações

Idioma

Migre da OpenAI para a LemonData em 5 minutos

L
LemonData
·26 de fevereiro de 2026·43 visualizações
#tutorial#migração#OpenAI#primeiros passos
Migre da OpenAI para a LemonData em 5 minutos

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

  1. Cadastre-se em lemondata.cc e obtenha uma API key (você ganha $1 de crédito grátis)
  2. Substitua seu base_url e sua api_key
  3. 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 gpt4gpt-4, gpt-3.5gpt-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

Share: