RAZ AI API
Pakai RAZ di aplikasi, website, chatbot WhatsApp, atau sistem internal Anda. Formatnya sama dengan OpenAI Chat Completions, jadi bisa langsung dipakai dengan pustaka OpenAI resmi di Python, JavaScript/TypeScript, Java, Go, C#, PHP, dan Ruby — cukup ganti base URL dan kunci.
1. Mulai
- Masuk ke tanyaraz.com → Pengaturan → Developer API → Buat kunci baru. Kunci hanya ditampilkan sekali; simpan di server Anda (jangan di kode browser/aplikasi HP).
- Base URL:
https://tanyaraz.com/api/v1 - Kirim header
Authorization: Bearer raz_...
Setiap permintaan memakai kuota/kredit akun pemilik kunci, sama seperti chat biasa. Batas: 30 permintaan per menit per akun.
2. Model
| Model | Untuk | Konteks | Output maks |
|---|---|---|---|
raz-angin | Seimbang, cepat & cerdas (bawaan) | ±128 rb token | 16.000 |
raz-embun | Tercepat & hemat, tugas ringan | ±24 rb token | 4.096 |
raz-petir | Terkuat, tugas berat (paket Plus/Pro/Bisnis) | ±128 rb token | 16.000 |
3. Endpoint
POST/api/v1/chat/completions — kirim pesan, terima jawaban (bisa stream: true).
GET/api/v1/models — daftar model & kemampuannya.
POST/api/v1/tokens/count — perkiraan jumlah token sebelum mengirim (gratis).
GET/api/v1/usage — paket, sisa kuota, dan rincian pemakaian.
4. Contoh
cURL
curl https://tanyaraz.com/api/v1/chat/completions \
-H "Authorization: Bearer $RAZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"raz-angin","messages":[{"role":"user","content":"Buatkan 3 ide promo hotel akhir pekan"}]}'
Python (pustaka openai)
from openai import OpenAI
client = OpenAI(base_url="https://tanyaraz.com/api/v1", api_key=os.environ["RAZ_API_KEY"])
r = client.chat.completions.create(model="raz-angin", messages=[{"role": "user", "content": "Halo RAZ"}])
print(r.choices[0].message.content)
JavaScript / Node.js (pustaka openai)
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://tanyaraz.com/api/v1", apiKey: process.env.RAZ_API_KEY });
const stream = await client.chat.completions.create({ model: "raz-embun", stream: true, messages: [{ role: "user", content: "Halo RAZ" }] });
for await (const c of stream) process.stdout.write(c.choices[0]?.delta?.content || "");
5. Function calling (tools)
RAZ bisa memanggil fungsi buatan Anda — termasuk beberapa sekaligus (paralel). Jalankan fungsinya di server Anda, lalu kirim hasilnya kembali dengan role: "tool".
{
"model": "raz-angin",
"messages": [{"role": "user", "content": "Cek ketersediaan kamar Deluxe tanggal 20 Desember"}],
"tools": [{"type": "function", "function": {
"name": "cek_kamar",
"description": "Cek ketersediaan kamar hotel",
"parameters": {"type": "object", "properties": {"tipe": {"type": "string"}, "tanggal": {"type": "string"}}, "required": ["tipe", "tanggal"]}
}}]
}
Jawaban berisi message.tool_calls dengan finish_reason: "tool_calls". Parameter tool_choice (auto, none, required, atau nama fungsi) juga didukung.
6. JSON terstruktur
Pakai response_format dengan {"type":"json_object"} atau {"type":"json_schema","json_schema":{"name":"...","schema":{...}}}. RAZ memeriksa bahwa jawabannya JSON yang valid (dan mencoba memperbaiki sekali bila tidak).
7. Gambar
Kirim gambar sebagai bagian pesan: {"type":"image_url","image_url":{"url":"data:image/jpeg;base64,..."}} (maks ±4 MB). URL gambar luar belum didukung.
8. Pilihan lain
max_tokens,temperature(0–2)reasoning_effort:low/medium/high— kedalaman berpikir vs kecepatan (untuk raz-angin & raz-petir, pada mode tools/JSON)- Pesan
systemdipakai sebagai instruksi aplikasi Anda. - Untuk pertanyaan biasa (tanpa tools/JSON), RAZ otomatis mencari di web, membaca link, cek cuaca/kurs, dan menghitung bila dibutuhkan.
- Bila model utama sibuk, RAZ otomatis pindah ke model cadangan.
9. Kode error
| Status | Arti |
|---|---|
| 401 | Kunci API salah atau sudah dihapus |
| 402 | Kuota/kredit habis, atau model khusus paket berbayar |
| 413 | Permintaan atau gambar terlalu besar |
| 429 | Terlalu banyak permintaan — tunggu sebentar |
| 502/503 | Model sedang tidak tersedia atau RAZ dalam perbaikan — coba lagi |
10. Privasi & aturan
- Isi permintaan API tidak disimpan sebagai riwayat chat, dan jawaban API tidak memakai nama, ingatan, atau preferensi pribadi akun Anda. RAZ hanya mencatat jumlah pemakaian untuk kuota.
- Dilarang memakai API untuk spam, penipuan, peretasan, atau konten yang melanggar Syarat & Ketentuan.
- Jangan membagikan kunci API. Hapus kunci yang bocor di Pengaturan → Developer API.