Hvad er Stable Diffusion, og hvordan virker den?

Af Udgivet Opdateret 13 min. læsning

Stable Diffusion er en latent diffusionsmodel med åbne vægte, der laver et billede ud fra en tekstbeskrivelse. Den udkom i august 2022, kører på et almindeligt gaming-grafikkort, og alle kan downloade, undersøge og finjustere den. Denne guide forklarer, hvordan Stable Diffusion virker, ved at følge en prompt gennem modellen, med rigtige renderinger på hvert trin.

Omskrevet den 18. oktober 2026: rigtige renderinger på hvert trin, den fremadrettede og den omvendte proces, en række guidance-skalaer, billede til billede ved tre strengths, en versionstabel til 3.5 og kilder til hver påstand.

Stable Diffusion kort fortalt

Stable Diffusion er en open source latent diffusionsmodel (LDM): et neuralt netværk, der er trænet til at forvandle tilfældig støj til et billede, lidt ad gangen, styret af en tekst. Den blev bygget af CompVis-gruppen på Ludwig-Maximilians-Universität i München sammen med Runway og trænet med regnekraft fra Stability AI på billeder indsamlet af den almennyttige organisation LAION. Metoden stammer fra artiklen High-Resolution Image Synthesis with Latent Diffusion Models (Rombach og kolleger, CVPR 2022).

Vægtene blev offentliggjort den 22. august 2022. Det er den del, der ændrede alt. DALL-E 2 og Midjourney fandtes, men bag ventelister og credits, på andres servere. Stable Diffusion var en fil på 4 GB, der kørte på et grafikkort med 8 GB hukommelse, uden konto og med et sikkerhedsfilter, man kunne slå fra.

I løbet af få uger kom webgrænsefladerne og inpainting, derefter finjusteringerne, LoRA'erne og ControlNet. Fire år senere betyder navnet to ting. I snæver forstand modelfamilien fra 1.4 til 3.5. I bred forstand hele den praksis at køre billedmodeller på sin egen maskine.

Det følgende forklarer selve maskinen, med det ordforråd du møder i enhver grænseflade: latent rum, VAE, U-Net, CLIP, sampler, guidance-skala, seed. Der kræves ingen formler, men et par tal hjælper.

Hvordan virker Stable Diffusion? Tre netværk og én løkke

Stable Diffusion er ikke ét netværk, men tre, der kører efter hinanden.

  1. En tekst-encoder læser prompten og laver den om til en liste af tal. I Stable Diffusion 1.5 er det 77 tokens, hver beskrevet af 768 tal; 2.048 i SDXL, som kører to encodere.
  2. En denoiser, et U-Net i versionerne 1 til XL og en transformer (MMDiT) fra version 3, starter fra en blok af tilfældig støj og renser den over 20 til 30 steps, mens den ved hvert trin rådfører sig med teksttallene. Den arbejder ikke på pixels, men på en komprimeret udgave af billedet, det latente billede, som lever i det, der kaldes det latente rum: 4 × 64 × 64 tal for et billede på 512 pixels, 4 × 128 × 128 for SDXL's 1024 pixels.
  3. En decoder laver det latente billede om til de endelige pixelværdier, rød, grøn og blå: 3 × 512 × 512, eller 3 × 1024 × 1024 for SDXL.
Diagram over Stable Diffusion-pipelinen: prompt, CLIP-tekst-encoder, denoising-løkke på et latent billede, VAE-decoder, færdigt billede
Pipelinen i Stable Diffusion XL. 1: prompten. 2: tekst-encoderen, CLIP. 3: denoiseren, et U-Net, fodret med tilfældig støj fra seedet og kørt 20 til 30 gange: den løkke er diffusionen. 4: decoderen, VAE'en. 5: billedet. Tallene på pilene er formen på det, der sendes mellem netværkene.

Intet slås op eller kopieres undervejs. Der er ingen billeddatabase inde i filen. De 2 til 16 GB vægte rummer det, netværket har lært om, hvordan billedtekster og billeder hører sammen, og hvert resultat beregnes ud fra støj. Netværket kan stadig huske billeder, der optrådte mange gange i træningen, og forskere har trukket et par hundrede af dem ud, men det er undtagelsen.

Hvad er en diffusionsmodel? At lære at fjerne støj

Den fremadrettede proces: at tilføje støj

Idéen bag diffusion er enkel at formulere. Tag et foto med dets billedtekst. Tilføj en afmålt mængde tilfældig støj. Bed et netværk gætte, hvilken støj der blev tilføjet, når det kender billedteksten. Sammenlign dets gæt med sandheden, og ret netværket en smule.

