Générer une image avec une IA

Générer une image avec une IA n'est plus un secret pour beaucoup de monde aujourd'hui. De nombreuses applications (Bing Image Creator,  DALL-E. Freemium, ...,etc.) existent, permettant de le faire. Qu'en est-il de l'aspect technique derrière cette génération d'image ? Quelle librairie utilisée ? Un aperçu du contexte technique sera présenté dans cet article pour vous permettre de tester vous même depuis votre environnement de développement, la génération d'une image par une IA.

Présentation de DALL-E  d'OpenAI

OpenAI, l'entreprise de raisonnement artificiel (créatrice de ChatGPT), met à disposition des développeurs une librairie python dénommée openai, dans laquelle on trouvera le modèle DALL-E  ( 2 et 3) en charge de la génération et de la manipulation des images. Un exemple vaut mieux que 1000 mots :) ci-dessous une capture écran du code python utilisé pour générer une image à partir du texte "Siège LTPT Apps":

L'image générée avec ce code python:

Une brève description de ce code (merci de voir la documentation officielle de python pour plus de détails sur le langage, le but de cet article est de montrer comment fonctionne la génération d'une image par une IA):

- Ligne 1: importation de la librairie openai.
- Ligne 2: initialisation d'un objet openai.
- Lignes 4 à 10: on utilise ici le modèle DALL-E 3 (on peut le remplacer par le modèle DALL-E 2). Le paramètre prompt spécifie la description (texte) de l'image à générer. La variable size permet de fixer la taille de l'image. Le champ quality paramétré ici à hd (haute définition pour une meilleure qualité, standard étant la valeur par défaut), n=1 pour générer une seule image à la fois.
- Ligne 12: récupération de l'image au format URL. Il est possible de récupérer l'image au format base64.
- Ligne 13: affichage de l’URL de l'image générée (valide pendant 1h).

N'hésitez pas à regarder la documentation officielle d'OpenAI pour une utilisation avancée de leur librairie openai. 
Nous reviendrons prochainement sur la génération d'une vidéo avec la même librairie dans un autre article.