La API de Gemini proporciona parámetros de seguridad que puedes ajustar durante la fase de creación de prototipos para determinar si tu aplicación requiere una configuración de seguridad más o menos restrictiva. Puedes ajustar estos parámetros en las categorías de filtros para restringir o permitir ciertos tipos de contenido.
En esta guía, se explica cómo establecer parámetros de seguridad en una interacción, qué sucede cuando se bloquea el contenido y qué categorías y umbrales puedes usar.
Establece parámetros de seguridad
Pasa una lista de safety_settings cuando crees una interacción. Cada parámetro vincula una categoría de daño (type) con un umbral de bloqueo (threshold).
En el siguiente ejemplo, se establece la categoría de incitación al odio o a la violencia (hate_speech) en block_low_and_above, que bloquea cualquier contenido que tenga una probabilidad baja o superior de ser incitación al odio o a la violencia:
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"}
]
}'
Puedes incluir un parámetro por categoría. Las categorías que no establezcas usarán el umbral predeterminado, que es Desactivado para los modelos Gemini 2.5 y versiones posteriores.
Cuando se bloquea el contenido
Si un filtro de seguridad bloquea la entrada o la respuesta del modelo, la interacción falla con un error HTTP 400. No se devuelve el contenido bloqueado.
El code de error te indica por qué se bloqueó la solicitud:
safety: Un filtro de seguridad bloqueó la entrada o la respuesta.jailbreak,prohibited_contentoblocklist: La entrada se bloqueó por ese motivo. Elmessagede error comienza conInput blocked:.
Por ejemplo:
{
"error": {
"code": "safety",
"message": "Request blocked due to safety violations (harmful content). Please modify your input and retry."
}
}
Para las interacciones en segundo plano (background=true), el status de la interacción se establece en failed, y el mismo code y message aparecen en su lista errors.
Cuando se transmite, el error llega como un evento error.
Filtros de seguridad
Los filtros de seguridad ajustables de la API de Gemini abarcan las siguientes categorías:
| Categoría | Valor (API) | Descripción |
|---|---|---|
| Hostigamiento | harassment |
Contenido abusivo, amenazante o destinado a intimidar, atormentar o ridiculizar |
| Incitación al odio o a la violencia | hate_speech |
Contenido que promueve la violencia o incita al odio contra personas o grupos en función de ciertos atributos |
| Contenido sexual explícito | sexually_explicit |
Contenido que incluye material sexualmente explícito |
| Peligroso | dangerous_content |
Contenido que promueve, facilita o permite actividades peligrosas |
| Jailbreak | jailbreak |
Instrucciones diseñadas para eludir los filtros de seguridad |
Puedes usar estos filtros para ajustar lo que sea apropiado para tu caso de uso. Por ejemplo, si creas diálogos de videojuegos, es posible que consideres aceptable permitir más contenido clasificado como Peligroso debido a la naturaleza del juego.
Además de los filtros de seguridad ajustables, la API de Gemini tiene protecciones integradas contra daños fundamentales, como el contenido que pone en peligro la seguridad de los niños. Estos tipos de daño siempre se bloquean y no se pueden ajustar.
Umbrales de bloqueo
Debido a la seguridad inherente del modelo, los filtros adicionales están desactivados de forma predeterminada. El comportamiento predeterminado del modelo abarca la mayoría de los casos de uso, por lo que solo debes ajustar estos parámetros si es necesario para tu aplicación.
En la siguiente tabla, se describen los umbrales que puedes establecer para cada categoría. Por ejemplo, si estableces Incitación al odio o a la violencia en Bloquear pocos (block_only_high), se bloquea el contenido con una alta probabilidad de ser incitación al odio o a la violencia, y se permite todo lo que tenga una probabilidad menor.
| Umbral (Google AI Studio) | Umbral (API) | Descripción |
|---|---|---|
| Desactivado | off |
Desactiva el filtro de seguridad |
| Bloquear pocos | block_only_high |
Bloquea cuando haya una alta probabilidad de que sea contenido no seguro |
| Bloquear algunos | block_medium_and_above |
Bloquea cuando haya una probabilidad media o alta de que sea contenido no seguro |
| Bloquear la mayoría | block_low_and_above |
Bloquea cuando haya una probabilidad baja, media o alta de que sea contenido no seguro |
Probabilidad versus gravedad
La API de Gemini califica la probabilidad de que el contenido sea inseguro como alta, media, baja o insignificante. Bloquea el contenido en función de esa probabilidad, no de la gravedad del daño. Algunos contenidos pueden tener una baja probabilidad de ser inseguros, aunque el daño pueda ser grave. Por ejemplo, compara estas oraciones:
- El robot me golpeó.
- El robot me acuchilló.
La primera oración puede tener una mayor probabilidad de ser insegura, pero podrías considerar que la segunda es más grave. Realiza pruebas con cuidado para encontrar el nivel de bloqueo que admita tu caso de uso y, al mismo tiempo, minimice el daño a los usuarios finales.
Ajusta los parámetros de seguridad en Google AI Studio
Haz clic en Parámetros de seguridad en Parámetros avanzados en el panel Parámetros de ejecución para abrir el modal Ejecutar parámetros de seguridad. En el modal, puedes usar los controles deslizantes para ajustar el nivel de filtrado de contenido por categoría de seguridad:
Cuando envías una solicitud (por ejemplo, cuando le haces una pregunta al modelo), aparece un mensaje Contenido bloqueado si se bloquea el contenido de la solicitud. Para ver más detalles, mantén el puntero sobre el texto Contenido bloqueado para ver la categoría y la probabilidad de la clasificación de daño.
Próximos pasos
- Consulta la referencia de la API de Interactions para obtener más información sobre la API completa.
- Revisa la guía de seguridad para obtener una descripción general de las consideraciones de seguridad cuando desarrollas con LLMs.
- Obtén más información para evaluar la probabilidad en comparación con la gravedad del equipo de Jigsaw team.
- Obtén más información sobre los productos que contribuyen a las soluciones de seguridad, como la API de Perspective.