At tilføje støjen er den fremadrettede proces. Den følger en fast plan med tusind niveauer, fra en svag kornethed ved niveau 50 til ren sne ved niveau 999. Netværket ser aldrig planen blive kørt igennem; det ser kun ét støjende billede på ét niveau ad gangen.

Det samme maleri af et fyrtårn med støj tilføjet på niveau 0, 50, 200, 500 og 999 i Stable Diffusions fremadrettede proces
Den fremadrettede proces på ét billede. Tallet på hver flise er støjniveauet: 0, 50, 200, 500 og 999 ud af 1.000, med den lineære plan fra Stable Diffusion 1. Træningssættet er hvert billede på hvert niveau, og netværket bliver bedt om at finde støjen igen.

Gør det over milliarder af eksempler, og resultatet er en støjforudsiger: givet et støjende billede, dets støjniveau og en tekst siger den, hvad støjen sandsynligvis er. Træningsmålet er blot afstanden mellem den forudsagte støj og den rigtige. Træningen af Stable Diffusion 1 tog omkring 150.000 timer på A100-GPU'er i et datacenter ifølge dens modelkort.

Den omvendte proces: støjforudsigeren på arbejde

Genereringen kører lektionen baglæns. Det er den omvendte proces. Start fra ren støj, som seedet vælger. Spørg forudsigeren, hvad støjen er, fjern en brøkdel af den, spørg igen. DDPM, artiklen fra 2020, der gjorde diffusion praktisk anvendelig, gjorde det i tusind små trin.

Sampleren, i nogle grænseflader også kaldet scheduler, er den regel, der afgør, hvor stort hvert trin er, og om der lægges lidt frisk støj tilbage. Bedre samplere, DDIM, Euler og DPM++-familien, tager større skridt ad den samme sti, og det er derfor, 20 til 30 steps er nok i dag.

Den samme Stable Diffusion XL-rendering fra startstøjen over modellens forudsigelser efter 1, 2, 3 og 8 steps til det færdige oliemaleri af et hvidt fyrtårn under en blå himmel efter 30
Én rendering på 30 steps, Stable Diffusion XL, euler, 30 steps, CFG 6, seed 20220822. Tallet på hver flise er trinnet. 0 er startstøjen. Derefter det, modellen forudsiger som det færdige billede efter 1, 2, 3 og 8 steps, og resultatet ved 30. Horisonten, havet og fyrtårnet er på plads ved trin 2 eller 3; de resterende trin tilføjer tekstur.

Figuren viser det, der er værd at huske. Ved hvert trin har modellen et gæt på det færdige billede, og gættet falder tidligt på plads. De første to eller tre trin, mens støjen er kraftig, fastlægger kompositionen: hvor horisonten ligger, hvor fyrtårnet står, hvor meget himmel der er. De senere trin forfiner tekstur og små detaljer.

Skyderen herunder gennemgår alle tredive gæt fra den samme rendering.

Modellens skøn over det færdige fyrtårnsmaleri ved et valgt denoising-trin, 1 til 30
Træk for at se modellens skøn efter hvert af de 30 steps. Samme rendering som ovenfor, billeder i 512 pixels.

Det har to praktiske konsekvenser. Ændrer du antallet af steps, ændres detaljerne og nogle gange kompositionen, fordi de tidlige trin lander på andre værdier; det gør ikke bare det samme billede skarpere. Og det samme seed i en anden billedstørrelse starter fra en anden blok af støj, så det giver også et andet billede. Vælg størrelsen først, og led så efter et seed.

Latent diffusion: VAE-tricket, der får den til at køre på et gaming-kort

Tidligere diffusionsmodeller arbejdede på pixels. Et billede på 512 × 512 er 786.432 tal, og forudsigeren skulle læse og skrive dem alle ved hvert eneste trin. Pixelmodeller som DALL-E 2 og Imagen kom uden om det ved at diffundere i 64 pixels og tilføje opskaleringsnetværk, og de blev alligevel aldrig frigivet.

Stable Diffusion tilføjer en variational autoencoder, VAE'en. Dens encoder presser et billede sammen med en faktor otte på hver led til fire kanaler: 4 × 64 × 64, altså 16.384 tal, 48 gange færre. Diffusionen kører udelukkende i det komprimerede rum, det latente rum. Først til allersidst folder VAE'ens decoder resultatet ud til pixels.

