Configuración de seguridad

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_content o blocklist: La entrada se bloqueó por ese motivo. El message de error comienza con Input 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:

  1. El robot me golpeó.
  2. 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.