Model
.ai
vi följer öppna AI-modeller

Safetensors vs .ckpt och .pt: hur man laddar ner AI-modeller säkert och verifierar dem med SHA-256

Ämne: Fel och lösningar
Av Quartermaster
Publicerad 1 apr 2026

Översikt

Modellfiler brukade vara Python-pickles (.ckpt, .pt, .pth, .bin). En pickle är ett serialiserat Python-objekt, och att ladda en kan köra godtycklig kod inbäddad i den; flera skadliga checkpoints hittades på delningssajter 2023 och 2024. .safetensors-formatet, skapat av Hugging Face, lagrar bara tensors och en JSON-header, så att ladda en sådan kan inte köra kod. Alla nuvarande UI föredrar det och de flesta vägrar pickles som standard eller skannar dem. Om en modell bara finns som .ckpt, välj hellre en konverterad safetensors-version från en källa du litar på, eller konvertera den själv i en sandbox.
Säkerhet handlar inte bara om kod. En ominamnad, trunkerad eller utbytt fil ger fel resultat och slösar timmar. Lösningen är hashen: SHA-256 för den publicerade filen, som visas på varje modelsida här tillsammans med den kortare AutoV2-hashen (de första tio tecknen) som A1111 och Civitai visar. Beräkna hashen för din nedladdning och jämför; en match betyder att du har exakt de bytes som författaren publicerade, en missmatch betyder att något ändrats mellan dem och dig.
Sajterna spelar också roll. Ladda ner från författarens egen sida (Hugging Face-repo eller Civitai-modellsida länkad från modelsidan här) istället för från återuppladdningssajter; använd hashen för att verifiera speglar och torrents. Eller undvik nedladdning helt: molnleverantörerna länkade från varje modelsida har redan de verifierade filerna.

Referens

Namn
Typ
Vad det är
.safetensors
format
Tensors plus en JSON-header; ingen kodkörning möjlig; minnesmappbar, laddar snabbt. Standard sedan 2023.
.ckpt / .pt / .pth / .bin
format
Python-pickle; kan köra kod vid laddning. Undvik från okända källor; moderna UI varnar eller blockerar.
.gguf
format
Kvantiserade tensors med metadata (llama.cpp-linje); ingen kodkörning. Används för GGUF Flux, Qwen och LLMs.
SHA-256
hash
64 hex-tecken som identifierar exakt fil. På modelsidan här under fil-listan.
AutoV2
hash
De första 10 tecknen av SHA-256, som A1111, Forge och Civitai visar.
certutil -hashfile FILE SHA256
Windows
Inbyggt hash-kommando; PowerShell: Get-FileHash FILE.
shasum -a 256 FILE
Mac / Linux
Inbyggt; sha256sum FILE på Linux.
Pickle scanner
tool
picklescan eller UI:ns inbyggda skanning rapporterar misstänkta imports i .ckpt-filer; en ren skanning är ingen garanti.

Steg för steg

  1. Öppna modellen på den här sajten och kopiera SHA-256 (eller AutoV2) från fil-listan; notera filstorleken.
  2. Följ käll-länken till författarens sida och ladda ner .safetensors-varianten. Om bara .ckpt finns, leta efter en safetensors-konvertering på samma sida eller från ett känt konverterarkonto.
  3. Kolla storleken först: en fil som är mycket mindre än listad är trunkerad.
  4. Hasha den: Windows PowerShell Get-FileHash .\model.safetensors; Mac/Linux shasum -a 256 model.safetensors. Jämför de första 10 tecknen med AutoV2 på modelsidan, eller hela strängen med SHA-256.
  5. Match: flytta filen till rätt mapp (checkpoints, loras, controlnet, vae) och uppdatera UI. A1111 och Forge visar AutoV2 bredvid modellnamnet; det ska också stämma.
  6. Missmatch: ta bort och ladda ner igen från författarens sida; om författarens egen fil skiljer sig från vår lista, har författaren uppdaterat filen (kolla versionen) eller så är vår post föråldrad; använd Telegram-community-länken i FAQ för att rapportera det.
  7. För .ckpt måste du: köra en pickle-skanning, ladda den bara i en miljö du kan bygga om, och konvertera den till safetensors direkt (ComfyUI och A1111 har båda konverterare) så du aldrig laddar picklen igen.
  8. För att slippa allt detta, tryck på PirateDiffusion- eller BitVector-knappen på modelsidan; den hostade filen är den verifierade.

