Lunos logoLunos

Referensi API

API HTTP Lunos menyediakan akses ke fitur chat, completion, embedding, generasi gambar, transkripsi audio, pengecekan saldo, serta informasi model lewat permukaan bergaya OpenAI, dan juga Anthropic Messages API di /v1/messages untuk klien yang memakai format API Anthropic. Halaman ini menjelaskan cara memanggil API secara aman dan referensi tambahan yang bisa Anda pelajari.

Penting: Perlakukan API key Anda layaknya sebuah password. Pastikan Anda hanya menggunakannya pada lingkungan yang aman seperti server atau worker — jangan pernah mengeksposnya di aplikasi klien (seperti browser atau aplikasi mobile).

Header Request

X-App-ID (Opsional)

Digunakan untuk mengidentifikasi aplikasi pengirim request untuk keperluan analitik dan atribusi penggunaan token. Jika tidak disertakan, lalu lintas (traffic) Anda mungkin akan tercatat sebagai sumber yang tidak dikenal.

Header Tipe Wajib Deskripsi
X-App-ID string Tidak Nama aplikasi atau layanan (contoh: billing-v2).

Contoh

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
X-App-ID: my-application-v1

Analitik: Anda bisa menggunakan API key yang sama untuk banyak aplikasi dengan cara membedakan nilai X-App-ID pada masing-masing deployment.

Fitur Observability

Lunos mendukung fitur observability (pemantauan) pada completion yang bisa Anda aktifkan (opt-in) menggunakan parameter internal berikut:

Field Tipe Wajib Deskripsi
observability boolean Tidak Jika diatur menjadi true, sistem akan menyimpan detail lengkap dari request dan output yang terhubung dengan riwayat eksekusi tersebut.

Kami sarankan untuk mengaktifkannya hanya saat Anda perlu melakukan inspeksi request secara detail. Jika tidak dikirim (atau diisi false), payload observability tidak akan direkam.

Contoh (/chat/completions)

{
  "model": "google/gemma-4-26b-a4b-it",
  "observability": true,
  "messages": [
    {
      "role": "user",
      "content": [{ "type": "text", "text": "Can you jogging?" }]
    }
  ]
}

Setelah request berhasil diproses, silakan buka Dashboard → Logs → Detail pada baris log yang sesuai untuk melihat informasi berikut:

  • ID yang dihasilkan
  • Request pesan input
  • Response output teks
  • Rincian penggunaan (usage) seperti jumlah token, biaya, dan TPS (Token Per Second)

Base URL

https://api.lunos.tech/v1

Semua endpoint API Lunos berjalan melalui URL utama ini.

Daftar Endpoint

Path Method Deskripsi
/models GET Daftar seluruh model, harga, dan kemampuan setiap model
/completions POST Teks completion bergaya lama (opsional jika model tersebut mendukung)
/chat/completions POST Teks chat / completion (mendukung konteks multi-turn)
/embeddings POST Embedding teks
/images/generations POST Generasi gambar (Text-to-Image)
/audio/transcriptions POST Transkripsi ucapan ke teks (Speech-to-Text)
/balance GET Cek saldo dompet akun dan konfigurasi peringatan notifikasi

Struktur payload secara umum mengikuti format standar OpenAI; pastikan untuk selalu mengujinya di API secara langsung atau cek referensi spesifik masing-masing endpoint:

Endpoint Daftar Model (Ringkas)

GET /v1/models mengembalikan metadata model yang bisa Anda gunakan sebelum melakukan panggilan ke chat atau completion.

curl "https://api.lunos.tech/v1/models"
curl "https://api.lunos.tech/v1/models?output=image"
curl "https://api.lunos.tech/v1/models?input=text,image&output=text"

Filter yang Tersedia:

  • input: Menyaring model berdasarkan format input yang didukung (pisahkan dengan koma jika lebih dari satu)
  • output: Menyaring model berdasarkan format output yang didukung (pisahkan dengan koma jika lebih dari satu)

Baca selengkapnya di API Model untuk melihat skema response Lunos.

Parameter Completion (Klasik)

Endpoint POST /completions menerima parameter completion standar pada umumnya:

Parameter Tipe Wajib Deskripsi
model string Ya ID model Lunos yang ingin digunakan
prompt string Ya Masukan prompt yang akan diproses
max_tokens integer Tidak Batas maksimum token yang dihasilkan
temperature number Tidak Temperatur sampling (antara 0 hingga 2)
top_p number Tidak Parameter probabilitas nucleus sampling

Catatan: Sangat disarankan untuk selalu menggunakan POST /chat/completions untuk model AI chat modern.

Contoh Penggunaan Klien dengan X-App-ID

JavaScript

const response = await lunos.chat.completions.create({
  model: "openai/gpt-4o",
  messages: [{ role: "user", content: "Hello" }],
  appId: "my-web-app",
});

Python

response = lunos.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "Hello"}],
    extra_headers={"X-App-ID": "my-python-app"},
)

cURL

curl -X POST "https://api.lunos.tech/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-App-ID: my-curl-app" \
  -d '{"model":"openai/gpt-4o","messages":[{"role":"user","content":"Hello"}]}'

Catatan Migrasi

Penggunaan X-App-ID bersifat opsional. Integrasi sistem Anda yang lama tetap akan berjalan normal; tambahkan header ini hanya jika Anda membutuhkan fitur analitik yang lebih spesifik.


Referensi Lainnya