Ce module va te montrer comment générer des images IA custom avec l’API Replicate, puis les servir facilement via ton backend en TypeScript. L’objectif : partir d’un prompt texte, produire une image hébergée, et la rendre disponible à tes applis clientes (site web, mobile…).
Appeler un modèle d’IA comme Stable Diffusion ou SDXL directement depuis le frontend, c’est risqué : tu exposes ta clé API, ton secret, et tu n’as aucun contrôle sur les utilisateurs ou le nombre d’images générées.
Avec une API backend, tu centralises l’accès, tu ajoutes une couche de règles métier (auth, quotas, logs), et tu contrôles tout ce qui sort.
Ici, tu vas apprendre à écrire ce genre de route :
1app.post("/generate", zValidator("json", generateSchema), authenticateUser, async (c) => {2const { prompt } = c.req.valid("json")3// ... appel Replicate, écriture image, envoi de la réponse4})
Cette route :
Replicate te donne accès à tout un catalogue de modèles de génération (images, audio, vidéo, etc.) via une API simple. Il te suffit de rattacher ta clé API à ton appli, puis d’appeler un modèle au choix avec les bons paramètres.
Exemple d’appel pour générer une image à partir d’un prompt :
1import Replicate from "replicate"23export const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN })45await replicate.run(6"stability-ai/sdxl:0e5b...", // ID du modèle7{ input: { prompt: "Un backend TypeScript dans l’espace, style Pixar" } }8)
Pour stocker les images générées, tu vas :
Pour enregistrer un buffer côté Node :
1import { writeFile } from "fs/promises"2await writeFile("images/myimage.webp", imageBuffer)
Tu vas :
.env
/generate
qui valide, contrôle et gère la génération d’image IATout cela, en TypeScript, avec Hono pour le routing, Prisma pour la base, et tous les bons patterns 2025.
Dans ce module, on se concentre sur le backend uniquement. Aucun frontend, pas d’interface React ou HTML/CSS. L’essence : comment transformer un texte en image, et servir ce fichier côté serveur de façon propre, sécurisée et réutilisable.