Gambaran Umum
LemonData API dirancang untuk kompatibilitas drop-in dengan semua alat pengembangan AI utama. Panduan ini mendokumentasikan parameter yang didukung dan integrasi yang telah diverifikasi.
Semua parameter divalidasi tetapi diteruskan ke penyedia upstream. Parameter yang tidak didukung untuk model tertentu akan diabaikan secara diam-diam, memastikan kompatibilitas maksimal.
Endpoint Format Kasus Penggunaan /v1/chat/completionsOpenAI Chat Kompatibilitas universal /v1/responsesOpenAI Responses Percakapan stateful /v1/messagesAnthropic Messages Fitur native Claude /v1beta/models/:model:generateContentGoogle Gemini Fitur native Gemini
Kompatibilitas IDE & CLI
Alat yang Terverifikasi
Alat Status Format Catatan Cursor ✅ Penuh OpenAI Format tool Anthropic didukung Claude Code CLI ✅ Penuh Anthropic Extended thinking, tool_choice Windsurf ✅ Penuh OpenAI Format OpenAI standar Aider ✅ Penuh OpenAI Semua model didukung Continue.dev ✅ Penuh OpenAI/Anthropic Dukungan format ganda OpenCode ✅ Penuh OpenAI Dukungan multi-provider Cline/Roo Code ✅ Penuh OpenAI Melalui format OpenRouter GitHub Copilot ✅ Penuh OpenAI Format standar Codex CLI ✅ Penuh OpenAI OpenAI Responses API Gemini CLI ✅ Penuh Gemini Format Gemini native
Contoh Konfigurasi
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor menggunakan format tool gaya Anthropic secara internal. LemonData mendukung keduanya:
Format OpenAI: { type: "function", function: { name, parameters } }
Format Anthropic: { name, input_schema } (tanpa field type)
export ANTHROPIC_BASE_URL = "https://api.lemondata.cc"
export ANTHROPIC_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export LOCAL_ENDPOINT = "https://api.lemondata.cc/v1"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_BASE = "https://api.lemondata.cc/v1"
aider --model gpt-4o
Kompatibilitas SDK
SDK yang Terverifikasi
SDK Bahasa Status Catatan OpenAI SDK Python/JS/Go ✅ Penuh Semua parameter didukung Anthropic SDK Python/JS ✅ Penuh Extended thinking, tools Vercel AI SDK TypeScript ✅ Penuh streamText, generateObject LangChain Python/JS ✅ Penuh ChatOpenAI, bind_tools LlamaIndex Python ✅ Penuh Kompatibel dengan OpenAI Dify - ✅ Penuh Format OpenAI
Parameter Chat Completions
Parameter Inti
Parameter Tipe Deskripsi modelstring Pengidentifikasi model (wajib) messagesarray Pesan percakapan (wajib) max_tokensinteger Token output maksimum temperaturenumber Suhu sampling (0-2) top_pnumber Sampling nucleus (0-1) streamboolean Aktifkan streaming
{
"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
}
Format Contoh Deskripsi String "auto", "none", "required"Seleksi sederhana OpenAI Object { "type": "function", "function": { "name": "fn" } }Paksa fungsi spesifik Anthropic Object { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Format native Anthropic
Parameter Lanjutan
Parameter Tipe Deskripsi stream_optionsobject { include_usage: true } untuk jumlah tokenreasoning_effortstring "low", "medium", "high" untuk model o1/o3service_tierstring "auto" atau "default"seedinteger Output deterministik logprobsboolean Kembalikan probabilitas log top_logprobsinteger Jumlah logprob teratas (0-20) logit_biasobject Map bias token (-100 hingga 100) frequency_penaltynumber Penalti repetisi (-2 hingga 2) presence_penaltynumber Penalti topik (-2 hingga 2) stopstring/array Urutan stop ninteger Jumlah penyelesaian (1-128) userstring Pengidentifikasi pengguna untuk pelacakan
Fitur Lanjutan OpenAI
Parameter Tipe Deskripsi modalitiesarray ["text", "audio"] untuk multimodalaudioobject Konfigurasi output audio (suara, format) predictionobject Output yang diprediksi untuk penyelesaian lebih cepat metadataobject Pasangan key-value untuk pelacakan storeboolean Simpan untuk pengambilan nanti
Opsi Spesifik Penyedia
{
"anthropic_options" : {
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
},
"prompt_caching" : true
},
"google_options" : {
"safety_settings" : [ ... ],
"google_search" : true ,
"code_execution" : true
}
}
Parameter Anthropic Messages
Parameter Inti
Parameter Tipe Deskripsi modelstring Pengidentifikasi model messagesarray Pesan percakapan max_tokensinteger Output maksimum (hingga 128000) systemstring/array Prompt sistem streamboolean Aktifkan streaming
{
"tools" : [
{
"name" : "get_weather" ,
"description" : "Get weather" ,
"input_schema" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
}
}
}
],
"tool_choice" : {
"type" : "auto" ,
"disable_parallel_tool_use" : false
}
}
Extended Thinking
{
"model" : "claude-opus-4-5" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
Parameter Responses API
Parameter Inti
Parameter Tipe Deskripsi modelstring Pengidentifikasi model inputstring/array Konten input instructionsstring Instruksi sistem max_output_tokensinteger Token output maksimum previous_response_idstring Lanjutkan percakapan
Parameter Lanjutan
Parameter Tipe Deskripsi truncation_strategystring "auto" atau "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring Untuk model reasoning service_tierstring Tier prioritas
Mendukung format tool OpenAI dan Anthropic:
// Format OpenAI
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Format Anthropic (kompatibilitas Cursor)
{ "name" : "fn" , "input_schema" : { ... } }
Parameter Gemini API
Parameter Inti
Parameter Tipe Deskripsi contentsarray Konten percakapan systemInstructionobject Prompt sistem generationConfigobject Pengaturan generasi
{
"tools" : [{
"functionDeclarations" : [{
"name" : "search" ,
"description" : "Search the web" ,
"parameters" : { ... }
}],
"codeExecution" : {},
"googleSearch" : {}
}],
"toolConfig" : {
"functionCallingConfig" : {
"mode" : "AUTO"
}
}
}
Pengaturan Keamanan
{
"safetySettings" : [
{
"category" : "HARM_CATEGORY_HARASSMENT" ,
"threshold" : "BLOCK_MEDIUM_AND_ABOVE"
}
]
}
Parameter Tambahan
Parameter Tipe Deskripsi cachedContentstring Referensi konten yang di-cache responseMimeTypestring "text/plain" atau "application/json"responseSchemaobject Skema JSON untuk output terstruktur
Streaming
Semua endpoint mendukung streaming 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}'
# Dengan pelacakan penggunaan
-d '{"...", "stream_options": {"include_usage": true}}'
Penanganan Error
LemonData mengembalikan respons error yang kompatibel dengan OpenAI:
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
Lihat Panduan Penanganan Error untuk detailnya.
Praktik Terbaik
Gunakan passthrough untuk parameter yang tidak dikenal
Semua skema menggunakan .passthrough() - parameter yang tidak dikenal diteruskan ke penyedia upstream.
Utamakan stream_options untuk penagihan yang akurat
Aktifkan stream_options.include_usage untuk jumlah token yang akurat dalam respons streaming.
Gunakan format tool_choice yang sesuai
Sesuaikan dengan format yang diharapkan SDK Anda. LemonData menerima format OpenAI dan Anthropic.