1. Ringkasan
- Base URL:
https://server-vaeltrix.up.railway.app - Endpoint:
POST /v1/chat - Spesifikasi: openapi.json
- Autentikasi: header
Authorization: Bearer API_KEY - Format: JSON, dengan opsi streaming (SSE). Bentuk permintaan dan responsnya mengikuti format chat completions yang umum.
Panggil API dari server atau skripmu, bukan dari kode yang berjalan di browser.
2. API key
Buat key di halaman Buat API key. Saat membuat key kamu memilih model, dan key itu terikat ke model tersebut: field model di body tidak diperlukan dan diabaikan. Satu akun bisa punya 1 key aktif.
Key lengkap hanya diberikan saat dibuat, jadi simpan di tempat aman. Jangan taruh di kode frontend atau repositori publik. Kamu bertanggung jawab atas pemakaian key-mu, dan key yang disalahgunakan bisa dibatasi atau dicabut (lihat Ketentuan Layanan).
3. Permintaan
Body berupa JSON object:
messages(wajib): array pesan. Setiap pesan punyarole(system,user,assistant, atautool) dancontentberupa teks, atau array bagian multimodal.stream:trueuntuk respons streaming.temperature,top_p,max_tokens(ataumax_completion_tokens),stop: opsional.
Gambar dikirim sebagai bagian image_url dengan data URL base64, dan hanya diterima jika model key-mu mendukung gambar. Ukuran body maksimal 15 MB.
4. Contoh
Permintaan biasa
curl -X POST "https://server-vaeltrix.up.railway.app/v1/chat" \
-H "Authorization: Bearer $VAELTRIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "Halo, perkenalkan dirimu singkat."}]}'Respons (ringkas):
{
"id": "chatcmpl-…",
"object": "chat.completion",
"choices": [
{ "index": 0, "message": { "role": "assistant", "content": "…" }, "finish_reason": "stop" }
],
"usage": { … }
}Streaming
curl -N -X POST "https://server-vaeltrix.up.railway.app/v1/chat" \
-H "Authorization: Bearer $VAELTRIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"stream": true, "messages": [{"role": "user", "content": "Halo, perkenalkan dirimu singkat."}]}'Hasil dikirim sebagai baris data: {…} dan diakhiri data: [DONE]. Teks jawaban ada di choices[0].delta.content.
5. Batas laju
- 60 permintaan per menit untuk setiap API key.
- 120 permintaan per menit untuk setiap alamat IP.
Jika melewati batas, kamu menerima HTTP 429 dengan header Retry-After (dalam detik). Tunggu selama itu sebelum mencoba lagi.
6. Kode kesalahan
Kesalahan dikirim sebagai JSON: {"error": {"message": "…", "code": "…", "requestId": "…"}}. Sertakan requestId saat menghubungi kami di vaeltrixteam@gmail.com.
- 400: body tidak valid, atau gambar dikirim ke model yang tidak mendukung gambar.
- 401 (
MISSING_API_KEY,INVALID_API_KEY): header autentikasi tidak ada atau key tidak valid. - 413: body lebih dari 15 MB.
- 429 (
RATE_LIMITED): melewati batas laju. - 502 / 504 (
PROVIDER_UNAVAILABLE,PROVIDER_TIMEOUT): layanan model sementara tidak tersedia atau terlalu lama. Coba lagi sebentar. - 500 (
INTERNAL_ERROR): kesalahan di sisi kami.