De fire latente kanaler i en færdig Stable Diffusion XL-rendering vist som grå billeder ved siden af det afkodede billede
Det, denoiseren faktisk arbejder på. Til venstre: det endelige billede i 1024 pixels. Til højre: dets latente billede, fire grå kort på hver 128 × 128 tal, strakt til samme højde. Stable Diffusion XL, euler, 30 steps, CFG 6, seed 20220822. Decoderen laver de fire kort om til maleriet.

Det latente billede er ikke et lille billede. Dets fire kanaler er en kode, som decoderen ved, hvordan den skal læse, og ingen enkelt kanal ligner helt billedet. Men layoutet overlever komprimeringen, og det er det, der lader denoiseren afgøre kompositionen i så lille et rum.

Det er også derfor, valget af VAE har betydning for farver og fine detaljer: hvert latent tal står for et felt på 8 × 8 pixels, og decoderen opfinder det, der ligger inde i feltet. Stable Diffusion 3 gik over til et latent billede med 16 kanaler af præcis den grund, og fine detaljer og lille tekst blev bedre med det.

CLIP og cross-attention: sådan styrer teksten billedet

Tre dele forvandler ord til en retning for denoiseren.

Tokenizer og tekst-encoder: sådan læser CLIP en prompt

Tokenizeren klipper prompten op i tokens, hele almindelige ord eller stumper af sjældnere. Stable Diffusion 1.5 og SDXL læser højst 77 tokens, hvoraf to er start- og slutmarkører, omkring 50 til 60 engelske ord. Alt ud over det klippes af, medmindre grænsefladen deler den op i flere gennemløb. Sæt det vigtigste først.

Tekst-encoderen i 1.5 er CLIP, et netværk OpenAI trænede på 400 millioner par af billeder og billedtekster, med én opgave: at bringe de tal, der beskriver en billedtekst, tæt på de tal, der beskriver dens billede. Efter den træning bærer tallene for "lighthouse" allerede på, hvordan fyrtårne ser ud. SDXL kører to sådanne encodere side om side, den anden en åben gentræning udført af LAION på to milliarder par. Stable Diffusion 3 tilføjer en tredje, T5, som læser hele sætninger.

Cross-attention inde i U-Nettet

Cross-attention er der, hvor teksten møder billedet. U-Nettet er en stak af foldningsblokke, der formindsker det latente billede og derefter lader det vokse igen, med skip-forbindelser mellem matchende størrelser. Mellem disse blokke sidder attention-lag. Ved hvert trin kigger hvert område af det latente billede på de 77 token-vektorer og vægter, hvilke af dem der vedrører det. Himmelområdet lytter til "sunset" og "clouds", klippen til "cliff". Det er derfor, ordenes rækkefølge, gentagelse og grænsefladernes vægtningssyntaks har en virkning, og derfor, at et stilord i begyndelsen farver hele billedet.

Det er også de første versioners begrænsning. CLIP lærte af korte alt-tekster, så den forstår lister af motiver og stilarter godt og relationer mellem dem dårligt. "A red cube on a blue sphere" kommer ofte ombyttet ud i 1.5. Promptguiden viser, hvad der virker pålideligt.

Guidance-skala, negativ prompt og seed: de tre indstillinger

Tre indstillinger går igen i enhver Stable Diffusion-grænseflade. De svarer direkte til maskineriet ovenfor.

Guidance-skalaen, CFG-skalaen, kort for classifier-free guidance (CFG), er den, der afgør, hvor hårdt teksten presses igennem. Ved hvert trin laver denoiseren faktisk to forudsigelser: én med prompten og én med en tom prompt. Forskellen mellem de to er den retning, prompten giver. Den endelige forudsigelse er den tomme plus den forskel ganget med guidance-skalaen. Ved 1 bruges forudsigelsen med prompt, som den er, uden skub: billedet følger teksten løst, med matte farver og en grå himmel, hvor prompten bad om en blå. Omkring 5 til 8 følger det prompten tæt med naturlige farver. Over 12 bliver kontrasten hård, farverne mættede og strøgene grove.

Samme Stable Diffusion XL-prompt og seed ved guidance-skala 1, 2, 4, 7, 12 og 20, fra et gråt, mat maleri til et mættet blåt
Samme prompt, seed og 30 steps; tallet på hver flise er guidance-skalaen, 1, 2, 4, 7, 12 og 20, Stable Diffusion XL, euler, 30 steps, seed 20220822. Mellem 1 og 2 forskyder selve kompositionen sig, og himlen forbliver grå. Fra 4 og op holder kompositionen, og den blå himmel og det turkise hav, prompten bad om, bliver mere mættede med skalaen.

