Back to Generator Deutsch Pricing API
Vergleich: ComfyUI (Knoten-Workflow) vs SD.Next (Regler-Oberfläche)
Same foundation — different interface
Both ComfyUI and SD.Next use Stable Diffusion as their engine — the same models (SD 1.5, SDXL, Pony, Illustrious, Flux), the same LoRAs, the same image quality. The difference is only in the interface:
In short: Same car, different cockpit. SD.Next = automatic transmission. ComfyUI = race-car setup with all the wires exposed.

SD Wiki — Veyra Studio

Your complete reference for Stable Diffusion: prompt knowledge, settings, extensions and multi-character guides.

Terms Explained

Prompt Knowledge

Multi-Character

ComfyUI in Detail

SD.Next in Detail

Terms Explained

What the dials and building blocks actually do — not just which value to set.

Basics

TermWhat it isIn practice
Checkpoint The model file itself, 2–7 GB. Contains everything: image knowledge, text understanding and the decoder. It decides what the model knows at all and how it draws. A Pony checkpoint understands booru tags, a photoreal one understands sentences. The prompt has to match the checkpoint, not the other way round.
VAE The translator between the internal computation space and the finished image. Without it you would get numeric noise instead of pixels. A missing or mismatched VAE makes images washed out, grey or purple-tinted. Most checkpoints ship with one.
Latent Space SD does not compute in pixels but in a representation compressed to one eighth. A 512x512 image is 64x64 internally. That is why resolutions in steps of 64 make sense, and why size is expensive: doubling the edge length quadruples compute.
Seed The starting number for the noise the image grows from. It decides which of infinitely many possible images you get. Same seed, same prompt, same settings gives the same image. To vary deliberately, fix the seed and change a single tag.
Steps How often the model removes noise step by step. Each step brings the image closer to the target. 20–30 is almost always enough. Beyond about 40 barely anything changes while time keeps rising linearly.
Sampler The algorithm that performs the steps. Different samplers take different routes and produce slightly different images. DPM++ 2M Karras is the reliable default. Euler a changes with every step count, which makes it poor for comparisons.
Scheduler Defines how much noise disappears per step — evenly, or a lot early and little at the end. Karras shifts the work into the earlier steps and gives cleaner results at low step counts. That is why it is usually part of the sampler name.

Prompt Control

TermWhat it isIn practice
CFG Scale How strongly the model is forced to follow your prompt instead of drawing freely. Technically: the gap between the prediction with and without the prompt is amplified. 7 is balanced. Below 5 it turns soft and ignores details, above 12 colours look burnt and edges harsh. Higher helps with multiple people but also amplifies flaws in the prompt.
Clip Skip How many of the final text-understanding layers are skipped. 1 uses all of them, 2 drops the last one. Not a creativity dial. Anime and Pony models were trained with clip skip 2 and need it; photoreal SD 1.5 models want 1. The wrong value means the model reads your prompt differently than it was trained to.
Token und 75er-Grenze The prompt is split into tokens, roughly word fragments. CLIP processes 75 tokens at a time; longer prompts are cut into blocks. Within a block, early tokens carry more weight. A 300-word prompt dilutes everything — shortening often does more than weighting.
Gewichtung The notation (tag:1.3) increases attention on that tag, (tag:0.7) reduces it. Above 1.5 it usually gets ugly: the model exaggerates the feature instead of hitting it better. If the same thing appears several times, the effect adds up unintentionally.
BREAK A keyword that ends the current 75-token block immediately. Everything after it starts a fresh block. Useful to separate two people or two areas of the image so their features do not bleed into each other.
Negativ-Prompt A second prompt whose direction is subtracted from the result. It describes what the image should move away from. Only has an effect at CFG above 1. Negations in the positive prompt such as 'no shoes' barely work — what you do not want belongs here.

Add-on Models

TermWhat it isIn practice
LoRA A small add-on file, 10–200 MB, that adjusts the checkpoint in a targeted way — for a specific character, style or concept. A LoRA does not replace a model, it bends it. It must match the model family: an SD 1.5 LoRA will not work on SDXL or Pony.
LoRA-Gewicht The number in <lora:name:0.8> decides how strongly the LoRA intervenes. 0.6 to 0.9 is the usable range. From 1.0 the LoRA takes over and often wrecks anatomy and composition. Multiple LoRAs add up.
Embedding / Textual Inversion A tiny file of a few kilobytes. It does not change the model, it teaches it a new word pointing at knowledge it already has. Typical for negative bundles such as EasyNegative: one word replaces a long list. Here too the model family must match.
Hypernetwork Older technique with the same goal as LoRA: steering the model in a direction after the fact. Practically obsolete. Given the choice, take a LoRA — better quality, better support.
ControlNet A second network that dictates the structure of the image: pose, depth, edges or outlines taken from a reference. The prompt still decides the look, ControlNet the arrangement. Strength controls how strictly the reference is followed — 1.0 is exact, 0.5 only a hint.
Refiner A second model that takes over only the final steps and sharpens detail. Comes from the SDXL concept. Costs twice the memory and rarely adds much with good community models. When in doubt, skip it.

Resolution and Post-Processing

TermWhat it isIn practice
Hires Fix Generates the image small, enlarges it and lets the model work over it once more. The reason: SD models were trained at 512 or 1024 pixels. Generating at double size directly produces two heads or four legs. Hires Fix avoids that.
Denoise Strength How much of the source image is discarded. 0 changes nothing, 1 creates a completely new image. For Hires Fix use 0.3 to 0.5 — above that the model invents new content instead of refining. In img2img this value decides everything.
Upscaler The method used for enlarging. Purely computational such as Lanczos, or with a small dedicated model such as ESRGAN. 4x-UltraSharp for detail, R-ESRGAN Anime6B for drawings. An upscaler does not invent detail, it guesses plausibly.
img2img Instead of pure noise the model starts from your image and changes it according to the prompt. How much is governed by denoise strength. Below 0.4 the source stays clearly recognisable, above 0.7 it is only a rough suggestion.
Inpainting Only an area you mask is recomputed, the rest stays untouched. The remedy for broken hands and crooked eyes. Use a soft mask edge, otherwise the seam shows.
ADetailer Automatically finds faces, hands or people, crops them, regenerates them at full resolution and pastes them back. The biggest quality jump for full-body shots where the face would otherwise be only a few pixels. Veyra generates a dedicated face prompt for it.

ComfyUI

TermWhat it isIn practice
Node A single work step shown as a box — load model, encode text, sample, save. Each has inputs on the left and outputs on the right. What is a form field in A1111 is a separate building block here. Everything is visible, but everything must be wired up yourself.
Workflow The complete wiring of all nodes. Saved as JSON and additionally embedded in every generated PNG. Dropping someone else's image into ComfyUI loads their entire workflow. The fastest way to learn from others.
KSampler The node that does the actual work. Seed, steps, CFG, sampler and scheduler all sit here in one place. When an image does not turn out right, this is the first place to look.
Conditioning The prompt translated into numbers. Positive and negative are two separate strands, both feeding into the KSampler. ControlNet and regional tools hook in here, not at the text. That is why they sit between text encoding and sampler.
Latent Image The empty computation canvas the image grows on. Width, height and batch size are set here. In img2img the latent comes from an image passed through the VAE encoder instead.
VAE Decode Turns the finished latent into a visible image. The final step before saving. If this node is missing or the wrong VAE is attached you get colour-shifted or entirely unrecognisable output.
Custom Nodes Third-party extensions adding new building blocks — ControlNet preprocessing, image editing, automation. Install via the ComfyUI Manager, not by hand. If a node is missing when loading someone's workflow, the manager names it.

SD.Next

TermWhat it isIn practice
Backend Diffusers vs Original SD.Next can use two different engines. Diffusers is the modern Hugging Face library, Original is the old A1111 code. Diffusers is the default and supports more model types. Only use Original when an old extension insists on it.
FP16 und BF16 Computation precision. FP32 is full, FP16 halves memory and time, BF16 is a more robust variant of it. FP16 is practically always right. On older cards it can produce black images — switch to BF16 or FP32 then.
xformers und SDPA Two methods that run the most memory-hungry computation step more efficiently. SDPA is built into PyTorch and needs no installation. xformers is sometimes faster but an extra dependency. Both save considerable memory.
Model Offload Parts of the model are moved between video memory and system memory instead of keeping everything on the card at once. Enables SDXL on 6 GB of video memory but costs time. Only enable it when nothing runs without it.

