Moderasi
kenari menyediakan endpoint moderasi yang kompatibel dengan OpenAI Moderations. Endpoint ini hanya melayani model yang ditandai sebagai model moderasi di katalog. Memanggilnya dengan model chat biasa akan mengembalikan status 400.
Status: belum tersedia per 29 Juli 2026
Section titled “Status: belum tersedia per 29 Juli 2026”Belum ada model moderasi yang dijual di katalog publik. GET /v1/models?modality=moderation saat ini mengembalikan daftar kosong, dan POST /v1/moderations akan menolak setiap permintaan sampai minimal satu model moderasi diaktifkan. Pantau pembaruan katalog (halaman Models) atau panggil GET /v1/models?modality=moderation untuk melihat apakah id sudah muncul.
Kontrak endpoint di bawah tetap berlaku: ketika katalog sudah memiliki model moderasi, bentuk request dan response sama persis dengan OpenAI Moderations.
Endpoint
Section titled “Endpoint”POST /v1/moderations
Kirim input dan model, gateway mengembalikan hasil klasifikasi untuk setiap teks input: apakah konten tersebut ditandai (flagged) beserta rincian kategori dan skornya.
Parameter request
Section titled “Parameter request”| Field | Tipe | Wajib | Keterangan |
|---|---|---|---|
model | string | ya | Id model moderasi dari katalog. Saat ini belum ada yang dijual, lihat catatan di atas. |
input | string atau array of string | ya | Satu teks, atau beberapa teks sekaligus dalam satu array. |
Penagihan
Section titled “Penagihan”Penagihan dihitung per token input, dari jumlah karakter seluruh input (kira-kira empat karakter per token, dibulatkan ke atas), lalu dipotong dari saldo Rupiah. Model moderasi bersifat gratis secara default, mengikuti kebiasaan endpoint moderasi OpenAI. Operator dapat mengatur tarif berbayar untuk model tertentu di katalog. Lihat Penagihan untuk detail saldo dan pemotongan.
Bentuk response
Section titled “Bentuk response”Response mengikuti bentuk OpenAI Moderations: model mengembalikan id model yang kamu minta (bukan nama internal provider), dan array results berisi satu entri per input dengan flagged, categories, dan category_scores. Contoh di bawah memakai id contoh id-model-moderasi. Id aslinya tersedia setelah katalog menambahkan model moderasi.
{ "id": "modr-...", "model": "id-model-moderasi", "results": [ { "flagged": false, "categories": { "harassment": false, "hate": false }, "category_scores": { "harassment": 0.001, "hate": 0.0002 } } ]}Contoh
Section titled “Contoh”Contoh di bawah memakai id contoh id-model-moderasi. Ganti dengan id yang dikembalikan GET /v1/models?modality=moderation setelah katalog menyediakan model moderasi. Sampai saat itu endpoint mengembalikan 400.
curl https://kenari.id/v1/moderations \ -H "Authorization: Bearer kn-..." \ -H "Content-Type: application/json" \ -d '{"model":"id-model-moderasi","input":"teks yang ingin diperiksa"}'Python (OpenAI SDK)
Section titled “Python (OpenAI SDK)”from openai import OpenAI
client = OpenAI( base_url="https://kenari.id/v1", api_key="kn-...",)
result = client.moderations.create( model="id-model-moderasi", input="teks yang ingin diperiksa",)
print(result.results[0].flagged)JavaScript (OpenAI SDK)
Section titled “JavaScript (OpenAI SDK)”import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://kenari.id/v1", apiKey: "kn-...",});
const result = await client.moderations.create({ model: "id-model-moderasi", input: "teks yang ingin diperiksa",});
console.log(result.results[0].flagged);