Exempel

Hashning på Windows

Get-FileHash "C:\ComfyUI\models\checkpoints\juggernautXL_v9.safetensors"
certutil -hashfile "C:\ComfyUI\models\checkpoints\juggernautXL_v9.safetensors" SHA256

Hashning på Mac eller Linux

shasum -a 256 ~/ComfyUI/models/checkpoints/juggernautXL_v9.safetensors

Konvertera en .ckpt en gång, i 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")

Tips

  • Hugging Face visar SHA-256 för varje fil i ett repo (klicka på filen, "Copy SHA256"); Civitai visar AutoV2 och SHA-256 i fildetaljerna. Båda ska stämma med vad modelsidan här listar.
  • Antivirus-karantän mitt i nedladdning ger en trunkerad fil som misslyckas i hash; vitlista din modells-mapp istället för att stänga av skanningar.
  • Hashkontroll är också hur du upptäcker en torrent eller spegel som serverar en äldre version med samma namn.
  • Safetensors skyddar inte mot en dålig modell, bara mot kod; modelsidans exempel och heat score visar om en fil är värd att ha.
  • LoRA-filer från tränare kommer alltid som safetensors; en LoRA som erbjuds som .pt är en varningssignal om det inte är en embedding från 2022.
  • Spara en textfil med hashar bredvid din modells-mapp; om ett år kommer du inte minnas vilken "v3" du har.

Felsökning

Hash stämmer inte med modelsidan

Varför det händer
Trunkerad nedladdning, en annan version eller en utbytt fil.

Så löser du det
Jämför storleken, ladda ner igen från författaren, kolla versionen; rapportera en föråldrad lista via community-länken.

UI vägrar ladda en .ckpt

Varför det händer
Pickle-säkerhetsinställning.

Så löser du det
Hitta eller skapa en safetensors-version; stäng inte av säkerhetsinställningen.

Pickle-skanning rapporterar misstänkt import

Varför det händer
Kod i picklen, skadlig eller bara ovanlig.

Så löser du det
Ladda inte den. Hitta safetensors-utgåvan.

Nedladdningen är dubbelt så stor som listad

Varför det händer
fp32-version där sidan listar fp16, eller en full checkpoint istället för en LoRA.

Så löser du det
Välj varianten som matchar listan; båda är giltiga men beter sig olika.

Filen öppnas men ger skräp-bilder

Varför det händer
Fel familj eller en korrupt men fullstor fil.

Så löser du det
Verifiera hashen; ladda med en checkpoint från rätt familj.

Frågor

Är safetensors alltid säkert?

Säkert mot kodkörning, ja. Det säger inget om modellens kvalitet eller licens; det kommer från modelsidan.

Varför levererar vissa repos fortfarande .bin eller .pt?

Äldre utgåvor och viss forskningskod. De flesta har safetensors vid sidan om; använd det.

Ändras hashen om jag byter namn på filen?

Nej. Hashen är för innehållet; namnet spelar ingen roll.

Hur är det med GGUF-filer?

De är ett tensorformat utan kodkörning; hasha dem på samma sätt.

Varifrån kommer hasharna på den här sajten?

Från författarnas publicerade filer vid listningstillfället; de visas så du kan verifiera en nedladdning, och rättelser tas emot via community-chatten.

Modeller i den här guiden

Skriven av
Håller koll på lagret: varje LoRA, varje kvant, varje fil som någon döpt om till final_v2_REAL.safetensors. Mäter hårdvara i hur många Wan-renderingar som får plats före middag. Ger dig VRAM-siffran, för att sedan säga att den är fel för att du har Chrome öppet. Öppna vikter eller så levererades det inte.
Alla guider av Quartermaster

Fler guider