ADetailer / Face

ADetailer (After Detailer) is an SD extension that automatically detects faces and hands in generated images and improves them via inpainting. Without ADetailer, anime faces often look blurry or distorted, especially at lower resolutions.

Recommended Models

ModelDetectsBest Use
face_yolov8n.pt Anime faces Default for all anime/hentai images. Small and fast.
face_yolov8s.pt Faces (more accurate) For semi-realistic and ultra-realistic. Detects more details.
hand_yolov8s.pt Hands Fixes wrong finger count and distorted hands.
person_yolov8n-seg.pt Full body Refines anatomy and proportions. Use lower denoise.

Settings

SettingRecommendedExplanation
Denoising Strength 0.25 – 0.35 0.25 = slight improvement, 0.35 = strong correction. Too high = face is completely regenerated.
Inpaint Area Only Masked (Face) Only the detected face is redrawn, the rest stays.
Mask Erosion 4 How far the mask extends around the face. 4 is a good default.
Trick: If faces look too smooth or plastic, increase denoising to 0.4. With multiple characters (2+ people), ADetailer face prompt is automatically disabled in Veyra because it can't assign faces — use manual inpainting per face instead.

Weighting — Control Tags

Weighting lets you control how strongly SD pays attention to specific tags. This is one of the most important tools to control your results.

Syntax

SyntaxEffectExample
(tag:1.2) Emphasize tag more (20% more) (blue eyes:1.2) = more vivid blue eyes
(tag:0.8) Weaken tag (20% less) (blush:0.8) = subtler blushing
((tag)) 1.21x boost (1.1 x 1.1) ((detailed eyes))
[tag] 0.9x reduction [smile]
Tip: In Veyra you can adjust the weight directly next to each tag via slider or input field, without manually typing bracket syntax. Recommended range: 0.7 to 1.4. Above 1.5 often leads to artifacts.

Lighting Tricks

Lighting has a huge impact on the mood and quality of your images. Here are the most important lighting tags and what they do:

TagEffectBest Use
rim lighting Glowing edge around the figure, separates it from background Dramatic scenes, night settings, silhouettes
volumetric lighting Visible light rays through dust or fog Mystical atmosphere, dungeon, forest, church
godrays Dramatic sunbeams from above Epic moments, outdoor scenes, divine atmosphere
soft lighting Soft, flattering lighting without harsh shadows Portraits, romance, soft skin textures
backlighting Light from behind, figure is backlit Silhouettes, translucent fabrics, hair shine
cinematic lighting Cinematic lighting with strong contrast Action scenes, dramatic portraits, dark mood
neon lighting Colorful neon colors, cyberpunk look Cyberpunk, nightclub, urban scenes
Combination: rim lighting, volumetric lighting, dark background creates an extremely atmospheric look. For NSFW: soft lighting, warm tones creates flattering skin textures.

Camera / Angle

Camera perspective determines how the viewer perceives the scene. Every angle tells a different story.

TagEffectImpact
low angle Camera from below Figure looks powerful, heroic, dominant. Good for action and power poses.
high angle Camera from above Figure looks small, cute, vulnerable. Good for cute/moe scenes.
dutch angle Tilted camera Creates dynamism and tension. Perfect for action and fight scenes.
wide shot Wide view, full body + environment Shows the complete scene. Good for landscapes and group shots.
close-up Close-up (face/upper body) Focus on emotions and details. Best face quality.
extreme close-up Extremely close (only eyes/mouth) Intense emotions, dramatic moments.
from behind Rear view Shows back, hair, outfit from behind. Also popular for NSFW.
from above, pov POV from above Viewer's perspective. Immersive for interactions.

Body & Pose

Hands, poses and motion are the hardest aspects for SD. Here are the most important tags and tricks:

Fix Hands

Positiv: (perfect hands, detailed fingers:1.2) Negativ: extra fingers, fused fingers, too many fingers, bad hands, malformed hands
Even better: ADetailer with hand_yolov8s.pt (Denoise 0.38–0.45) fixes hands automatically after generation. This is more reliable than tags alone.

Dynamic Poses

TagEffect
dynamic angleSD chooses an interesting angle instead of stiff frontal view
leaning forwardFigure leans forward — looks curious or inviting
sitting, crossed legsElegant sitting pose
action shot, motion blurMotion and dynamism — good for fight scenes
hair flow, windFlowing hair — creates liveliness
contrappostoClassic weight shift to one leg — looks natural and elegant

Fabrics / Materials

The right material tags create realistic or stylized fabric textures. Especially for clothing and accessories, these tags make the difference:

CategoryTagsEffect
Shiny (latex, pvc, oil sheen:1.2) High-gloss surface, reflects light. For lacquer, leather, wet skin.
Soft (silk, satin, velvet:1.1) Flowing, soft fabric with sheen. For elegant clothing.
Translucent (sheer, translucent fabric) Transparent fabric, skin shows through. For veils, negligees.
Detailed (knit, embroidery, lace trim) Visible texture and patterns. For knitwear, lace, embroidered clothing.
Metallic (metallic, chrome, armor) Metallic reflections. For armor, jewelry, sci-fi outfits.

Depth / Focus

Depth of field and focus effects create a professional, photographic look and direct the viewer's gaze.

TagEffectUse
depth of field, bokeh Blurred background, figure sharp Portraits, focus on one person, professional look
foreground object Blurred object in foreground Creates depth and "looking through something" feeling
lens flare Light reflections in the lens Sunny scenes, romantic mood, anime aesthetics
scenery, background detail Detailed background When the environment matters (cities, nature, interiors)
extreme close-up vs. wide shot Zoom level determines depth automatically Close-up = shallow depth, Wide Shot = deep depth

Model Generations: SD 1.5, SDXL, Pony

The most common misconception: Pony is not separate software. Stable Diffusion has versions like an operating system, and almost every model you download is a checkpoint — someone took a base version and trained it further.

Stable Diffusion 1.5 → Counterfeit, AnythingV5, Realistic Vision Stable Diffusion XL → Pony V6, Illustrious, NoobAI, Juggernaut Flux.1 → Flux dev, Flux schnell

That is why Pony, Illustrious and NoobAI all belong to the SDXL family, while Counterfeit, AnythingV5 or Realistic Vision belong to the 1.5 family.

GenerationResolution SizeKnown checkpoints
SD 1.5 (2022)512 × 7682–4 GB Counterfeit, AnythingV5, Realistic Vision, DreamShaper 8
SDXL (2023)832 × 12166–7 GB Pony V6, Illustrious, NoobAI, Juggernaut
Flux (2024)1024 × 102412–24 GB Flux.1 dev, Flux.1 schnell

What cannot be mixed

Every program — A1111, Forge, SD.Next, ComfyUI — loads any checkpoint. The software does not care about the generation. The add-ons very much do: LoRAs, ControlNet models, VAEs and embeddings are tied to their generation. An SDXL LoRA will not run on SD 1.5 and vice versa. Downloads always state which base they are made for.

The three most common mistakes

Wrong resolution. SD 1.5 at 832×1216 produces double heads and stretched bodies — the model has never seen such image sizes. 512×768 is correct. Conversely SDXL turns mushy at 512×512.

Foreign vocabulary. score_9, score_8_up is understood only by Pony. On Counterfeit or Illustrious those are dead tokens right at the front of the prompt, where they take up the most room. That is why Veyra sets them per model profile and never inside a style entry.

Forgetting clip skip. Anime models of the 1.5 generation were trained with clip skip 2. In ComfyUI that is a CLIPSetLastLayer node set to −2 between checkpoint and text encoder; it is already wired into Veyra's SD 1.5 workflow template.

Animals, Pokémon and the solo tag

A second living creature in the picture — cat, horse, dragon, Pokémon — behaves differently from an object. Two things are worth knowing, otherwise you get images you cannot explain.

solo means "one character", not "one person"

