Lunos logoLunos

Dokumentasi API Lunos

Selamat datang di dokumentasi API Lunos. Lunos mengintegrasikan berbagai penyedia layanan AI melalui rute /v1 yang kompatibel dengan OpenAI dan Anthropic Messages API (POST /v1/messages): satu base URL, format request yang sudah dikenal untuk masing-masing stack, dan sistem penagihan terpadu.

Baru: Paket @lunos/client adalah helper resmi untuk JavaScript atau TypeScript.

Instalasi:

pnpm add @lunos/client

Kunjungi halaman npm untuk melihat API dan contoh penggunaannya.

Peringatan: Rilis @lunos/client di npm belum selalu diperbarui sejalan dengan API Lunos produksi. Beberapa permintaan bisa gagal atau berperilaku berbeda sampai versi paket baru dirilis. Untuk produksi, lebih aman memakai SDK JavaScript OpenAI (atau klien kompatibel OpenAI lain) dengan baseURL ke https://api.lunos.tech/v1, atau memanggil API lewat HTTP langsung.

Catatan: Dokumentasi ini menjelaskan penggunaan API Lunos v1. Gunakan base URL di bawah ini untuk semua rute kecuali jika disebutkan sebaliknya pada halaman spesifik.

Autentikasi

Setiap request harus menyertakan Secret API Key yang bisa Anda dapatkan di halaman API Keys.

Authorization: Bearer YOUR_API_KEY

Penting: Jangan pernah mempublikasikan API key Anda di browser, aplikasi mobile, ataupun repositori publik. Lakukan pemanggilan API Lunos hanya dari sisi backend atau worker yang aman.

Base URL

https://api.lunos.tech/v1

Semua path dalam dokumentasi ini bersifat relatif terhadap prefix ini (misalnya, POST /chat/completions berarti POST https://api.lunos.tech/v1/chat/completions).

Format Request

Gunakan method POST dengan JSON body, kecuali jika endpoint menentukan penggunaan method GET. Tambahkan header:

Content-Type: application/json

Header opsional untuk analitik tiap aplikasi (lihat Ringkasan API):

X-App-ID: my-service-v1

Format Response Sukses

Response akan dikembalikan dalam format JSON. Berikut adalah contoh payload untuk completion:

{
  "id": "resp_abc123",
  "object": "completion",
  "created": 1677858242,
  "model": "openai/gpt-4o",
  "provider": "openai",
  "data": {
    "choices": [
      {
        "text": "The generated text response...",
        "index": 0,
        "finish_reason": "stop"
      }
    ]
  },
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 20,
    "total_tokens": 30
  }
}

Field yang dikembalikan dapat berbeda di setiap endpoint; selalu pastikan untuk memeriksa response aktual berdasarkan rute dan model yang Anda gunakan.

Error

Jika terjadi error, API akan mengembalikan HTTP status code beserta detailnya dalam format JSON, contoh:

{
  "error": {
    "code": "invalid_request_error",
    "message": "The model 'nonexistent-model' does not exist",
    "param": "model",
    "type": "invalid_request_error"
  }
}

Contoh: Request Chat Completion

curl -X POST https://api.lunos.tech/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      { "role": "user", "content": "Write a short poem about artificial intelligence." }
    ],
    "max_tokens": 150,
    "temperature": 0.7
  }'

Langkah Selanjutnya