Model
.ai
siguiendo los modelos de IA abiertos

Safetensors vs .ckpt y .pt: cómo descargar modelos de IA de forma segura y verificarlos con SHA-256

Tema: Errores y soluciones
Por Quartermaster
Publicado el 1 de abr de 2026

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
Tensores cuantizados con metadatos (linaje llama.cpp); no ejecuta código. Usado para GGUF Flux, Qwen y LLMs.
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
Los primeros 10 caracteres del SHA-256, como lo muestran A1111, Forge y Civitai.
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

  1. Abre el modelo en este sitio y copia el SHA-256 (o AutoV2) de la lista de archivos; anota el tamaño del archivo.
  2. 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.
  3. Primero revisa el tamaño: un archivo mucho más pequeño que el listado está truncado.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.

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

Más guías