On Danbooru solo is applied when exactly one character is in the image. A cat is not a character — 1girl, solo, cat is the normal spelling and perfectly fine. A Pokémon is a character: images with Pikachu carry no solo. With both tags in the prompt they pull against each other, and the model either drops the Pokémon or adds a second person. Veyra therefore removes solo automatically as soon as you pick a named creature; for a plain animal it stays.

animal focus only without a figure

animal focus is the tag for an image where the animal is the subject. With a person next to it the animal features migrate onto her — measured on a sleeping cat: the girl got cat ears, a tail and a collar. The tag belongs only in images without a figure, so in background mode. For the same reason an animal entry must not carry an eye colour: green eyes cannot be bound to the cat and ends up on the person.

Riding: the tag decides which animal

horseback riding is the strongest riding tag — and it puts a horse in your image even when you are sitting on a dragon. For anything else riding animal is the right one. The same trap as doggy style, which written as two words produces a dog: a tag that is too specific or ambiguous, at a high weight, beats any description standing next to it.

Backgrounds Without a Character

In the studio you switch between With character and Background only at the top. In the second mode every category that describes a body disappears and a dedicated scene camera appears instead. The reason for a separate mode is not convenience: simply leaving the character out is not enough, as the next section shows.

Why an Empty Prompt Is Not Enough

The Danbooru tag no humans is the clean way to request an empty scene. It belongs near the front of the prompt because early tokens carry more weight, and the person belongs in the negative as well. Important: no humans is a booru tag. It works on Pony, Illustrious, NoobAI and anything trained on booru data. On pure photo checkpoints and on Flux it does not exist in training — there the wording carries it, so empty room, deserted, no people as a sentence. Veyra handles this automatically and writes a full sentence instead of the tag for Flux.

# Positive prompt (no humans:1.3), scenery, abandoned library, dusty bookshelves, broken window, sunbeams through dust, wooden floor, establishing shot, wide shot, full environment visible # Negative prompt (1girl, 1boy, person, people, human, face:1.5), portrait, character focus, humanoid figure, silhouette of a person, crowd, worst quality, low quality, blurry, watermark, text

The Trap: Your Style Brings the Character Back

This is where most attempts fail. Location and lighting alone do not put a person in the image — that is measurable. But many style prompts carry body vocabulary: beautiful face, glossy skin, detailed eyes, skin pores. Those tokens bring back exactly the figure that no humans is keeping out. In a test of four runs of the same bedroom, the raw anime style produced a person in all four images — without the style tokens, in none of them. In background mode Veyra strips these tokens from every tag automatically, including style and sharpness. If you prompt by hand, go through your style block and remove anything that describes a body.

What a Character-Free Background Is Good For

An empty image is rarely the final product. The real value lies in what you do with it afterwards.

Use caseHow it works
The same scene across many imagesThe strongest case. Build the room once, run it through a depth or lineart preprocessor and feed the result as ControlNet into every further generation. Result: identical room, identical furniture placement, across ten different characters and poses. Without it SD rolls a different room every time — for comic pages or image series that is the difference between coherent and random.
Render separately, then compositeTwo passes: background from this mode, character separately with LayerDiffuse (which outputs PNG with an alpha channel directly) or normally and cut out with rembg. Then layer them. The advantage: you can move, scale or repeat the figure while the background stays exactly the same. In a single-pass image everything is baked together.
Regional promptingBackground prompt into one region, character prompt into the other — see regional prompting. That way the tags stop competing with each other. The prompt from this mode is ideal input for it because it is guaranteed to contain no body vocabulary that could bleed into the character region.
InpaintingGenerate the background, mask an area, let the figure be painted in. Just as useful in reverse: you have a character image with a bad background — mask the figure and regenerate the rest with the background prompt. The figure stays untouched.
OutpaintingExtend an existing image to 16:9. The background prompt describes what goes into the new margin — and the person negative stops SD from placing a second figure in the empty space. That is exactly what it is there for.
Upscale without riskBackgrounds tolerate aggressive hires fix and Ultimate SD Upscale at denoise 0.4 to 0.5. With figures, faces and hands fall apart at those values. Without a person you get more detail instead of more errors.
Video and camera movesA static background plate with an animated figure in front of it is the classic anime setup. Useful on its own too: generate a background at high resolution and pan across it Ken Burns style — considerably more stable than letting AnimateDiff animate the whole scene.

Choosing a Model

Pony is not the best choice for pure scenery. Its score_ tags come from a dataset that is almost entirely character art — the model is tuned for figures, not for rooms. Illustrious, NoobAI or a landscape checkpoint deliver visibly more detail here. This is the one place where switching models in the studio genuinely pays off.

SD Parameters — Quick Reference

The most important Stable Diffusion settings at a glance. These parameters directly affect the quality and style of your image.

ParameterRecommendedExplanation
Sampler Euler a / DPM++ 2M Karras Euler a = fast and creative. DPM++ 2M Karras = sharp and detailed. Perfect for most cases.
Steps 20 – 28 20–28 = ideal. Below 15 = unfinished/mushy. Above 40 = rarely better, just costs time.
CFG Scale 7 (Default) 7 = balanced. Below 5 = soft/dreamy. Above 12 = oversaturated/burned.
Clip Skip 2 (Anime/Pony) 1 = SD 1.5 realistic. 2 = Anime/Pony/SDXL default. Higher = experimental.
Hires Fix 1.5x – 2.0x Upscale Only useful from 768px base resolution. Too high (>2.5x) = artifacts and duplications.
Resolution 768x1024 / 832x1216 SDXL/Pony: 1024x1024 or 832x1216. SD 1.5: 512x768. Not square for portraits.
Pro Hack — Prompt Order: Important tags belong at the beginning of the prompt! SD weighs the first tags more strongly. Quality tags like score_9, masterpiece come first, then character, then scene/pose, then details. Veyra does this automatically.

NSFW Anatomy Guide

For NSFW content, SD needs special attention for anatomy and censorship removal. Here are the most important tags and settings:

Stabilize Anatomy

TagEffect
anatomy focus, physical contactSD pays more attention to correct body proportions and contact
detailed skin, sweat, textureRealistic skin textures instead of plastic look
realistic proportionsPrevents exaggerated proportions
hand focus, perfect handsBetter hands for touch and interactions

Remove Censorship

Negativ-Prompt: (censor, censored, bar censor, mosaic censor, white bar, black bar:1.4)

These tags must go into the negative prompt, otherwise SD may generate mosaic-like censorship blocks or black bars — especially with Japanese models trained on censored material.

Pony Model NSFW Settings

Pony Tip: Put rating_explicit at the start of the prompt (before score_9). Veyra does this automatically when NSFW mode is active. Without this tag, Pony often generates washed-out or partially censored NSFW content.

Body Details

ProblemSolution (Positive)Solution (Negative)
Distorted anatomy (highly detailed anatomy:1.1) bad anatomy, deformed, extra limbs
Plastic skin detailed skin, skin texture, pores plastic skin, bad shading, low quality skin
Wrong breasts realistic breasts, natural shape distorted nipples, asymmetrical breasts
Deformed genitalia detailed, anatomically correct deformed pussy, bad anatomy
Important: Veyra automatically adds most of these tags to the negative prompt, depending on the selected model profile (Pony, Illustrious, Flux). You usually don't need to add them manually — but it helps to know why they're there.

Flux Prompting — Natural Language Instead of Tags

Flux is a fundamentally different model than Pony or Illustrious. Instead of comma-separated Booru tags, Flux understands natural language — complete sentences describing a scene.

What is different?

PropertyPony / Illustrious / WAI / NoobAIFlux
Prompt format Comma-separated tags Full sentences
Score tags score_9, score_8_up Not needed / ignored
Weighting (tag:1.3) works No bracket syntax — repeat or emphasize words instead
Negative prompt Very important Little effect / use minimally
Anatomy Often needs ADetailer help Excellent — much better at hands and faces

What Veyra does for Flux

When you select the Flux profile in Veyra, it automatically converts all Booru tags into natural sentences. Score and rating tags are removed since Flux doesn't understand them. You don't need to manually rewrite anything.

Example: Same settings, different format

