Docs Rivya AI

Quickstart Rivya API

Buat API key, pilih model, kirim pekerjaan generasi asinkron, dan kirim satu turn Chat API dengan streaming SSE opsional.

Terakhir ditinjau pada 2026/05/10

Quickstart ini menunjukkan jalur aman tersingkat dari penyiapan akun ke satu pekerjaan generasi Rivya API, plus turn Chat API pertama.

Gunakan key placeholder di docs dan contoh. Jangan pernah menempelkan API key nyata ke kode publik, screenshot, tiket, atau dokumen bersama.

1. Buat API Key

Buka pengaturan API Keys, buat key, salin secret lengkap satu kali, lalu simpan di environment sisi server Anda.

Scope pertama yang disarankan:

  • models:read
  • generations:create
  • generations:read
  • files:create
  • files:read
  • credits:read
  • webhooks:manage
  • chat:create
  • chat:read

2. Konfirmasi Base URL

Gunakan base URL API production:

https://rivya.ai

URL localhost hanya untuk pengembangan lokal. Contoh publik tidak boleh memakai secret lokal.

3. Daftar Model

curl https://rivya.ai/api/v1/models

Gunakan field id dari respons sebagai nilai model saat membuat generasi.

4. Kirim Generasi

curl https://rivya.ai/api/v1/generations \
  -H "Authorization: Bearer rvya_sk_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: quickstart-001" \
  -d '{
    "model": "z-image",
    "prompt": "A clean editorial product image on a soft studio background"
  }'

Respons mengembalikan ID tugas publik. Simpan agar Anda dapat melakukan polling status nanti.

5. Polling Status

curl https://rivya.ai/api/v1/generations/task_public_id \
  -H "Authorization: Bearer rvya_sk_..."

Nilai status adalah:

  • queued
  • processing
  • succeeded
  • failed

6. Periksa Credits

curl https://rivya.ai/api/v1/credits \
  -H "Authorization: Bearer rvya_sk_..."

Gunakan ini untuk mengonfirmasi saldo akun saat ini sebelum atau setelah pengujian.

7. Opsional: Tambahkan Webhooks

Jika server Anda dapat menerima callback HTTPS bertanda tangan, buat endpoint webhook:

curl https://rivya.ai/api/v1/webhooks \
  -H "Authorization: Bearer rvya_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production webhook",
    "url": "https://example.com/rivya/webhook",
    "event_types": ["generation.succeeded", "generation.failed"]
  }'

Simpan signing_secret sekali tampil dari respons dan verifikasi setiap delivery sebelum mempercayai payload.

8. Opsional: Kirim Turn Chat

Untuk model chat, panggil Chat API alih-alih POST /api/v1/generations:

curl https://rivya.ai/api/v1/chat/completions \
  -H "Authorization: Bearer rvya_sk_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: quickstart-chat-001" \
  -d '{
    "model": "gpt-5-2-chat",
    "message": "Write a concise launch plan for a new product image campaign"
  }'

Gunakan session_id yang dikembalikan untuk melanjutkan session yang dibuat API. Lampiran gambar harus mereferensikan nilai file_id dari Files API.

Opsional: Gunakan TypeScript SDK Beta

Integrasi TypeScript sisi server dapat memakai SDK beta lokal:

import { RivyaClient } from "@rivya/sdk";

const rivya = new RivyaClient({
  apiKey: process.env.RIVYA_API_KEY
});

const generation = await rivya.generations.create({
  model: "z-image",
  prompt: "A clean editorial product image on a soft studio background"
});

Baca Rivya TypeScript SDK sebelum mengadopsinya. SDK private beta menyertakan dukungan Chat streaming sisi server.

Halaman Berikutnya

Daftar Isi