RAZ AIBuka RAZ AI

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

  1. Masuk ke tanyaraz.com → Pengaturan → Developer API → Buat kunci baru. Kunci hanya ditampilkan sekali; simpan di server Anda (jangan di kode browser/aplikasi HP).
  2. Base URL: https://tanyaraz.com/api/v1
  3. 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

ModelUntukKonteksOutput maks
raz-anginSeimbang, cepat & cerdas (bawaan)±128 rb token16.000
raz-embunTercepat & hemat, tugas ringan±24 rb token4.096
raz-petirTerkuat, tugas berat (paket Plus/Pro/Bisnis)±128 rb token16.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

9. Kode error

StatusArti
401Kunci API salah atau sudah dihapus
402Kuota/kredit habis, atau model khusus paket berbayar
413Permintaan atau gambar terlalu besar
429Terlalu banyak permintaan — tunggu sebentar
502/503Model sedang tidak tersedia atau RAZ dalam perbaikan — coba lagi

10. Privasi & aturan