Langsung ke konten utama

Ikhtisar

LemonData mendukung tiga format API native dengan satu API key. Pilih format yang paling sesuai dengan kasus penggunaan Anda - tidak perlu mengubah konfigurasi.

Format OpenAI

/v1/chat/completions Format standar, kompatibilitas paling luas

Format Anthropic

/v1/messages Extended thinking, fitur native Claude

Format Gemini

/v1beta/models/:model:generateContent Integrasi ekosistem Google

Mengapa Multi-Format?

ManfaatDeskripsi
Tanpa berpindah SDKGunakan model apa pun dengan SDK pilihan Anda
Fitur nativeAkses kemampuan spesifik format
Migrasi mudahBeralih dari API resmi hanya dengan mengubah base URL
Penagihan tunggalSatu akun, satu API key, semua format

Perbandingan Format

FiturOpenAIAnthropicGemini
Endpoint/v1/chat/completions/v1/messages/v1beta/models/:model:generateContent
Auth HeaderAuthorization: Bearerx-api-keyAuthorization: Bearer
Prompt SistemDalam array messagesField system terpisahDalam systemInstruction
Extended Thinking
Streaming✅ SSE✅ SSE✅ SSE
Tool Calling
Vision

Format OpenAI

Format yang paling kompatibel dan titik awal default untuk sebagian besar integrasi baru. Bekerja di berbagai model LemonData.
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-lemondata-key",
    base_url="https://api.lemondata.cc/v1"
)

# Works with ANY model
response = client.chat.completions.create(
    model="claude-sonnet-4-6",  # Claude via OpenAI format
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)
Terbaik untuk:
  • Penggunaan umum
  • Integrasi yang sudah menggunakan OpenAI SDK
  • Kompatibilitas maksimal

Format Anthropic

API Native Anthropic Messages. Diperlukan untuk fitur spesifik Claude seperti extended thinking.
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-lemondata-key",
    base_url="https://api.lemondata.cc"  # No /v1 suffix!
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="You are a helpful assistant.",  # Separate system field
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

Extended Thinking (Claude Opus 4.6)

Hanya tersedia dalam format Anthropic:
message = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{"role": "user", "content": "Solve this complex problem..."}]
)

# Access thinking process
for block in message.content:
    if block.type == "thinking":
        print(f"Thinking: {block.thinking}")
    elif block.type == "text":
        print(f"Answer: {block.text}")
Terbaik untuk:
  • Fitur spesifik Claude
  • Mode extended thinking
  • Pengguna Anthropic SDK native

Format Gemini

Format native Google Gemini untuk integrasi ekosistem Google.
curl "https://api.lemondata.cc/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "Authorization: Bearer sk-your-lemondata-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{"text": "Hello!"}]
    }],
    "systemInstruction": {
      "parts": [{"text": "You are a helpful assistant."}]
    }
  }'

Streaming

curl "https://api.lemondata.cc/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse" \
  -H "Authorization: Bearer sk-your-lemondata-key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "Write a story"}]}]
  }'
Terbaik untuk:
  • Integrasi Google Cloud
  • Kode yang sudah menggunakan Gemini SDK
  • Fitur native Gemini

Memilih Format yang Tepat

Panduan Migrasi

Dari OpenAI Official API

# Before (OpenAI)
client = OpenAI(api_key="sk-openai-key")

# After (LemonData)
client = OpenAI(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc/v1"  # Add this line
)
# That's it! Same code works

Dari Anthropic Official API

# Before (Anthropic)
client = Anthropic(api_key="sk-ant-key")

# After (LemonData)
client = Anthropic(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc"  # Add this line (no /v1!)
)

Dari Google AI Studio

# Before (Google)
import google.generativeai as genai
genai.configure(api_key="google-api-key")

# After (LemonData) - Use REST API
import requests

response = requests.post(
    "https://api.lemondata.cc/v1beta/models/gemini-2.5-flash:generateContent",
    headers={"Authorization": "Bearer sk-lemondata-key"},
    json={"contents": [{"parts": [{"text": "Hello"}]}]}
)

Kompatibilitas Lintas-Model

Keajaiban LemonData: gunakan SDK apa pun dengan model apa pun. Gateway secara otomatis menangani konversi format.

Any SDK → Any Model

# Anthropic SDK with GPT-4o (auto-converts to OpenAI format)
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-lemondata-key",
    base_url="https://api.lemondata.cc"
)

response = client.messages.create(
    model="gpt-4o",  # ✅ Works! Auto-converted
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

# Same SDK, different models - no code changes
response = client.messages.create(model="gemini-2.5-flash", ...)  # ✅ Works!
response = client.messages.create(model="deepseek-r1", ...)       # ✅ Works!

OpenAI SDK → All Models

from openai import OpenAI

client = OpenAI(base_url="https://api.lemondata.cc/v1", api_key="sk-...")

# All these work with the same SDK:
response = client.chat.completions.create(model="gpt-4o", ...)
response = client.chat.completions.create(model="claude-sonnet-4-6", ...)
response = client.chat.completions.create(model="gemini-2.5-flash", ...)

Perbandingan Industri

PlatformOpenAI FormatAnthropic FormatGemini FormatResponses API
LemonData✅ All models✅ All models✅ All models✅ All models
OpenRouter✅ All models
Together AI✅ All models
Fireworks✅ All models
Meskipun cross-format bekerja untuk sebagian besar fitur, fitur spesifik format (seperti Anthropic extended thinking) memerlukan format native.