Gemini API menyediakan setelan keamanan yang dapat Anda sesuaikan selama tahap pembuatan prototipe untuk menentukan apakah aplikasi Anda memerlukan konfigurasi keamanan yang lebih ketat atau longgar. Anda dapat menyesuaikan setelan ini di seluruh kategori filter untuk membatasi atau mengizinkan jenis konten tertentu.
Panduan ini membahas cara menetapkan setelan keamanan pada interaksi, hal yang terjadi saat konten diblokir, serta kategori dan nilai minimum yang dapat Anda gunakan.
Menetapkan setelan keamanan
Teruskan daftar safety_settings saat Anda membuat interaksi. Setiap setelan
menyandingkan kategori bahaya (type) dengan nilai minimum pemblokiran (threshold).
Contoh berikut menetapkan kategori ujaran kebencian (hate_speech) ke
block_low_and_above, yang memblokir konten apa pun yang memiliki probabilitas rendah atau lebih tinggi
sebagai ujaran kebencian:
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="Some potentially unsafe prompt.",
safety_settings=[
{
"type": "hate_speech",
"threshold": "block_low_and_above",
}
],
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const interaction = await ai.interactions.create({
model: "gemini-3.8-flash",
input: "Some potentially unsafe prompt.",
safety_settings: [
{
type: "hate_speech",
threshold: "block_low_and_above",
},
],
});
console.log(interaction.output_text);
}
await main();
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.HarmCategory;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.SafetySetting;
import com.google.genai.gaos.models.interactions.Threshold;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.List;
Client client = new Client();
SafetySetting hateSpeechSafety =
SafetySetting.builder()
.type(HarmCategory.HATE_SPEECH)
.threshold(Threshold.BLOCK_LOW_AND_ABOVE)
.build();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.of("Some potentially unsafe prompt."))
.safetySettings(List.of(hateSpeechSafety))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput("Some potentially unsafe prompt."),
SafetySettings: []interactions.SafetySetting{
{
Type: interactions.HarmCategoryHateSpeech,
Threshold: interactions.ThresholdBlockLowAndAbove,
},
},
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-H "Api-Revision: 2026-05-20" \
-d '{
"model": "gemini-3.8-flash",
"input": "Some potentially unsafe prompt.",
"safety_settings": [
{"type": "hate_speech", "threshold": "block_low_and_above"}
]
}'
Anda dapat menyertakan satu setelan per kategori. Kategori yang tidak Anda tetapkan akan menggunakan nilai minimum default, yaitu Nonaktif untuk model Gemini 2.5 dan yang lebih baru.
Saat konten diblokir
Jika filter keamanan memblokir input atau respons model, interaksi akan gagal dengan error HTTP 400. Konten yang diblokir tidak ditampilkan.
Error code memberi tahu Anda alasan permintaan diblokir:
safety: Input atau respons diblokir oleh filter keamanan.jailbreak,prohibited_content, ataublocklist: Input diblokir karena alasan tersebut. Errormessagediawali denganInput blocked:.
Contoh:
{
"error": {
"code": "safety",
"message": "Request blocked due to safety violations (harmful content). Please modify your input and retry."
}
}
Untuk interaksi latar belakang (background=true), status interaksi
ditetapkan ke failed, dan code serta message yang sama muncul dalam daftar errors-nya.
Saat melakukan streaming, error akan muncul sebagai peristiwa error.
Filter keamanan
Filter keamanan Gemini API yang dapat disesuaikan mencakup kategori berikut:
| Kategori | Nilai (API) | Deskripsi |
|---|---|---|
| Pelecehan | harassment |
Konten yang melecehkan, mengancam, atau dimaksudkan untuk menindas, menyiksa, atau mengejek. |
| Ujaran kebencian | hate_speech |
Konten yang mendorong kekerasan atau menghasut kebencian terhadap individu atau kelompok berdasarkan atribut tertentu. |
| Seksual vulgar | sexually_explicit |
Konten yang berisi materi seksual vulgar. |
| Berbahaya | dangerous_content |
Konten yang mempromosikan, memfasilitasi, atau memungkinkan aktivitas berbahaya. |
| Jailbreak | jailbreak |
Perintah yang dirancang untuk mengabaikan filter keamanan. |
Anda dapat menggunakan filter ini untuk menyesuaikan hal yang sesuai dengan kasus penggunaan Anda. Misalnya, jika Anda membuat dialog video game, Anda mungkin menganggapnya wajar untuk mengizinkan lebih banyak konten dengan peringkat Berbahaya karena karakteristik game itu sendiri.
Selain filter keamanan yang dapat disesuaikan, Gemini API memiliki perlindungan bawaan terhadap bahaya inti, seperti konten yang membahayakan keselamatan anak. Jenis bahaya ini selalu diblokir dan tidak dapat disesuaikan.
Batas pemblokiran
Karena keamanan bawaan model, filter tambahan Nonaktif secara default. Perilaku model default mencakup sebagian besar kasus penggunaan, jadi Anda hanya perlu menyesuaikan setelan ini jika diperlukan secara konsisten untuk aplikasi Anda.
Tabel berikut menjelaskan nilai minimum yang dapat Anda tetapkan untuk setiap kategori. Misalnya, jika Anda menyetel ujaran kebencian ke Block few (block_only_high), konten dengan probabilitas tinggi sebagai ujaran kebencian akan diblokir, dan konten dengan probabilitas lebih rendah akan diizinkan.
| Nilai minimum (Google AI Studio) | Batas (API) | Deskripsi |
|---|---|---|
| Nonaktif | off |
Menonaktifkan filter keamanan |
| Block few | block_only_high |
Blokir jika probabilitas tinggi konten tidak aman |
| Blokir beberapa | block_medium_and_above |
Blokir jika probabilitas konten tidak aman sedang atau tinggi |
| Blokir sebagian besar | block_low_and_above |
Blokir jika ada probabilitas rendah, sedang, atau tinggi konten tidak aman |
Probabilitas versus tingkat keparahan
Gemini API menilai probabilitas konten tidak aman sebagai tinggi, sedang, rendah, atau dapat diabaikan. Fitur ini memblokir konten berdasarkan probabilitas tersebut, bukan berdasarkan keparahan bahaya. Beberapa konten mungkin memiliki kemungkinan rendah untuk dianggap tidak aman, meskipun bahayanya bisa parah. Misalnya, bandingkan kalimat berikut:
- Robot itu memukul saya.
- Robot itu menebas saya.
Kalimat pertama mungkin memiliki kemungkinan konten tidak aman yang lebih tinggi, tetapi Anda mungkin menganggap kalimat kedua lebih parah. Lakukan pengujian dengan cermat untuk menemukan tingkat pemblokiran yang mendukung kasus penggunaan Anda sekaligus meminimalkan bahaya bagi pengguna akhir.
Menyesuaikan setelan keamanan di Google AI Studio
Klik Safety settings di bagian Advanced settings di panel Run settings untuk membuka modal Run safety settings. Di modal, Anda dapat menggunakan penggeser untuk menyesuaikan tingkat pemfilteran konten per kategori keamanan:
Saat Anda mengirim permintaan (misalnya, dengan mengajukan pertanyaan kepada model), pesan Konten diblokir akan muncul jika konten permintaan diblokir. Untuk melihat detail selengkapnya, arahkan kursor ke teks Konten diblokir untuk melihat kategori dan probabilitas klasifikasi bahaya.
Langkah berikutnya
- Lihat referensi Interactions API untuk mempelajari lebih lanjut API lengkap.
- Tinjau panduan keamanan untuk melihat gambaran umum pertimbangan keamanan saat mengembangkan dengan LLM.
- Pelajari lebih lanjut cara menilai probabilitas versus tingkat keparahan dari tim Jigsaw.
- Pelajari lebih lanjut produk yang berkontribusi pada solusi keamanan seperti Perspective API.
