IA générative : DALL-E, Midjourney, Stable Diffusion

🏷️ Intelligence Artificielle 📅 12/04/2026 19:00:00 👤 Mezgani said
Dall-E Midjourney Stable Diffusion Ia Generative
IA générative : DALL-E, Midjourney, Stable Diffusion

Comparer les outils de génération d'images par IA et intégrer l'API DALL-E 3 dans vos projets web.

Comparatif DALL-E, Midjourney, Stable Diffusion

Trois acteurs dominent la génération d'images par IA. Chacun a ses forces selon l'usage visé :

  • DALL-E 3 (OpenAI) — API REST simple, excellente compréhension des prompts texte, idéal pour les applications web.
  • Midjourney — qualité artistique exceptionnelle, accessible via Discord, pas d'API publique officielle.
  • Stable Diffusion — open source, exécutable en local, personnalisable avec des LoRA et ControlNet.
Choix rapide : DALL-E pour une API clé-en-main, Midjourney pour le rendu artistique, Stable Diffusion pour la confidentialité ou l'usage en volume.

Intégrer l'API DALL-E 3

L'API OpenAI expose un endpoint /images/generations pour générer des images à partir d'un prompt texte. Installation :

npm install openai

Génération d'une image avec DALL-E 3 en JavaScript :

import OpenAI from 'openai';

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

async function genererImage(prompt) {
    const response = await openai.images.generate({
        model: 'dall-e-3',
        prompt,
        n: 1,
        size: '1024x1024',
        quality: 'standard',   // ou 'hd'
        response_format: 'url' // ou 'b64_json'
    });

    return response.data[0].url;
}

// Utilisation
const url = await genererImage('Un développeur Angular entouré de code, style cyberpunk');
console.info(url);

Tarification DALL-E 3

  1. Standard 1024×1024 : ~0,04 $ par image.
  2. HD 1024×1024 : ~0,08 $ par image.
  3. Format 1792×1024 ou 1024×1792 disponible en HD.

Pour afficher l'image générée dans une page HTML :

const img = document.createElement('img');
img.src = await genererImage(prompt);
img.alt = prompt;
document.body.appendChild(img);

Stable Diffusion en local

Stable Diffusion peut tourner sur votre machine via AUTOMATIC1111 ou via l'API Diffusers de Hugging Face. La solution la plus simple pour les développeurs web : l'API REST locale d'AUTOMATIC1111.

# Lancer AUTOMATIC1111 avec API activée
./webui.sh --api --nowebui

# Générer une image via l'API REST locale
curl -X POST http://localhost:7860/sdapi/v1/txt2img \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a futuristic city at night, neon lights",
    "negative_prompt": "blurry, low quality",
    "steps": 20,
    "width": 512,
    "height": 512,
    "cfg_scale": 7
  }'

En JavaScript depuis Node.js :

const response = await fetch('http://localhost:7860/sdapi/v1/txt2img', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        prompt: 'portrait of a developer, digital art',
        negative_prompt: 'ugly, distorted',
        steps: 20,
        width: 512,
        height: 512
    })
});

const data = await response.json();
// data.images[0] est une image base64
const src = `data:image/png;base64,${data.images[0]}`;
Avantage local : aucun coût par image, confidentialité totale des données, possibilité de générer en masse.

Rédiger de bons prompts d'image

La qualité du prompt détermine 80 % du résultat. Voici la structure recommandée :

  • Sujet principal — ce que vous voulez voir (ex: "a developer working on a laptop").
  • Style visuel — photorealistic, digital art, oil painting, anime, cyberpunk…
  • Éclairage — golden hour, studio lighting, neon, dramatic shadows.
  • Qualité — highly detailed, 8k, sharp focus, professional.
  • Negative prompt — blurry, low quality, distorted, watermark.
// Exemple de prompt structuré
const prompt = [
    'portrait of a web developer',
    'sitting at a modern desk with multiple monitors',
    'showing Angular code',
    'cyberpunk style, neon blue and red lighting',
    'highly detailed, 4k, sharp focus'
].join(', ');

const negativePrompt = 'blurry, low quality, distorted, ugly, watermark';

Bonnes pratiques et limites

  • Toujours valider et modérer le contenu généré avant affichage public.
  • Stocker les images générées dans un CDN (S3/CloudFront) plutôt que servir les URLs temporaires OpenAI.
  • Mettre en cache les résultats identiques pour éviter des appels API redondants.
  • Afficher un watermark ou mention "généré par IA" pour la transparence.
  • Respecter les CGU : pas de personnes réelles sans consentement, pas de contenu haineux.
Workflow production : prompt → génération → modération → stockage CDN → affichage. Ne jamais afficher directement les URLs temporaires d'OpenAI en production.