Pony / Illustrious: score_9, score_8_up, 1girl, frieren, white hair, green eyes, elf ears, white robe, enchanted forest, standing, holding staff, moonlight Flux (von Veyra konvertiert): An anime style image of a girl named Frieren with white hair, green eyes and elf ears. She is wearing a white robe. She is standing in an enchanted forest, holding a staff under moonlight. High quality, detailed and masterpiece quality.
Tip: Flux often produces better anatomy and hands than Pony/Illustrious, but may need more steps (30-50) and a lower CFG (1-3.5). Many Flux models don't use a negative prompt at all.

Forge vs A1111 — Which UI Should You Use?

There are two popular web UIs for Stable Diffusion: the original Automatic1111 (A1111) and the newer Stable Diffusion WebUI Forge. Both look almost identical but have different strengths.

PropertyA1111Forge
Speed Standard 30–75% faster
VRAM usage High 700 MB – 1.3 GB less
Extensions Full ecosystem ~80% compatible
ControlNet All features Built-in, but fewer batch options
Beginner friendly Well documented Same interface, faster out of the box
Veyra Recommendation: Forge for most users. Especially if you have a GPU with 6–8 GB VRAM, Forge is much more comfortable. A1111 only if you need specific extensions that Forge doesn't support.

Why does SD struggle with multiple characters?

Stable Diffusion doesn't understand prompts like a human. It reads all tags as a single chain and mixes them in the so-called "Latent Space". For example, if you write:

asuna, brown hair, hazel eyes, frieren, white hair, green eyes

...SD doesn't think "Person 1 = brown hair, Person 2 = white hair". Instead, it sees only a mix of all tags and creates a single concept. This leads to typical problems:

Faces merge

Both characters suddenly share features: Asuna gets green eyes from Frieren, or a third face appears. SD cannot assign which tags belong to which person.

Positions are displayed incorrectly

For interactions like Face Sitting or 69, SD must understand: Person A is on top, Person B is below. Without help, SD often places both people side by side or in a weird mixed position, because it has no spatial logic.

Bodies merge

Instead of generating two separate bodies, images appear with fused limbs, too many arms/legs, or a "Siamese twin" effect.

Core problem: Stable Diffusion has no concept of "these tags belong to Person 1" and "these tags belong to Person 2". It mixes everything together. The solution is telling the model where each person belongs — through extensions or clever prompts.

What Veyra does automatically for you

When you select 2 or more characters in Veyra, a lot happens behind the scenes to maximize quality:

Anti-Fusion Tags

Veyra automatically adds strong negative tags that prevent SD from fusing the characters:

Negativ: fused characters, conjoined, merged bodies, cloned face, character fusion, symmetrical docking, same face, copied character, body merge, extra head, two heads on one body, same hair color, same outfit

Character Separation

Tags like two distinct girls, separate bodies are added to the prompt itself, giving SD a stronger hint to generate two separate people.

Yuri Filter (with 2+ Girls)

When you select two female characters, Veyra automatically replaces all male tags: penis becomes strap-on dildo, fellatio becomes cunnilingus, 1boy 1girl is removed and yuri, girl on girl is added.

ADetailer is disabled

With 2+ characters, Veyra disables the ADetailer face prompt because ADetailer doesn't know which face belongs to which character and would otherwise mix up eye colors.

Emotion Override

Default emotions from the character profile (e.g. "unsettling smile") are automatically removed when you select an act type — so nobody smiles inappropriately during an NSFW scene.

Veyra does the groundwork. But for really good multi-character results you additionally need the extensions below. Veyra delivers the perfect prompt — you just need to teach SD where each character belongs.

Recommended Settings for Multi-Character

Multi-character images need different settings than solo images. Here are the most important adjustments:

SettingSoloMulti-CharakterWhy
Resolution 512x768 / 768x512 768x768 or 1024x768 More space for two people. At too low resolution they tend to merge.
CFG Scale 5 – 7 7 – 9 Higher CFG forces SD more strongly to follow the prompt. Helps with character separation.
Steps 20 – 28 28 – 40 More steps = more detail and correction. Important for complex compositions.
Sampler Euler a / DPM++ 2M DPM++ 2M Karras / DPM++ SDE Karras Karras Scheduler delivers better anatomy with multiple people.
Clip Skip 1 – 2 2 Clip Skip 2 gives the model more creative freedom for compositions.
Batch Size 1 – 4 4 – 8 You need more attempts. Generate multiple images and pick the best.
Pro Tip: Use landscape format (1024x768 or 1216x832) for 2 people side by side. Square format (768x768) for interactions like Face Sitting or 69. Portrait format works poorly for multi-character.

Regional Prompter / Forge Couple

The most important extension for multi-character. It divides the image into zones and assigns each zone its own prompt area. This way SD knows exactly: "left = Character A, right = Character B".

Installation

  1. For SD WebUI (AUTOMATIC1111):
    Go to Extensions → Install from URL
    URL: https://github.com/hako-mikan/sd-webui-regional-prompter
  2. For SD Forge:
    "Forge Couple" is already built into newer versions.
    If not: Extensions → Install from URL
    URL: https://github.com/Haoming02/sd-forge-couple
  3. Restart SD. You'll find Regional Prompter / Forge Couple as a new tab in the txt2img area.

Configuration for 2 characters (side by side)

  1. Enable Regional Prompter and select the "Columns" mode
  2. Set the split to 1:1 (left and right equal size)
  3. Separate your prompt with BREAK:
    -- Shared Base Prompt (applies to entire image) -- score_9, score_8_up, 2girls, masterpiece BREAK -- Left half: Character 1 -- asuna, brown hair, hazel eyes, smile BREAK -- Right half: Character 2 -- frieren, white hair, green eyes, elf ears
  4. Resolution: at least 1024x768 (Landscape)

Configuration for interactions (stacked)

  1. Select the "Rows" mode instead of Columns
  2. Split 1:1 (top/bottom).
    For Face Sitting e.g. 2:1 (top 2/3, bottom 1/3)
  3. score_9, score_8_up, 2girls, yuri, face sitting BREAK -- Upper half: Character sitting on top -- asuna, brown hair, hazel eyes, sitting on face, girl on top BREAK -- Lower half: Character lying below -- frieren, white hair, green eyes, lying down, face between thighs
This is the gamechanger. Regional Prompter / Forge Couple solves 90% of all multi-character problems. Characters no longer merge because each has their own zone.

ControlNet with OpenPose

ControlNet gives SD a skeleton template that shows where each body belongs. This way the model knows exactly: "here stands one body, there lies another".

Installation

  1. Install extension:
    Extensions → Install from URL
    URL: https://github.com/Mikubill/sd-webui-controlnet
  2. Download OpenPose model:
    Download the model control_v11p_sd15_openpose (or the SDXL/Pony variant) and place it in the models/ControlNet/ folder
  3. For Pony/SDXL: Use controlnet_openpose_sdxl or models from https://huggingface.co/thibaud/controlnet-openpose-sdxl-1.0

Create Pose

You need a pose template that shows where the bodies are. Three options:

  1. OpenPose Editor (built into SD):
    In the ControlNet tab → "Open Editor". Here you can position stick figures directly. For two people: Create two skeletons and place them as desired.
  2. Use a reference image:
    Take a real photo or artwork with the desired pose. ControlNet automatically extracts the skeletons from it (Preprocessor: openpose_full).
  3. PoseMaker Website:
    Use online tools like https://webapp.magicposer.com/ to position 3D figures in the desired pose and export as an image.

ControlNet Settings

SettingRecommendedExplanation
Preprocessor openpose_full Detects body, hands and face. "openpose" alone doesn't detect hands.
Control Weight 0.7 – 0.9 How strongly the pose affects the result. Too high = stiff, too low = ignored.
Starting Step 0 From which step ControlNet takes effect. 0 = from the start.
Ending Step 0.8 – 1.0 Up to which step. 0.8 gives some room for more natural details at the end.
Control Mode Balanced / ControlNet is more important "ControlNet is more important" when the pose should be strictly followed.
Combination is king: Regional Prompter + ControlNet together deliver the best results. Regional Prompter tells SD which tags go where, ControlNet tells SD which body pose goes where. Together = nearly perfect multi-character images.

Latent Couple (Alternative)

Latent Couple is an older extension that works similarly to Regional Prompter, but on a different technical level (Latent Space instead of Attention).

When to use Latent Couple instead of Regional Prompter?