Den negative prompt erstatter den tomme prompt i den anden forudsigelse. I stedet for at læse ingenting læser det andet gennemløb "blurry, text, watermark", og guidance skubber væk fra det. Det koster ikke noget ekstra, da det andet gennemløb alligevel kører, og det virker kun, når guidance er over 1. Guiden til negativ prompt giver lister, der virker.

Seedet er det tal, der genererer startstøjen. Samme seed, samme prompt, samme indstillinger og samme model giver det samme billede, ned til pixlen, på samme software og hardware; en anden grænseflade eller et andet kort trækker støjen anderledes. Skift seed, og kompositionen skifter, da de første trin læser en anden blok af støj. Skift ét ord i prompten, og behold seedet, så holder det meste af billedet som regel. Sådan forfiner man en prompt.

Fire Stable Diffusion XL-renderinger af den samme fyrtårnsprompt med fire forskellige seeds
Samme prompt og indstillinger, fire seeds, hver skrevet på sin flise. Stable Diffusion XL, euler, 30 steps, CFG 6, seeds 20220822 til 20220825. Motivet holder; kompositionen, kystens form og penselføringen tegnes forfra hver gang.

Fra U-Net til transformer: versionerne fra 1.5 til 3.5

Seks hovedgenerationer udkom på to år, de to første fra CompVis og Runway, resten fra Stability AI. Hver af dem ændrede mindst ét af de tre netværk.

VersionDatoDenoiserTekst-encodereNativ størrelse
1.4 og 1.5august og oktober 2022U-Net, 860 millioner parametreCLIP ViT-L512 px
2.0 og 2.1november og december 2022U-Net med samme design, trænet forfraOpenCLIP ViT-H768 px
SDXL 1.0juli 2023U-Net, 2,6 milliarder, plus en refinerCLIP ViT-L og OpenCLIP ViT-bigG1024 px
SDXL Turbonovember 2023SDXL destilleret til 1 til 4 stepsSamme som SDXL512 px
3 Mediumjuni 2024Diffusion transformer (MMDiT), 2 milliarderCLIP ViT-L, OpenCLIP bigG, T5-XXL1024 px
3.5 Large, Large Turbo, Mediumoktober 2024MMDiT, 8 milliarder; Medium 2,5 milliarderDe samme tre1024 px

1.5 er stadig en af de mest finjusterede modeller, der findes, med titusindvis af checkpoints og LoRAs fra fællesskabet, og den kører stadig på 4 GB videohukommelse. SDXL er arbejdshesten: bedre hænder, ansigter og komposition og nativt output i 1024 pixels. 3 og 3.5 erstattede U-Nettet med en transformer, der behandler tekst- og billedtokens sammen, og det er det, der endelig gjorde læselig tekst i billeder mulig: sæt ordene i anførselstegn i prompten. Sammenligningen af SDXL og Stable Diffusion 3 viser de samme prompts på begge.

Licenserne ændrede sig også. 1.5 er under CreativeML OpenRAIL-M-licensen og SDXL under OpenRAIL++-M, begge fri til kommerciel brug med en liste over forbudte anvendelser. 3.x-modellerne er under Stability AI Community License, gratis under en million dollars i årlig omsætning.

Hvad du kan bruge den til: img2img, inpainting, ControlNet, LoRA

Tekst til billede er kun begyndelsen, for hver del af pipelinen kan genbruges. Kod en skitse til et latent billede, tilføj kun en del af støjen, og fjern støjen derfra, og du har billede til billede, img2img i grænsefladerne: indstillingen strength, eller denoise, er, hvor meget støj du tilføjer. Idéen kommer fra SDEdit. Masker ét område af det latente billede, og du har inpainting, eller outpainting, når masken ligger uden for rammen. Tilføj et lille sidenetværk, der læser en pose, et dybdekort eller kanter, og du har ControlNet. Træn et par millioner ekstra vægte på tyve fotos, og du har et LoRA, der lærer modellen et ansigt eller en stil. Dedikerede superopløsningsmodeller tager sig af opskalering.

En stregskitse af fyrtårnsscenen og tre Stable Diffusion XL-renderinger af den med billede til billede ved strength 0,3, 0,5 og 0,8
Billede til billede fra en stregskitse af scenen. Til venstre: skitsen. Derefter samme prompt ved strength 0,3, 0,5 og 0,8, tallet på hver flise. Ved 0,3 farver modellen kun stregerne; ved 0,8 beholder den layoutet og maler alt andet om. Stable Diffusion XL, euler, 30 steps, CFG 6, seed 20220822.

