Lunos logoLunos

Dokumentasi API Lunos

Selamat datang di dokumentasi API Lunos. Lunos mengintegrasikan berbagai penyedia layanan AI melalui satu API HTTPS yang kompatibel dengan OpenAI: satu base URL, format request yang sudah familiar, dan sistem penagihan terpadu.

Baru: Paket resmi @lunos/sdk adalah cara yang paling direkomendasikan untuk melakukan integrasi menggunakan JavaScript atau TypeScript.

Instalasi:

pnpm add @lunos/sdk

Kunjungi halaman npm untuk melihat API dan contoh penggunaannya.

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