FeatureRegional PrompterLatent Couple
Quality Very good Good
Simplicity Easy (BREAK syntax) Complex (coordinates)
Compatibility Sometimes conflicts Very stable
SDXL / Pony Yes Limited
Forge Support Forge Couple built-in Not supported
Recommendation: Use Regional Prompter / Forge Couple as first choice. Latent Couple only as fallback if Regional Prompter doesn't work for you.

Recommended Workflow Step by Step

This is how to achieve the best multi-character result:

  1. Create prompt in Veyra
    Select your characters, act type and style. Veyra generates the optimized prompt with all anti-fusion tags automatically.
  2. Copy prompt and paste into SD
    Use the Veyra prompt as a base. Also copy the negative tags.
  3. Activate Regional Prompter / Forge Couple
    Split the prompt with BREAK: shared tags on top, then per region the character-specific tags (hair, eyes, face, body). Act/interaction tags go in the shared part.
  4. Optional: Create ControlNet pose
    For complex positions (69, Face Sitting, etc.) create an OpenPose template or use a reference image. Set Control Weight to 0.7 – 0.9.
  5. Adjust settings
    High resolution (min. 768x768), CFG 7–9, Steps 28–40, DPM++ 2M Karras.
  6. Generate batch and select
    Generate 4–8 images at once. Multi-character has a lower hit rate — that's normal. Pick the best result.
  7. Refine with img2img / Inpainting
    If an image is 80% good but one detail is wrong (e.g. eye color of one person): Use Inpainting to regenerate only that area. Denoise: 0.3–0.5.

Which Model for Multi-Character?

ModelMulti-CharacterAnatomyDetails
Pony Diffusion V6 XL Gut Sehr gut Understands Booru tags best. Score tags help a lot with quality. Best choice for Anime + NSFW.
Illustrious XL Gut Sehr gut Clean aesthetics, strong tag comprehension. Base for many community merges like NoobAI. Illustrious v3.6 supports ControlNet + IP-Adapter.
NoobAI XL Gut Sehr gut Fine-tune of Illustrious XL. More style variety and better composition. Very popular for anime with a more natural look.
Flux Mittel Exzellent Uses natural language instead of Booru tags. Very good for anatomy and realism. Veyra automatically converts to Flux format.
SDXL (allgemein) Mittel Gut General SDXL base. Good for non-anime styles and photorealistic. Less community support than Pony/Illustrious.
SD 1.5 (Anime Merges) Schlecht Mittel Legacy. Older architecture, struggles a lot with multi-character. Only usable with ControlNet. Barely recommended in 2026.
Veyra Recommendation: Pony Diffusion V6 XL or Illustrious/NoobAI XL for anime and hentai. Flux for realism. All three understand the tags Veyra generates and have strong multi-character capabilities.

LoRA — Add-on Models for Characters, Styles and Concepts

What is a LoRA?

LoRA stands for Low-Rank Adaptation. It is a small add-on model (10–200 MB) that is placed on top of a base model (checkpoint). Think of it this way: the checkpoint is the brain, and the LoRA is a specialized lens that teaches the model to correctly render a specific character, art style, or concept. A LoRA does not modify the base model — it only extends its knowledge.

When do I need a LoRA?

Whenever the base model doesn't know something or can't render it well enough:

How do I install a LoRA?

Download the .safetensors file from CivitAI and place it in the correct folder. In the prompt, activate the LoRA with a special tag:

/* Folder for LoRA files */ models/Lora/ /* Syntax in prompt */ <lora:dateiname:0.7>

Choosing the Right Strength

The number after the filename determines how strongly the LoRA takes effect. Too low = barely any effect, too high = artifacts and exaggerated features.

StrengthEffect
0.3 – 0.5Subtle influence — good for mixing with other LoRAs
0.6 – 0.8Optimal range for most LoRAs
0.9 – 1.0Strong effect — character/style dominates the image
> 1.0Often too strong — can produce artifacts and distorted faces

Types of LoRAs

TypeDescriptionExample
Character LoRA Teaches the model a specific character — face, hair, body type <lora:emma_pokemon:0.7>
Style LoRA Changes the overall drawing style — e.g. Pokémon, Ghibli, retro anime <lora:pokemon_style:0.6>
Concept LoRA Adds concepts the model doesn't know — armor, weapons, outfits <lora:mecha_armor:0.5>
Pose LoRA Trained on specific body positions and compositions <lora:dynamic_pose:0.6>

Combining Multiple LoRAs

You can use multiple LoRAs simultaneously — e.g. a character LoRA + a style LoRA. Reduce the strength of both LoRAs slightly (e.g. 0.5–0.7 each) so they don't interfere with each other.

/* Two LoRAs combined */ masterpiece, 1girl, <lora:character_lora:0.7> <lora:style_lora:0.5>

Important Tips

Watch for trigger words! Many LoRAs need a specific activation word in the prompt (listed on the CivitAI download page). Without the trigger word, the LoRA often has no or weak effect.
Check checkpoint compatibility! A LoRA trained for Pony Diffusion won't work with Illustrious XL and vice versa. Always make sure the LoRA matches your base model.
Less is more! Use a maximum of 2–3 LoRAs simultaneously. Too many LoRAs overlap and produce muddy or inconsistent results.

Where do I find LoRAs?

The largest collection can be found on CivitAI. There you can search by character, style, or concept and directly download the .safetensors file. Pay attention to ratings, sample images, and the compatible base model specification (SDXL, Pony, Illustrious, Flux).

Common Mistakes and Solutions

Both characters look the same

Cause: SD mixes the features of both characters together.
Solution: Use Regional Prompter to separate tags spatially. Ensure same face, cloned face, identical faces is in the negative prompt (Veyra does this automatically).

Three or more faces instead of two

Cause: Too low resolution or too generic tags.
Solution: Use at least 768x768 resolution. In negative: extra faces, extra head, third person. Fewer tags = less confusion for SD.

Limbs merge / extra arms

Cause: SD doesn't know where one body ends and another begins.
Solution: Use ControlNet with OpenPose. The skeleton template defines exactly which limbs are where. In negative: extra limbs, fused limbs, conjoined.

Position is ignored

Cause: SD doesn't follow the pose description strongly enough.
Solution: Increase CFG Scale (8–10). Give position tags higher weight: (face sitting:1.4). Best to use ControlNet with a matching pose template.

Character features swap

Cause: Without Regional Prompter, SD has no mechanism to assign tags.
Solution: Regional Prompter / Forge Couple is the only reliable solution here. Optional: Use Inpainting to correct the wrong hair color.

Image gets "panelized"

Cause: Tags like side by side or split screen can make SD split the image into panels.
Solution: Veyra removes side by side automatically when an act type is selected. In negative prompt: split screen, comic panels, manga panels, border, frame.

Pro Tips

Tip 1 — Less is more: With multi-character, shorter prompts often work better than long ones. Each additional tag dilutes the attention SD gives to important tags (character features, position). Focus on the essentials.
Tip 2 — Character separation through contrast: Choose characters that differ strongly (e.g. blonde + black-haired, tall + short person). The more contrast, the easier it is for SD to tell them apart.
Tip 3 — Seed Hopping: If you have a good result but the character positions are swapped: Use the same prompt with a different seed. Sometimes 10–20 different seeds is all it takes for the right assignment.
Tip 4 — Hires Fix with caution: Hires Fix can help with multi-character (more details), but can also worsen problems (faces double in upscale). Use a low Denoise (0.3–0.4) with Hires Fix.
Tip 5 — ADetailer per character: Instead of using global ADetailer, you can improve each face individually with Inpainting after generation. Mask one face, add only that character's tags, Denoise 0.3–0.4.
Tip 6 — Negative prompt is your friend: With multi-character, the negative prompt is almost as important as the main prompt. Veyra adds the most important anti-fusion tags automatically, but you can add more specific tags if needed like wrong eye color, mismatched hair.

Install Stable Diffusion

Step-by-step guide for Windows, macOS, and Linux. Stable Diffusion runs locally on your PC — no cloud, no subscription costs, no censorship.

System Requirements
GPU: NVIDIA with 6 GB+ VRAM (8 GB+ recommended) or Apple Silicon (M1/M2/M3/M4).
RAM: 16 GB+ recommended.
Storage: At least 20 GB free (checkpoints are 2–7 GB each).
AMD GPUs: Work on Linux with ROCm. Windows support is limited.

