Lewati ke konten
kenari.

Moderasi

Klasifikasikan teks untuk mengetahui apakah teks itu ditandai, lengkap dengan skor tiap kategori. Endpoint ini kompatibel dengan OpenAI Moderations API.

POST /v1/moderations

Endpoint ini hanya melayani model moderasi. Lihat daftarnya lewat panggilan publik yang tidak butuh key:

Terminal window
curl "https://kenari.id/v1/models?modality=moderation"

Kontrak di bawah berlaku untuk id yang dikembalikan. GET /v1/models tanpa parameter tidak menampilkan daftar model embedding, rerank, moderasi, atau System One. Panggilan itu menampilkan model chat, gambar, suara, transkripsi, dan video.

FieldTipeWajibKeterangan
modelstringyaId model moderasi dari panggilan di atas.
inputstring atau array stringyaSatu teks, atau beberapa teks dalam satu request. Setiap teks harus string yang tidak kosong. Maksimum 2.048 teks dan 1 MiB teks secara total.

Response mengikuti bentuk OpenAI. id diawali modr-, model adalah id yang kamu minta, dan results berisi satu entri per input dengan urutan yang sama. Setiap entri punya flagged, categories (boolean per kategori), dan category_scores (angka per kategori). Hanya nama kategori standar OpenAI yang dikembalikan. <model-id> di bawah mewakili id yang dikembalikan panggilan daftar model.

{
"id": "modr-...",
"model": "<model-id>",
"results": [
{
"flagged": false,
"categories": { "harassment": false, "hate": false },
"category_scores": { "harassment": 0.001, "hate": 0.0002 }
}
]
}

Ganti <model-id> dengan id dari GET /v1/models?modality=moderation.

Terminal window
curl https://kenari.id/v1/moderations \
-H "Authorization: Bearer $KENARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<model-id>",
"input": "teks yang diperiksa"
}'
import os
from openai import OpenAI
client = OpenAI(
base_url="https://kenari.id/v1",
api_key=os.environ["KENARI_API_KEY"],
)
result = client.moderations.create(
model="<model-id>",
input="teks yang diperiksa",
)
print(result.results[0].flagged)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://kenari.id/v1",
apiKey: process.env.KENARI_API_KEY,
});
const result = await client.moderations.create({
model: "<model-id>",
input: "teks yang diperiksa",
});
console.log(result.results[0].flagged);

Moderasi ditagih per token input. Model moderasi gratis secara default, jadi model tanpa harga menagih Rp 0. Harga tiap model ada di entri katalognya. Lihat Cara penagihan untuk saldo dan dimensi harga.

StatusKodeKapan
400bad_requestmodel tidak dikenal atau bukan model moderasi (pesannya memuat daftar id moderasi yang tersedia), input tidak ada atau berisi item kosong atau bukan string, atau request melewati batas 2.048 teks atau 1 MiB.
400model_not_foundModelnya terdaftar tetapi saat ini tidak ada provider yang melayaninya. Coba lagi nanti.
503upstream_error, all_providers_failedTidak ada provider yang mengembalikan response yang bisa dipakai. Kamu tidak ditagih. Coba lagi.

Kode error lainnya ada di Error.