Saltar al contenido

Moderation

POST /v1/moderations revisa textos e imágenes en busca de contenido dañino —acoso, odio, autolesiones, contenido sexual, violencia— y devuelve un indicador y una puntuación por categoría. Úsalo para filtrar la entrada de los usuarios antes de que llegue a tu app o a un modelo, o para revisar la salida antes de mostrarla.

Sigue el formato de Moderation de OpenAI. El modelo es openai-moderation (también conocido como omni-moderation-latest) y se usa cuando omites model.

Revisar texto

curl https://api.inferray.com/v1/moderations \
  -H "Authorization: Bearer $INFERRAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input": "I want to hurt someone."}'
const result = await client.moderations.create({
  model: "omni-moderation-latest",
  input: "I want to hurt someone.",
});

if (result.results[0].flagged) {
  // block, queue for review, or respond carefully
}

input puede ser un string, un array de strings (un resultado por cada uno) o un array de partes que combine text y image_url:

{
  "input": [
    { "type": "text", "text": "Is this image OK to post?" },
    { "type": "image_url", "image_url": { "url": "https://example.com/upload.jpg" } }
  ]
}

La respuesta

{
  "id": "modr-...",
  "model": "openai-moderation",
  "results": [
    {
      "flagged": true,
      "categories": { "violence": true, "harassment": false, "self-harm": false },
      "category_scores": { "violence": 0.97, "harassment": 0.04, "self-harm": 0.01 }
    }
  ]
}

flagged es true cuando alguna categoría lo es. Para tus propios umbrales, usa category_scores (de 0 a 1) en su lugar.

Precios

Moderation se cobra por solicitud, con un precio fijo bajo que se muestra en la página del modelo.