Prerequisites: Python & Git

Windows macOS Linux (Ubuntu/Debian)
Python 3.10 Download from python.org → check "Add to PATH" during installation brew install python@3.10 sudo apt install python3.10 python3.10-venv python3-pip
Git Download from git-scm.com → install with default settings brew install git sudo apt install git
macOS users: If you don't have Homebrew yet, install it first:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Stable Diffusion Forge (Recommended)

Forge is a fork of A1111 with better memory optimization, faster generation, and native Flux support. The best choice for most users.

Windows:
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge
cd stable-diffusion-webui-forge
webui-user.bat
macOS (Apple Silicon M1/M2/M3/M4):
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge
cd stable-diffusion-webui-forge
./webui.sh --skip-torch-cuda-test --no-half --use-cpu interrogate
Linux:
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge
cd stable-diffusion-webui-forge
bash webui.sh

After starting, open http://localhost:7860 in your browser. On first launch, all dependencies are installed automatically (may take 10–20 min).

GitHub Repository

AUTOMATIC1111 Web UI

The original frontend for Stable Diffusion. Largest extension ecosystem, most tutorials available. Slightly slower than Forge, but very stable.

Windows:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
webui-user.bat
macOS:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
./webui.sh --skip-torch-cuda-test --no-half --use-cpu interrogate
Linux:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
bash webui.sh

GitHub Repository

ComfyUI (Node-based)

Node-based interface for advanced users. Maximum control over every step of the pipeline. Steep learning curve, but extremely powerful.

All platforms (Windows/Mac/Linux):
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
pip install -r requirements.txt
python main.py
macOS (Apple Silicon):
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
pip install -r requirements.txt
python main.py --force-fp16

GitHub Repository

Download Models & Checkpoints

Without a checkpoint model, SD cannot generate images. Find the best anime models on CivitAI. Recommended: Pony Diffusion V6 XL, Illustrious XL, NoobAI XL.

Folder structure:
# Forge / A1111:
models/Stable-diffusion/    ← Checkpoints (.safetensors)
models/Lora/                ← LoRA Modelle
models/VAE/                 ← VAE Dateien

# ComfyUI:
models/checkpoints/         ← Checkpoints
models/loras/               ← LoRA Modelle
models/vae/                 ← VAE Dateien
Tip: Download the .safetensors variant (safer than .ckpt). Veyra generates prompts specifically optimized for Pony Diffusion and Illustrious XL — best to start with one of these.

Notes for macOS (Apple Silicon)

Apple Silicon (M1–M4) uses MPS (Metal Performance Shaders) instead of CUDA. Generation is slower than NVIDIA GPUs, but works.

Important flags:
--skip-torch-cuda-test — Skips CUDA check (no NVIDIA present)
--no-half — Disables FP16 (more stable on MPS)
--use-cpu interrogate — CLIP Interrogate on CPU (MPS bug)

Performance tips: Start with 512x512 resolution. SDXL/Pony works but takes longer (~60-120 sec per image on M1, ~30-60 on M3/M4).

Troubleshooting

Problem Solution
CUDA out of memoryAdd --medvram or --lowvram flag at startup
Black imagesSet VAE to vae-ft-mse-840000-ema-pruned (Settings → VAE)
Extremely slow generationInstall xformers: pip install xformers and use --xformers flag
Python/Pip not foundReinstall Python with "Add to PATH" option enabled
macOS: MPS Backend ErrorSet PYTORCH_ENABLE_MPS_FALLBACK=1 before starting

What is ComfyUI?

ComfyUI is a node-based interface for Stable Diffusion. Instead of a classic form, you see the entire image generation pipeline as a graph of connected nodes — loading the model, text encoding, sampling, VAE decode, saving. Every step is visible and adjustable.

The advantage: full control over the workflow, reproducible setups (shareable as JSON), very efficient VRAM usage, and native support for all current models (SDXL, Flux, SD3, video models). The downside: steeper learning curve than A1111/Forge.

Who is it for? Power users, developers, and anyone who wants to automate complex workflows (multi-stage, ControlNet stacks, video generation). Beginners are better off starting with Forge or A1111.

System Requirements

The critical component is video memory (VRAM). It determines which models you can even load and how fast generation runs.

VRAM GPU Examples What is possible Recommended parameter
≤ 6 GB GTX 1660, RTX 2060 SD 1.5 possible, SDXL/Flux only with heavy restrictions and very slow. --lowvram
8 GB RTX 3060 Ti, RTX 4060, M1/M2 SDXL feasible, but VRAM management critical. Flux slow. --lowvram
12 GB RTX 3060, RTX 4070 SDXL runs smoothly. Flux possible, ADetailer works.
16 GB RTX 4080, M1/M2 Pro/Max Nearly everything runs smoothly. Flux without restrictions. --highvram
24 GB+ RTX 3090, RTX 4090 Everything including video generation and multiple generations in parallel. --highvram

Additionally: at least 16 GB RAM (32 GB recommended for SDXL/Flux), an NVMe SSD for fast model loading, and a PSU that handles GPU load (for RTX 4090: 850W+ Gold).

Prerequisites

ComfyUI runs on Python and is downloaded via Git. First install Python 3.10 or 3.11 and Git for your operating system.

Windows macOS Linux (Ubuntu/Debian)
Python 3.10/3.11 python.org brew install python@3.11 sudo apt install python3.11 python3.11-venv python3-pip
Git git-scm.com brew install git sudo apt install git
NVIDIA-Treiber nvidia.com NVIDIA drivers per distro docs
macOS tip: If you don't have brew yet, install Homebrew from brew.sh. Then install Python and Git in one go.

Installation

Two paths are available: a prepackaged portable version for Windows (no setup required) or manual installation from source (works on all systems and is better maintainable).

Windows Portable Version (recommended for beginners)

A single 7z archive with prebuilt Python and all dependencies. Extract, drop in models, double-click run_nvidia_gpu.bat. No Python knowledge needed.

Download Portable Version from GitHub Releases

Manual Installation (recommended for advanced users)

Clones the repository, sets up an isolated Python environment (venv) and installs PyTorch with the matching GPU backend. Advantage: easier to update with git pull, no 15 GB duplicated on disk.

Windows (NVIDIA):
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python -m venv venv
.\venv\Scripts\activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
python main.py
macOS (Apple Silicon M1/M2/M3/M4):
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio
pip install -r requirements.txt
python main.py --force-fp16
Linux (NVIDIA):
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
python main.py
Linux (AMD ROCm):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.0

After launching, the UI runs at http://127.0.0.1:8188. Open the address in your browser.

GitHub Repository

Launch Parameter Reference

These parameters are appended to python main.py. They control VRAM usage, precision, network access, and multi-GPU behavior.

Parameter When to use
--fastEnables various speed optimizations. Recommended as default flag.
--lowvramRequired with ≤ 8 GB VRAM (for SDXL/Flux). Splits UNET calculations.
--medvramMedium VRAM-saving mode. Between --lowvram and normal.
--highvramKeeps models permanently in GPU memory. Recommended from 16 GB VRAM.
--cpuForces CPU calculation. Extremely slow — for debugging only when GPU is not detected.
--force-fp16Forces half-precision (FP16). Saves VRAM, mandatory on Apple Silicon.
--force-fp32Forces full precision (FP32). Fixes black images on old GPUs. Slower.
--cpu-vaeOffloads VAE decode to CPU. Saves VRAM, useful on systems with tight VRAM.
--listenAllows access from the local network. Without this, only reachable from localhost.
--port 8189Sets a custom port. Useful to run multiple instances in parallel.
--cuda-device 0Selects a specific card on multi-GPU systems (0 = first GPU, 1 = second).
--disable-metadataDoes not save workflow metadata in the image. For privacy or smaller files.
--dont-print-serverSuppresses server log output in terminal. For automated scripts.

Example Startup Script

Instead of typing the command line every time, put your parameters into a startup script. It activates the venv, starts ComfyUI with your parameters, and can be launched by double-click or terminal.