Vil du køre den selv, rækker et nyere NVIDIA-kort med 6 GB videohukommelse (VRAM) til 1.5 og 8 GB til SDXL. AMD-kort virker via ROCm, Apple Silicon via MPS-backend. Installationsguiden dækker de tre vigtigste grænseflader. Uden et kort kræver værktøjerne på dette websted ingen hardware: Stable Diffusion XL og Stable Diffusion 1.5 kører på webstedets egen GPU med køen vist live, dokumenterede prompts viser, hvad hver indstilling gør, og 1.731 kunstnerstile viser, hvad modellen har lært om malere.

Stable Diffusion vs Midjourney vs DALL-E

Over for Midjourney og OpenAIs billedmodeller er forskellen ikke kvalitet, men kontrol. Vægtene er offentlige, og modellen kører lokalt: dine billeder bliver på din disk, du vælger modellen, du sætter seedet, og du kan udskifte enhver komponent. Til gengæld kræver den mere af dig. Midjourney beder om en sætning og giver et poleret billede; Stable Diffusion beder om en model, en prompt, en negativ prompt og en guidance-skala og giver dig præcis det, du har indstillet.

Stable DiffusionMidjourneyDALL-E / GPT Image
VægteOffentlige, kan downloadesLukkedeLukkede
Kører på din egen computerJa, 6 til 8 GB VRAMNejNej
PrisGratis lokalt; gratis værktøjer onlineAbonnementAbonnement eller pr. billede
KontrolSeed, model, LoRA, ControlNet, inpainting, hver eneste indstillingParametre og stilreferencerSamtale
FinjusteringJa, af alleNejNej
Tekst i billederSvag før 3, god fra 3.5God siden v6Meget god

Det samme diffusionsprincip driver nu modeller fra andre laboratorier, med andre encodere og andre licenser: FLUX fra Black Forest Labs, grundlagt af de oprindelige Stable Diffusion-forfattere, og Qwen-Image fra Alibaba. De kører i de samme grænseflader, med de samme seeds, steps og samplere, så det meste af denne side gælder også for dem. Deres guidance virker anderledes, FLUX dev har ingen negativ prompt, og de foretrækker hele sætninger frem for lister af nøgleord.

Kilder, og hvordan du må genbruge figurerne

De primære kilder, i den rækkefølge siden møder dem:

Genbrug af figurerne. Renderingerne og diagrammerne på denne side er udgivet under CC BY 4.0: genbrug dem i et kursus, et foredrag eller en artikel med et link til denne side. Hver rendering bruger Stable Diffusion XL, euler, 30 steps, CFG 6, seed 20220822, prompten herunder og den negative prompt "text, watermark, signature, blurry, low quality, storm, dark clouds, sunset".

An oil painting of a white lighthouse on a rocky cliff, clear blue sky, bright midday sunlight, a few small white clouds, turquoise sea, waves breaking below, visible brush strokes

Sådan citerer du denne side.

Clicheroux, A. (2026). What is Stable Diffusion and how does it work? stablediffusion.fr. https://stablediffusion.fr/guide/what-is-stable-diffusion

Spørgsmål, andre også stiller

Er Stable Diffusion gratis?

Ja. Vægtene kan downloades gratis under åbne licenser: CreativeML OpenRAIL-M for 1.5, OpenRAIL++-M for SDXL og for 3.x-modellerne Stability AI Community License, gratis under en million dollars i årlig omsætning. At køre den lokalt koster kun strøm. Værktøjerne på dette websted er gratis og finansieret af reklamer.

Hvem ejer de billeder, jeg genererer?

Hvad licensen angår, gør du: Stability AI gør ikke krav på resultaterne. Ophavsret er en anden sag og varierer fra land til land. I USA afviser domstolene og Copyright Office ophavsret til et billede, der er genereret udelukkende af modellen. Europæiske domstole anvender samme logik gennem deres originalitetskrav, selvom der endnu ikke findes en afgørelse for hele EU. Et værk, hvor modellen er ét redskab blandt flere, kan beskyttes.

Er FLUX og Qwen-Image versioner af Stable Diffusion?

Nej. De er også diffusionsmodeller, bygget på samme princip om at fjerne støj fra et latent billede styret af en tekst, men de kommer fra andre laboratorier, med deres egne arkitekturer, tekst-encodere og licenser. FLUX er lavet af Black Forest Labs, Qwen-Image af Alibabas Qwen-team. De bliver ofte samlet under navnet Stable Diffusion, fordi de kører i de samme grænseflader, især ComfyUI.