Safetensors vs .ckpt y .pt: cómo descargar modelos de IA de forma segura y verificarlos con SHA-256
Resumen
Antes, los archivos de modelos eran pickles de Python (.ckpt, .pt, .pth, .bin). Un pickle es un objeto de Python serializado, y cargar uno puede ejecutar código arbitrario incrustado; en 2023 y 2024 se encontraron varios checkpoints maliciosos en sitios de compartición. El formato .safetensors, creado por Hugging Face, solo guarda tensores y un encabezado JSON, así que cargar uno no puede ejecutar código. Todas las interfaces actuales lo prefieren y la mayoría rechaza pickles por defecto o los escanean. Si un modelo solo está disponible como .ckpt, mejor busca una versión convertida a safetensors de una fuente confiable o conviértelo tú mismo en un entorno seguro.
La seguridad no es solo sobre código. Un archivo renombrado, truncado o sustituido da resultados erróneos y hace perder horas. La solución es el hash: el SHA-256 del archivo publicado, que aparece en cada página de modelo en este sitio junto con el hash AutoV2 más corto (los primeros diez caracteres) que muestran A1111 y Civitai. Calcula el hash de tu descarga y compáralo; si coincide, tienes exactamente los bytes que publicó el autor; si no, algo cambió entre ellos y tú.
También importan los sitios. Descarga desde la página del autor (repositorio de Hugging Face o página del modelo en Civitai enlazada desde esta página) en lugar de sitios de re-subida; usa el hash para verificar espejos y torrents. O evita descargar por completo: los socios en la nube enlazados en cada página de modelo ya alojan los archivos verificados.
Referencia
Nombre | Tipo | Qué es |
|---|---|---|
.safetensors | format | Tensores más un encabezado JSON; no puede ejecutar código; mapeable en memoria, carga rápido. El estándar desde 2023. |
.ckpt / .pt / .pth / .bin | format | Pickle de Python; puede ejecutar código al cargar. Evita fuentes desconocidas; las interfaces modernas avisan o bloquean. |
.gguf | format | |
SHA-256 | hash | 64 caracteres hexadecimales que identifican el archivo exacto. En la página del modelo aquí, bajo la lista de archivos. |
AutoV2 | hash | |
certutil -hashfile FILE SHA256 | Windows | Comando integrado para hash; PowerShell: Get-FileHash FILE. |
shasum -a 256 FILE | Mac / Linux | Integrado; sha256sum FILE en Linux. |
Pickle scanner | tool | picklescan o el escaneo integrado de la UI reporta importaciones sospechosas en archivos .ckpt; un escaneo limpio no garantiza seguridad. |
Paso a paso
- Abre el modelo en este sitio y copia el SHA-256 (o AutoV2) de la lista de archivos; anota el tamaño del archivo.
- Sigue el enlace a la página del autor y descarga la variante .safetensors. Si solo hay .ckpt, busca una conversión a safetensors en la misma página o hecha por una cuenta convertidora conocida.
- Primero revisa el tamaño: un archivo mucho más pequeño que el listado está truncado.
- Haz el hash: en Windows PowerShell usa Get-FileHash .\model.safetensors; en Mac/Linux shasum -a 256 model.safetensors. Compara los primeros 10 caracteres con el AutoV2 en la página del modelo, o la cadena completa con el SHA-256.
- Si coincide: mueve el archivo a la carpeta correcta (checkpoints, loras, controlnet, vae) y refresca la UI. A1111 y Forge muestran el AutoV2 junto al nombre del modelo; debe coincidir también.
- Si no coincide: borra y vuelve a descargar desde la página del autor; si el archivo del autor difiere de nuestro listado, el autor actualizó el archivo (revisa la versión) o nuestro registro está desactualizado; usa el enlace de la comunidad en Telegram en las preguntas frecuentes para reportarlo.
- Para .ckpt debes: hacer un escaneo de pickle, cargarlo solo en un entorno que puedas reconstruir, y convertirlo a safetensors de inmediato (ComfyUI y A1111 tienen convertidores) para no cargar el pickle nunca más.
- Para evitar todo esto, pulsa el botón PirateDiffusion o BitVector en la página del modelo; el archivo alojado es el verificado.
Ejemplos
Hash en Windows
Get-FileHash "C:\ComfyUI\models\checkpoints\juggernautXL_v9.safetensors"
certutil -hashfile "C:\ComfyUI\models\checkpoints\juggernautXL_v9.safetensors" SHA256
Hash en Mac o Linux
shasum -a 256 ~/ComfyUI/models/checkpoints/juggernautXL_v9.safetensors
Convertir un .ckpt una vez, en Python
from safetensors.torch import save_file; import torch
sd = torch.load("model.ckpt", map_location="cpu", weights_only=True)["state_dict"]; save_file(sd, "model.safetensors")
Consejos
- Hugging Face muestra el SHA-256 de cada archivo en un repositorio (haz clic en el archivo, "Copy SHA256"); Civitai muestra AutoV2 y SHA-256 en los detalles del archivo. Ambos deben coincidir con lo que lista la página del modelo aquí.
- La cuarentena del antivirus a mitad de descarga produce un archivo truncado que falla el hash; pon en lista blanca la carpeta de tus modelos en vez de desactivar los escaneos.
- Verificar el hash también te ayuda a detectar si un torrent o espejo está sirviendo una versión antigua con el mismo nombre.
- Safetensors no protege contra un mal modelo, solo contra código; los ejemplos en la página del modelo y la puntuación heat te dicen si un archivo vale la pena.
- Los archivos LoRA de entrenadores siempre vienen como safetensors; un LoRA ofrecido como .pt es una señal de alerta a menos que sea un embedding de la era 2022.
- Mantén un archivo de texto con los hashes junto a tu carpeta de modelos; dentro de un año no recordarás qué "v3" tienes.
Solución de problemas
El hash no coincide con la página del modelo
Por qué ocurre
Descarga truncada, versión diferente o archivo sustituido.
Cómo arreglarlo
Compara el tamaño, vuelve a descargar del autor, revisa la versión; reporta un listado desactualizado vía el enlace comunitario.
La UI se niega a cargar un .ckpt
Por qué ocurre
Configuración de seguridad para pickle.
Cómo arreglarlo
Busca o crea una versión safetensors; no desactives la configuración de seguridad.
El escaneo de pickle reporta una importación sospechosa
Por qué ocurre
Código en el pickle, malicioso o solo raro.
Cómo arreglarlo
No lo cargues. Busca la versión safetensors.
La descarga es el doble del tamaño listado
Por qué ocurre
Versión fp32 cuando la página lista fp16, o un checkpoint completo en lugar de un LoRA.
Cómo arreglarlo
Elige la variante que coincida con el listado; ambos son válidos pero se comportan diferente.
El archivo se abre pero da imágenes basura
Por qué ocurre
Familia incorrecta o archivo corrupto pero de tamaño completo.
Cómo arreglarlo
Verifica el hash; carga con un checkpoint de la familia correcta.
Preguntas
¿Safetensors siempre es seguro?
Seguro contra ejecución de código, sí. No dice nada sobre la calidad o licencia del modelo; eso viene de la página del modelo.
¿Por qué algunos repositorios aún usan .bin o .pt?
Lanzamientos antiguos y algo de código de investigación. La mayoría tiene safetensors junto; usa ese.
¿El hash cambia si renombro el archivo?
No. El hash es del contenido; el nombre no importa.
¿Y los archivos GGUF?
Son un formato de tensores sin ejecución de código; hazles hash igual.
¿De dónde vienen los hashes en este sitio?
De los archivos publicados por los autores al listar; se muestran para que verifiques la descarga, y se aceptan correcciones vía el chat comunitario.
Enlaces y fuentes
- Safetensors documentation
- picklescan
- Hugging Face security notes on pickles
- Models browser
- PirateDiffusionAD
Modelos de esta guía
Escrito por
Lleva el inventario: cada LoRA, cada cuantización, cada archivo que alguien renombró a final_v2_REAL.safetensors. Mide el hardware en cuántos renders Wan caben antes de la cena. Te dará la cifra de VRAM, luego te dirá que está mal porque tienes Chrome abierto. Pesos abiertos o no se envió.
Todas las guías de Quartermaster
Guías relacionadas
Cómo instalar un LoRA: carpetas, comprobación de archivos y primer uso en ComfyUI, Forge, Automatic1111 y Draw Things
24 de sep de 2025
Checkpoint vs LoRA vs embedding vs ControlNet: qué hace cada archivo
8 de oct de 2025
¿Qué es The Hugging Bay? Un índice espejo para modelos abiertos y cómo verificar una descarga con sus hashes
5 de oct de 2026
Qué es un LoRA y cómo usar uno en ComfyUI, Forge, Automatic1111 y en la nube
20 de may de 2026
Pesos abiertos vs código abierto vs solo API: lo que realmente puedes hacer
29 de jul de 2026
¿Qué es un archivo GGUF? Modelos cuantizados explicados (Q4, Q8, fp8, NF4)
26 de ago de 2026
Alternativas a Civitai: dónde encontrar y descargar modelos de IA en 2026
16 de sep de 2026
Más guías
Errores de ComfyUI y cómo solucionarlos: nodos rojos, modelos faltantes, falta de memoria CUDA
12 de may de 2026
CUDA sin memoria: cuánto VRAM necesita cada modelo de IA y cómo ajustarlo
18 de may de 2026
Errores y soluciones de Stable Diffusion WebUI Forge (Flux, SDXL, poca VRAM)
16 de may de 2026
Requisitos de VRAM para todos los modelos populares de IA para imágenes y video (2026): precisión completa, FP8 y GGUF
6 de oct de 2026
Cómo funcionan los modelos generativos de imágenes AI: difusión, latentes y codificadores de texto explicados de forma sencilla
28 de ago de 2025