Windows — start_comfy.bat:
@echo off
call .\venv\Scripts\activate
python main.py --fast --highvram --port 8188
pause
macOS / Linux — start_comfy.sh:
#!/bin/bash
cd "$(dirname "$0")"
source venv/bin/activate
python main.py --fast --highvram --port 8188

On macOS/Linux, make executable before first run: chmod +x start_comfy.sh

ComfyUI Manager (Custom Nodes)

ComfyUI is minimal out of the box. The real power comes from custom nodes — extensions that add new capabilities (ControlNet, face-fix, video, upscalers, IP-Adapter, LoRA loaders, and many more).

The ComfyUI Manager is the central hub for these: it shows available custom nodes, installs them with one click, updates existing ones, and disables broken ones. Install manually via Git clone into the custom_nodes folder:

Windows:
cd ComfyUI\custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
macOS / Linux:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

Restart ComfyUI. A new Manager button appears in the top right — there you'll find "Install Custom Nodes" for easy click-installation.

Recommended Custom Nodes for Veyra Prompts

GitHub Repository

Share Models with A1111/Forge

If you already have an A1111 or Forge installation with many models, you don't want them duplicated on disk. ComfyUI can read external model paths via extra_model_paths.yaml and use existing models directly.

1. Copy the example file:
# Windows / macOS / Linux — im ComfyUI-Ordner:
cp extra_model_paths.yaml.example extra_model_paths.yaml
2. In extra_model_paths.yaml, remove the comment characters (#) and adjust paths (example for A1111 on drive D:):
a111:
    base_path: D:/AI/stable-diffusion-webui
    checkpoints: models/Stable-diffusion
    vae: models/VAE
    loras: models/Lora
    controlnet: models/ControlNet
    embeddings: embeddings
    upscale_models: models/ESRGAN
After the next ComfyUI restart, all A1111 models appear in the corresponding load nodes (Load Checkpoint, Load LoRA, etc.) — no copying, no duplicate storage.

Mapping Veyra Prompt to ComfyUI Nodes

A Veyra prompt consists of multiple components (model profile, positive prompt, negative prompt, LoRA). This table shows which component goes into which ComfyUI node.

Veyra Component ComfyUI Node What the node does
Model profile (e.g. Illustrious, Pony, Flux)Load CheckpointLoads the checkpoint including CLIP encoder and VAE.
Positive prompt (character, style, categories)CLIP Text Encode (Positive)Converts text into a CLIP embedding vector. Paste the complete Veyra prompt here.
Negative prompt (from model profile)CLIP Text Encode (Negative)Defines what should NOT appear in the image. Veyra generates the matching negative prompt automatically.
LoRA (from Veyra Pro)Load LoRAPlaced between Load Checkpoint and KSampler. Takes filename and strength from Veyra.
Sampler & Steps (Veyra recommended)KSamplerRuns the denoising iterations. For Pony/Illustrious/SDXL: DPM++ 2M Karras, 25-30 steps, CFG 7. For WAI Illustrious and NoobAI XL: Euler a, 24-30 steps, CFG 5-7. For SD 1.5: DPM++ 2M Karras, 25 steps. For Flux: Euler, 20 steps, CFG 1-3.5.
Image size (resolution)Empty Latent ImageDefines the base resolution. For SDXL: 1024×1024 or 832×1216. For SD 1.5: 512×768.
Save resultVAE Decode → Save ImageConverts latent space back to a pixel image and saves it (including workflow metadata).
Tip: Drag-and-drop a previously generated ComfyUI image back into the interface — the complete workflow including all nodes and connections is restored from the metadata.

Loading a Veyra Workflow in ComfyUI

Veyra can generate a ready-made ComfyUI template with your prompt already filled in. Download it, drop it into ComfyUI and hit run — no retyping, no wiring nodes together.

Step 1 — Download

In the studio click Workflow, next to the copy button above the positive prompt. You get a JSON file such as veyra_bild_2026-09-06.json. Pro and Lifetime users get it with the prompt filled in, everyone else gets the empty template.

Step 2 — Open it in ComfyUI

Three ways, all equivalent — the first is the fastest.

Step 3 — The one field you must set

Top left, in the node 1 — Modell wählen, you will see HIER_DEIN_MODELL.safetensors. Click it and pick your checkpoint. Veyra cannot know what your model files are called — this is the only step left to you. Make sure the model matches the prompt family: a Pony prompt needs a Pony model.

Step 4 — Run

Press Run or Queue Prompt. The result lands in ComfyUI/output/veyra/.

What the nodes do

Node Purpose Change it?
Load CheckpointLoads your model and provides image knowledge, text understanding and the decoder.Yes — the only required field
CLIP Text Encode (positiv)Your Veyra prompt, already filled in.Only if you want to tweak it
CLIP Text Encode (negativ)The negative prompt, matching the selected model profile.Rarely needed
Empty Latent ImageImage size. Preset to 832×1216 for SDXL, Pony and Illustrious. The studio swaps the template along with the model profile: SD 1.5 gets 512×768 with clip skip 2, WAI Illustrious and NoobAI XL get 1024×1344 with their own sampler values.For SD 1.5 set 512×768
KSamplerSeed, steps, CFG, sampler and scheduler — every dial in one place.For experimenting
VAE DecodeConverts the result into a visible image.No
Save ImageSaves to output/veyra/.Only the file name

The six templates

In the studio the download sits behind the Workflow button. Every template runs on a stock ComfyUI — no custom nodes to install.

Template What for What you supply
Image (standard)One pass. The everyday case.Just set your model.
Image + hires fixTwo passes: native first, then upscaled and re-sampled. Creates real detail instead of just scaling.Just your model. Takes about twice as long.
Background + inpaintingThe figure is generated inside a finished background and picks up its lighting.A finished background image and a mask you paint yourself.
Two prompts (regional)Background and figure each get their own prompt, in a single pass.You paste the background prompt yourself — Veyra fills in only the character prompt.
CompositingTwo finished images stacked, then blended in one light pass.A background image and the character as a PNG with a transparent background.
Image + UpscaleThe finished image is enlarged with a small dedicated model. Fast, but it invents no new detail.An upscale model file — see the box below.

The upscale template needs an extra file

Five of the six templates run in a freshly installed ComfyUI. The sixth does not: UpscaleModelLoader and ImageUpscaleWithModel are core nodes, but ComfyUI does not ship the model file. Put it into ComfyUI/models/upscale_models/ and restart ComfyUI. For anime pick RealESRGAN_x4plus_anime_6B (about 18 MB), for hard detail and photos 4x-UltraSharp (about 67 MB). The template upscales 4x and then scales back to half — 2x net, with cleaner edges than going straight to 2x. For the full 4x, delete the downscale node. Both are saved, the original and the enlarged version.

An upscaler guesses detail, it does not invent it. If you want genuinely new detail, Image + hires fix is the way — there your checkpoint runs over the image a second time. The upscaler is faster and leaves the composition alone.

Inpainting: the mask

This is the one step no template can do for you. Load the background in the Load Image node, then right-click it and choose Open in MaskEditor. Paint the area where the figure should stand, then save.

Understanding denoise

The denoise value in the KSampler is the key slider in every multi-stage template. It says how much of the existing image gets overwritten.

0.20 – 0.30Blending. Edges and colour are pulled together, the composition stays. For compositing.
0.40 – 0.50Creating detail. For the second hires pass. Above 0.60 faces start to change.
1.00From scratch. Only for the masked area when inpainting.

Anime or ultra-realistic

The templates for Pony, Illustrious and SDXL are set up for anime: clip skip 2, CFG 7.0, dpmpp_2m, 28 steps. The WAI Illustrious and NoobAI XL profiles get their own template — 1024×1344, euler_ancestral, CFG 5.5, 24 steps, hires fix already built in. Those values come from the model cards, so do not change them there. For photorealism set clip skip to 1, CFG to 5.5, the sampler to dpmpp_2m_sde and steps to 32 — those four values are also written on each template's note. The checkpoint itself matters far more though: CFG 5.5 will not turn an anime model photorealistic.

NoobAI: eps-pred or v-pred?

NoobAI XL comes in two flavours, and they need different settings. The eps-pred version runs with the template as it is. The v-pred version (also WAI-SHUFFLE-NOOB) additionally needs a ModelSamplingDiscrete node set to v_prediction, placed between checkpoint and KSampler, plus a much lower CFG of 3 to 5. Without that node v-pred produces washed out or blown out images. The file name or the model page tells you which one you have.

When something does not work

Red frame around a node, message about a missing node typeThe image workflow uses only stock nodes and should never show this. If it does, your ComfyUI is outdated — update it with git pull.
Error saying the model could not be foundYou skipped step 3. The checkpoint is still set to the placeholder.
The image looks nothing like expectedCheck that the model family and the prompt match. A Pony prompt with score_9 has no effect on an Illustrious model — and vice versa. Select the same model in Veyra that you use in ComfyUI.
Two heads or four legs in the imageThe resolution does not match the model. SD 1.5 cannot do 832×1216 — set it back to 512×768.

Troubleshooting

Problem Solution
CUDA out of memory (OOM) during generationAdd --lowvram or --medvram at startup, or reduce resolution.
Image is completely blackStart with --force-fp32. Often occurs on old NVIDIA cards (GTX 10xx) or with faulty VAE.
GPU not detectedUpdate NVIDIA drivers. Reinstall PyTorch with CUDA backend (see install command with --extra-index-url).
Models in folder are not shownOnly .safetensors and .ckpt are recognized. After copying, ComfyUI must be restarted (refresh button doesn't always suffice).
Custom node won't installManually via git clone in the custom_nodes folder. Then install any Python dependencies with pip install -r requirements.txt in the node folder.
Very long load times on first startupOn first startup, models are loaded into GPU memory — can take minutes. Much faster afterward. Store models on NVMe SSD instead of HDD.

What is SD.Next?

SD.Next (vladmandic/sdnext) is a modernized fork of AUTOMATIC1111. It keeps the familiar Gradio interface but brings significantly faster backend, more current model support (SDXL, Flux, SD3, Cascade), and an optional "Modern UI".

The advantage over A1111: aggressive development, native Diffusers pipeline (better Flux performance), modern optimizations. The advantage over ComfyUI: classic form UI, no node wiring needed, faster onboarding.

Who is it for? Users familiar with A1111 who want to work faster/more modern. If you already have A1111 or Forge installed, you can install SD.Next in parallel and use both simultaneously (different ports).

System requirements: identical to ComfyUI (see the VRAM table in the ComfyUI section above).

Installation

SD.Next largely installs itself: clone the repository, run the startup script — everything else (venv, PyTorch, requirements) is handled by the script on first launch.

Prerequisites: Python 3.10 or 3.11 and Git (see the prerequisites table in the ComfyUI section above — identical for both UIs).

Windows:
git clone https://github.com/vladmandic/sdnext.git
cd sdnext
webui.bat
macOS (Apple Silicon):
git clone https://github.com/vladmandic/sdnext.git
cd sdnext
./webui.sh --use-mps
Linux:
git clone https://github.com/vladmandic/sdnext.git
cd sdnext
./webui.sh

First launch takes 5–15 minutes (PyTorch download, requirements installation). Afterward the UI runs at http://127.0.0.1:7860.

GitHub Repository

Launch Parameter Reference

Unlike ComfyUI, you set parameters via the COMMANDLINE_ARGS environment variable in webui-user.bat (Windows) or webui-user.sh (macOS/Linux).

Windows — webui-user.bat:
set COMMANDLINE_ARGS=--medvram --xformers --port 7860
macOS / Linux — webui-user.sh:
export COMMANDLINE_ARGS="--medvram --port 7860"
Parameter When to use
--lowvramAggressive VRAM-saving mode. Required with ≤ 6 GB VRAM.
--medvramBalanced VRAM-saving mode. Recommended for 8–12 GB VRAM.
--xformersEnables xformers acceleration. Useful on older NVIDIA cards (Turing/Pascal).
--no-halfCompletely disables FP16 calculation. Required for very old GPUs (GTX 10xx series).
--precision fullForces full precision (FP32). Fix for black images on old GPUs. Slower.
--use-mpsRequired on Apple Silicon (M1/M2/M3/M4). Enables Metal acceleration.
--listenAllows access from local network. Without this only via localhost.
--port 7860Custom port. Needed if A1111/Forge run in parallel (they occupy 7860 by default).
--apiEnables the REST API. For automation and Veyra prompt transfer via script.
--device-id 0Multi-GPU: selects the card to use (0 = first GPU).
--disable-nan-checkDisables NaN check. Can speed up generation but may hide faulty images. For diagnosis only.

Precision: FP16, FP32 and xformers

These three concepts determine how SD.Next calculates the numbers in the neural network. Wrongly chosen means: slow generation, high VRAM usage, or black images.

FP16 (Half-Precision)

16 bits per number. Halves memory usage and is usually faster on modern GPUs (RTX 20xx and newer). Default for most setups. Mandatory on Apple Silicon.

FP32 (Full-Precision)

32 bits per number. Doubled VRAM usage, slower, but mathematically more stable. Needed on very old NVIDIA cards (GTX 10xx and older) that don't cleanly support FP16. Enabled with --no-half or --precision full.

xformers

Library that optimizes the attention mechanism (the most VRAM-hungry part). Enabled with --xformers. Almost always useful on older GPUs (RTX 20xx/30xx, GTX 16xx). On RTX 40xx often slower than PyTorch's native SDPA optimization — test.

Rule of thumb: New GPU (RTX 40xx / Apple Silicon) → specify nothing, default is fine. Older NVIDIA (RTX 20xx/30xx, GTX 16xx) → --xformers. Very old NVIDIA (GTX 10xx) → --no-half --precision full.

Installing Extensions

Extensions add features to SD.Next (ADetailer for face-fix, ControlNet for pose/depth control, Regional Prompter for multi-character, upscalers, and many more). Two paths available: via UI or directly via terminal.

Path 1: Via UI

In the tab Extensions → Available, load the list, click desired extension, press "Install", then tab Installed → "Apply and restart UI".

Path 2: Via Terminal

Windows:
cd sdnext\extensions
git clone https://github.com/Bing-su/adetailer.git
git clone https://github.com/Mikubill/sd-webui-controlnet.git
macOS / Linux:
cd sdnext/extensions
git clone https://github.com/Bing-su/adetailer.git
git clone https://github.com/Mikubill/sd-webui-controlnet.git

After cloning, restart SD.Next. The extension appears automatically in the Installed tab.

Recommended Extensions for Veyra Prompts

Using Veyra Prompt in SD.Next

A Veyra-generated prompt can be used directly in SD.Next. Here's the workflow:

  1. Generate the prompt in Veyra Studio and copy it (Copy button next to the result).
  2. In SD.Next, open the Text2Image tab and paste the prompt into the top text field.
  3. Copy the Negative Prompt from Veyra and paste it into the Negative text field below.
  4. Select checkpoint (model) top left — the one matching the Veyra model profile (Pony, Illustrious, Flux, SDXL, SD 1.5).
  5. Set sampler + steps according to Veyra's recommendation. Resolution: SDXL 1024×1024 or 832×1216, SD 1.5 512×768.
Tip: Save your typical settings (sampler, steps, resolution, negative prompt) as a preset under Settings → User Interface → Presets. Then you just paste the Veyra prompt and hit Generate.

Troubleshooting

Problem Solution
First launch hangs at "Installing requirements"Just wait — on first run, several GB of PyTorch are downloaded. Slow internet can take 30+ minutes. Check terminal window for progress.
CUDA out of memory during generationSet --medvram in COMMANDLINE_ARGS. With extremely tight VRAM add --lowvram. Alternatively reduce resolution.
Image is completely blackSet --no-half and --precision full in COMMANDLINE_ARGS. Or load matching VAE in Settings → VAE (vae-ft-mse-840000-ema-pruned).
Model doesn't appear in dropdownCopy model to models/Stable-diffusion/, then click the refresh button next to the model dropdown in the UI. Otherwise restart SD.Next.
macOS: MPS backend errorSet before launching: export PYTORCH_ENABLE_MPS_FALLBACK=1. For persistent problems launch with --use-mps --precision full.
Extension doesn't appear after installRestart SD.Next completely (not just "Reload UI"). For manual git-clone installation, run pip install -r requirements.txt in the extension folder if needed.