Cómo moderar las imágenes que suben los usuarios
Revisa la foto antes de publicarla, no cuando llegue una denuncia. POST /v1/image acepta una url, los bytes en base64 en data o un file multipart, así que no tienes que publicar una foto para saber si se puede publicar.
Qué ve el modelo en una foto
Nada en los bytes de una imagen dice lo que aparece en ella, así que con las fotos el modelo no es un paso extra sino el único que ve. Puntúa seis categorías: sexual, violence, hate, spam (una lista de precios o un teléfono sobre una foto de banco de imágenes), scam y personal_data (un DNI, un extracto bancario, la captura de un chat privado). Un desnudo por sí solo no es contenido sexual, y una foto de prensa no es violencia explícita.
Texto en imágenes: el truco más viejo contra un filtro de texto
La oferta, el teléfono y la cartera llegan en píxeles porque una lista de palabras no los ve. La misma lectura transcribe el texto visible, que pasa por los filtros gratuitos de texto y por las palabras de tu política, así que una regla escrita para los comentarios vale también para las capturas. Cada motivo empieza por "In the text visible in the image".
Reconocer una foto que vuelve
Cuando se bloquea una imagen, su huella perceptual (un dHash de 64 bits) se guarda en ese proyecto durante una semana. La misma foto guardada en PNG y luego en JPEG queda a unos 3 bits de distancia, dos fotos distintas a 25 o más, y el límite está en 8. Si coincide, se rechaza antes de preguntar al modelo, y la huella vuelve en facts.image.hash.
Si el archivo dice que lo hizo un modelo
ToxicFilter lee el manifiesto de Content Credentials (C2PA) y su generador, el tipo de origen digital de IPTC, una herramienta de IA nombrada en XMP y los parámetros de generación que dejan en los bloques de texto de un PNG la interfaz web de Stable Diffusion, ComfyUI o NovelAI. La respuesta va en facts.image.provenance con ai (generated, edited o null), la herramienta en tool y si hay content_credentials. Una foto firmada por una cámara tiene credenciales y no tiene ai.
Descargar con seguridad la foto de un desconocido
La URL de una imagen se comprueba antes de descargarla: solo http y https, el host resuelto, cualquier dirección privada o interna rechazada antes de abrirla y sin seguir redirecciones. La descarga se lee por partes y se corta al pasar de 5 MB, no se decodifica nada de más de 40 megapíxeles y los bloques de texto de un PNG se descomprimen dentro de un único presupuesto de 1 MB para todo el archivo.