> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-fr/generation-dimages/stable-diffusion-webui.md).

# Stable Diffusion WebUI

L'interface web la plus populaire pour Stable Diffusion sur les GPU CLORE.AI.

{% hint style="success" %}
Tous les exemples peuvent être exécutés sur des serveurs GPU loués via [Place de marché CLORE.AI](https://clore.ai/marketplace).
{% endhint %}

## Exigences serveur

| Paramètre          | Minimum       | Recommandé |
| ------------------ | ------------- | ---------- |
| RAM                | 16 Go         | 32 Go+     |
| VRAM               | 8 Go          | 12 Go+     |
| Réseau             | 500 Mbps      | 1 Gbps+    |
| Temps de démarrage | 10-20 minutes | -          |

{% hint style="warning" %}
**Temps de démarrage :** Le premier lancement installe les dépendances Python et télécharge le modèle de base (10-20 minutes selon la vitesse du réseau). Un HTTP 502 pendant cette période est normal.
{% endhint %}

## Pourquoi SD WebUI ?

* **Riche en fonctionnalités** - txt2img, img2img, inpainting, outpainting
* **Extensions** - Énorme écosystème de plugins
* **Convivial** - Interface web intuitive
* **Bien documenté** - Large support communautaire

> 📚 Voir aussi : [Comment exécuter Stable Diffusion sur un GPU Cloud](https://blog.clore.ai/how-to-run-stable-diffusion-cloud-gpu/)

## Déploiement rapide sur CLORE.AI

**Image Docker :**

```
universonic/stable-diffusion-webui:latest
```

**Ports :**

```
22/tcp
8080/http
```

**Commande :**

```bash
./webui.sh --listen --xformers
```

### Vérifier que cela fonctionne

Après le déploiement, trouvez votre `http_pub` URL dans **Mes commandes**:

```bash
# Vérifier si l'interface est accessible (peut prendre 10-20 min au premier lancement)
curl https://your-http-pub.clorecloud.net/
```

{% hint style="info" %}
Si vous avez HTTP 502 pendant plus de 20 minutes, vérifiez :

1. Le serveur a 16 Go+ de RAM
2. Le serveur a 8 Go+ de VRAM
3. La vitesse du réseau est suffisante pour télécharger les dépendances
   {% endhint %}

## Accéder à votre service

Lorsqu'il est déployé sur CLORE.AI, accédez à SD WebUI via le `http_pub` URL :

* **Interface Web :** `https://your-http-pub.clorecloud.net/`
* **API (si activée) :** `https://your-http-pub.clorecloud.net/sdapi/v1/`

{% hint style="info" %}
Tout `localhost:7860` Les exemples ci-dessous fonctionnent lorsqu'ils sont connectés via SSH. Pour un accès externe, remplacez par votre `https://your-http-pub.clorecloud.net/` URL.
{% endhint %}

## Installation

### Utilisation de Docker (recommandé)

```bash
docker run -d --gpus all \
    -p 8080:8080 \
    -v sd-webui-data:/app/stable-diffusion-webui \
    universonic/stable-diffusion-webui:latest
```

### Installation manuelle

```bash
# Installer les dépendances
sudo apt install python3.10 python3.10-venv git wget

# Cloner le dépôt
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

# Exécuter (installe tout automatiquement)
./webui.sh --listen --xformers
```

## Structure du répertoire

```
stable-diffusion-webui/
├── models/
│   ├── Stable-diffusion/   # Modèles principaux (.safetensors)
│   ├── Lora/               # Modèles LoRA
│   ├── VAE/                # Modèles VAE
│   ├── ControlNet/         # Modèles ControlNet
│   └── ESRGAN/             # Upscalers
├── embeddings/             # Inversions textuelles
├── extensions/             # Extensions installées
├── outputs/                # Images générées
└── scripts/                # Scripts personnalisés
```

## Télécharger les modèles

### Points de contrôle

```bash
cd models/Stable-diffusion

# SD 1.5
wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors

# SDXL
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

# Realistic Vision (Photorealiste)
wget "https://civitai.com/api/download/models/245598" -O realisticVision_v60B1.safetensors

# DreamShaper (Artistique)
wget "https://civitai.com/api/download/models/351306" -O dreamshaper_8.safetensors
```

### VAE (Meilleures couleurs)

```bash
cd models/VAE

# SD 1.5 VAE
wget https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors

# SDXL VAE
wget https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors
```

## Utilisation de base

### txt2img (Texte vers Image)

1. Sélectionnez le modèle dans le menu déroulant
2. Entrez le prompt positif : ce que vous voulez
3. Entrez le prompt négatif : ce qu'il faut éviter
4. Définissez les dimensions (512x512 pour SD1.5, 1024x1024 pour SDXL)
5. Cliquez sur Générer

### img2img (Image vers Image)

1. Allez dans l'onglet img2img
2. Téléversez l'image source
3. Entrez un prompt décrivant les modifications souhaitées
4. Ajuster **Force de débruitage** (0.3-0.8)
5. Générer

### Inpainting

1. Allez dans img2img → Inpaint
2. Téléchargez l'image
3. Dessinez un masque sur la zone à modifier
4. Entrez le prompt pour la zone masquée
5. Générer

## Paramètres essentiels

### Paramètres de génération

| Paramètre       | SD 1.5          | SDXL            |
| --------------- | --------------- | --------------- |
| Largeur         | 512             | 1024            |
| Hauteur         | 512             | 1024            |
| Étapes          | 20-30           | 20-40           |
| Échelle CFG     | 7               | 5-7             |
| Échantillonneur | DPM++ 2M Karras | DPM++ 2M Karras |

### Arguments de ligne de commande

```bash
./webui.sh \
    --listen \              # Autoriser l'accès externe
    --port 7860 \           # Numéro de port
    --xformers \            # Optimisation de la mémoire
    --enable-insecure-extension-access \  # Autoriser les extensions
    --api \                 # Activer l'API
    --no-half-vae           # Corriger les images noires
```

### Pour faible VRAM

```bash
./webui.sh \
    --listen \
    --medvram \           # 6-8 Go VRAM
    # ou
    --lowvram \           # 4 Go VRAM
    --xformers
```

## Extensions populaires

### Indispensables

| Extension                 | But                                  |
| ------------------------- | ------------------------------------ |
| ControlNet                | Génération guidée                    |
| ADetailer                 | Correction automatique visages/mains |
| Ultimate SD Upscale       | Meilleur upscaling                   |
| sd-webui-segment-anything | Segmentation                         |
| Regional Prompter         | Prompts multi-régions                |

### Installer des extensions

1. Aller à **Extensions** onglet
2. Cliquez **Disponible**
3. Cliquez **Charger depuis**
4. Rechercher et installer
5. Appliquer et redémarrer l'interface

Ou manuellement :

```bash
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git
```

## ControlNet

### Installation

```bash
# Installer l'extension
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git

# Télécharger les modèles
cd ../models/ControlNet
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth.pth
```

### Utilisation

1. Développez la section ControlNet
2. Téléversez l'image de contrôle
3. Sélectionnez le préprocesseur (Canny, OpenPose, etc.)
4. Sélectionnez le modèle correspondant au préprocesseur
5. Générer

## Utilisation de l'API

Activez avec `--api` le drapeau, puis :

```python
import requests
import base64

# Pour un accès externe, utilisez votre URL http_pub :
API_URL = "https://your-http-pub.clorecloud.net"
# Ou via SSH : API_URL = "http://localhost:7860"

def txt2img(prompt, negative="", steps=20, width=512, height=512):
    response = requests.post(
        f"{API_URL}/sdapi/v1/txt2img",
        json={
            "prompt": prompt,
            "negative_prompt": negative,
            "steps": steps,
            "width": width,
            "height": height,
        }
    )
    return base64.b64decode(response.json()["images"][0])

# Générer et sauvegarder
image_data = txt2img("Un magnifique coucher de soleil sur des montagnes")
with open("output.png", "wb") as f:
    f.write(image_data)
```

### API img2img

```python
import base64

def img2img(prompt, image_path, denoising=0.5):
    with open(image_path, "rb") as f:
        image_b64 = base64.b64encode(f.read()).decode()

    response = requests.post(
        f"{API_URL}/sdapi/v1/img2img",
        json={
            "prompt": prompt,
            "init_images": [image_b64],
            "denoising_strength": denoising,
            "steps": 30,
        }
    )
    return base64.b64decode(response.json()["images"][0])
```

## Rédaction de prompts

### Structure de base

```
[sujet], [style], [détails], [éclairage], [tags de qualité]
```

### Exemples de prompts

```
# Portrait
portrait d'une jeune femme, photographie professionnelle,
éclairage doux, faible profondeur de champ, 8k uhd,
très détaillé, photoréaliste

# Paysage
paysage montagneux majestueux au coucher du soleil, nuages dramatiques,
éclairage heure dorée, style National Geographic,
fond d'écran 8k, très détaillé

# Anime
1fille, cheveux argentés, yeux bleus, uniforme scolaire,
fleurs de cerisier, printemps, chef-d'œuvre, meilleure qualité
```

### Prompts négatifs

```
# Général
basse résolution, mauvaise anatomie, mauvaises mains, texte, erreur,
doigts manquants, recadré, pire qualité, basse qualité,
artefacts jpeg, signature, filigrane, flou

# Pour photoréaliste
cartoon, anime, illustration, peinture, dessin,
rendu 3D, CGI
```

## Conseils de performance

1. **Activer xFormers** - Gain de vitesse significatif
2. **Utiliser VAE** - Meilleures couleurs
3. **Taille de lot 1** - Pour VRAM limitée
4. **Hires Fix** - Générer petit, puis upscaler
5. **ADetailer** - Correction automatique des visages

## Exigences GPU

| Modèle          | VRAM minimale | VRAM recommandée | RAM min |
| --------------- | ------------- | ---------------- | ------- |
| SD 1.5          | 4 Go          | 8 Go             | 16 Go   |
| SD 2.1          | 6 Go          | 8 Go             | 16 Go   |
| SDXL            | 8 Go          | 12 Go            | 16 Go   |
| Avec ControlNet | +2 Go         | +4 Go            | 16 Go   |

## Préréglages GPU

### RTX 3060 12GB (Budget)

```bash
# Commande de lancement
./webui.sh --medvram --xformers

# Paramètres recommandés.json :
# - SD 1.5 : 512x512, batch 4, 20-30 étapes
# - SDXL : 768x768, batch 1, 20 étapes
# - Activer le tiling VAE dans les Paramètres
# - Utiliser ADetailer pour les visages
```

**Meilleurs modèles :** SD 1.5, DreamShaper, RealisticVision

### RTX 3090 24GB (Optimal)

```bash
# Commande de lancement
./webui.sh --xformers

# Paramètres recommandés :
# - SD 1.5 : 512x512, batch 8, 30 étapes
# - SDXL : 1024x1024, batch 2, 30 étapes
# - ControlNet + SD 1.5 fonctionne très bien
# - Hires fix à 2x fonctionne
```

**Meilleurs modèles :** SDXL, Juggernaut, RealVisXL

### RTX 4090 24GB (Performance)

```bash
# Commande de lancement
./webui.sh --xformers --opt-sdp-attention

# Paramètres recommandés :
# - SD 1.5 : 512x512, batch 16, 30 étapes
# - SDXL : 1024x1024, batch 4, 40 étapes
# - Plusieurs ControlNets simultanément
# - Hires fix à 4x
```

**Meilleurs modèles :** SDXL, Pony Diffusion, Tout modèle haute résolution

### A100 40GB/80GB (Production)

```bash
# Commande de lancement
./webui.sh --opt-sdp-attention --no-half-vae

# Paramètres recommandés :
# - SDXL : 1024x1024, batch 8+, 50 étapes
# - Plusieurs ControlNet + IP-Adapter
# - Hires fix jusqu'à 4096x4096
# - AnimateDiff pour la vidéo
```

**Idéal pour :** Génération par lot, flux de travail complexes, vidéo

## Estimation des coûts

Tarifs typiques du marketplace CLORE.AI :

| GPU      | VRAM  | Prix/jour  | Vitesse SD1.5 | Vitesse SDXL |
| -------- | ----- | ---------- | ------------- | ------------ |
| RTX 3060 | 12 Go | $0.15–0.30 | \~4 s         | \~12 s       |
| RTX 3090 | 24 Go | $0.30–1.00 | \~2 s         | \~6 s        |
| RTX 4090 | 24 Go | $0.50–2.00 | \~1 s         | \~3 s        |
| A100     | 40 Go | $1.50–3.00 | \~0,5 s       | \~2 s        |

*Prix en USD/jour. Les tarifs varient selon le fournisseur — vérifiez* [*Place de marché CLORE.AI*](https://clore.ai/marketplace) *pour les tarifs actuels.*

## Dépannage

### HTTP 502 pendant longtemps

1. **Vérifier la RAM :** Le serveur doit avoir 16 Go+ de RAM
2. **Vérifier la VRAM :** Doit avoir 8 Go+ pour SDXL
3. **Installation des dépendances :** Le premier lancement prend 10-20 min
4. **Réseau lent :** Une faible bande passante entraîne un démarrage plus long

### Images noires

```bash
# Ajouter aux arguments de lancement
--no-half-vae
```

### Mémoire insuffisante

```bash
# Utiliser l'optimisation
--medvram
--xformers
```

### Extensions qui ne se chargent pas

```bash
--enable-insecure-extension-access
```

### Génération lente

1. Activer xFormers
2. Réduire la taille de l'image
3. Diminuer les étapes (20 suffit souvent)

## Étapes suivantes

* [ComfyUI](/guides/guides_v2-fr/generation-dimages/comfyui.md) - Flux de travail plus avancés
* [FLUX.1](/guides/guides_v2-fr/generation-dimages/flux.md) - Dernier modèle
* [ControlNet](/guides/guides_v2-fr/traitement-dimages/controlnet-advanced.md) - Génération guidée
* [Entraînement LoRA](/guides/guides_v2-fr/entrainement/kohya-training.md) - Modèles personnalisés


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-fr/generation-dimages/stable-diffusion-webui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
