Dokumentasi API
Endpoint OpenAI-compatible. Gunakan key Anda sendiri dan jangan pernah membagikannya.
Base URL
https://api.rinsdev.cloudSemua request inference memakai Authorization: Bearer <API_KEY>.
Model yang tersedia
| Model ID | Context (input+output) | Max output native | Image | Streaming | Reasoning | Tools |
|---|---|---|---|---|---|---|
| deepseek-v4.1-flash-1017 | 1.048.576 | 384.000 | Ya | Ya | Ya | Ya |
| glm-5.3-flash | 1.048.576 | 128.000 | Ya | Ya | Ya | Ya |
| kimi-k3 | 1.048.576 | 32.768 | Ya | Ya | Ya | Ya |
Model yang tersedia menerima input teks dan gambar. Video input tidak diiklankan oleh provider API; jangan menganggap video sebagai fitur yang didukung sebelum ada verifikasi provider.
Setiap key memiliki hard budget biaya provider untuk masa aktifnya. Budget ini terpisah dari throttle FUP: request baru ditolak dengan HTTP 402 ketika biaya terpakai ditambah reservasi request berikutnya melewati limit. Unknown usage dibebankan sebesar reservasi, bukan nol.
Chat completion
curl -sS https://api.rinsdev.cloud/v1/chat/completions \
-H "Authorization: Bearer $RINS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash-1017",
"messages": [{"role": "user", "content": "Halo"}],
"max_tokens": 256
}'
Image input
Gunakan Chat Completions dengan content array. Contoh ini memakai base64; jangan mengirim URL privat yang membutuhkan kredensial.
curl -sS https://api.rinsdev.cloud/v1/chat/completions -H "Authorization: Bearer $RINS_API_KEY" -H "Content-Type: application/json" -d '{
"model": "deepseek-v4.1-flash-1017",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Jelaskan gambar ini."},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,"}}
]
}],
"max_tokens": 256
}'
Streaming
Tambahkan "stream": true. Gateway meneruskan SSE apa adanya dan meminta usage chunk standar jika provider mendukung. Usage yang tidak dikembalikan dicatat unknown, bukan nol.
curl -N -sS https://api.rinsdev.cloud/v1/chat/completions \
-H "Authorization: Bearer $RINS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash-1017",
"messages": [{"role": "user", "content": "Tulis satu paragraf."}],
"stream": true,
"max_tokens": 256
}'
Responses API
Endpoint POST /v1/responses meneruskan payload native respons tanpa mengubah input, tools, atau batas output.
curl -sS https://api.rinsdev.cloud/v1/responses \
-H "Authorization: Bearer $RINS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash-1017",
"input": "Halo",
"max_output_tokens": 256
}'
Tool / function calling
Paket dengan allow_tools dapat mengirim tools dan tool_choice. Gateway tidak mengubah definisi tool. Periksa kembali schema tool di sisi aplikasi Anda.
Fair-use dan error
- 401 authentication_error — key tidak ada/revoked.
- 403 subscription_expired — masa aktif key habis.
- 403 model_not_allowed — key hanya boleh memanggil model paketnya.
- 429 key_rpm_limit / key_concurrency_limit — fair-use throttle; retry setelah Retry-After.
- 402 hard_budget_exhausted — hard cost budget per key sudah habis; request baru tidak diteruskan.
- 402 hard_budget_request_too_large — worst-case cost request melebihi limit hard budget key.
- 503 hard_budget_unavailable / hard_budget_unknown_usage — pencatatan budget tidak tersedia atau ada unknown usage lama yang belum direkonsiliasi; request ditolak fail-closed.
- 503 fup_unavailable / metering_unavailable — perlindungan usage tidak tersedia; request ditolak fail-closed.
- Usage tanpa data provider dicatat unknown dan dapat menurunkan tier sampai rekonsiliasi.
Keamanan key
- Key hanya ditampilkan satu kali saat provisioning. Simpan di secret manager, bukan di source code.
- Jangan mengirim key melalui chat, screenshot, atau log aplikasi.
- Revoke key segera jika bocor; key yang di-revoke berhenti bekerja di gateway.