Comment créer des images IA avec invokeAi

Ce qui il y a de bien sur Wattpad, c’est qu’on peut mettre des images (contrairement à d’autres sites d’écriture). J’avoue que je fais de plus en plus de couvertures avec l’IA (pas que mais bref).

Il existe plein de solutions gratuites pour faire de l’IA (comme Dall-E,etc.) mais soyons clair, il y a pleins de restrictions par exemple la taille des images (bing creator ne peut, par exemple, que créé des images carrées).

Donc, voici ici mes notes pour créer des images IA privées.

Par contre, petit disclaimer, je n’ai pas de carte 3D. Pour plein de raisons, j’en ai pas besoin (je joue très peu aux jeux vidéos) et je ne compte pas investir dans un pc à 300 milliards simplement pour faire tourner un jeu buggé.

Donc ma solution est le cloud. En gros, louer une carte et faire tourner InvokeAI dessus. Sur internet, on entre plein, des services de cloud 3D, moi j’ai choisi runpod.io pour sa simplicité et son coup pas trop cher. Pour ce que je veux faire, et avec tous les tests que j’ai faits pour apprendre (automat1111, etc.) je n’en suis même pas à 50 euros sur 1 an. La suite va expliquer comment installer invokeAI sur runpod. Si vous avez une autre méthode (si vous avez un pc avec carte 3D, faites une installation local), rendez-vous au prochain blog.

Sinon Runpod est assez simple d’utilisation. Comme partout, il faut créer un compte et verser de l’argent.Si vous le faites via une visa/MC, le transfert est direct. Pour commencer, verser simplement 10–15 euros, c’est largement suffisant.

Une fois votre compte rempli de Soussous, il faut lancer l’installation d’invokeAI et là, c’est pas une mince à faire, malheureusement.

Premièrement, lancer le template d’invoke.

À l’heure où j’écris ces lignes, l’image est la V3.3.0 SD invokeAI. Elle doit se trouver dans l’onglet template. Une fois trouvé, il faut cliquer sur le bouton Deploy.

On arrive sur une page ou on va choisir la machine et surtout la carte graphique (dont dépend le prix).En général, je prends la moins chère. Honnêtement, je ne pense pas que cela change grand-chose. Une fois choisi, il faut cliquer sur le bouton deploy.

Une fois déployer, une autre fenêtre se lance (avec un bouton go back et continue). AVANT DE CLIQUER sur continue, il faut changer la configuration qui est un peu trop faible. Pour cela, il faut cliquer sur le bouton customize deployment et changer les valeurs container Disk et volume disk par 75 et 75, voire 100 et 100.

Une fois fait, “continuer” et “deploy”. Une fenêtre va s’afficher pour prévenir de la construction du pod.

Puis, enfin, le pod s’affiche dans votre liste de pod. Mais le programme n’est pas encore lancé. Il faut attendre, longtemps. Le mieux est de montrer le log (en cliquant sur le bouton logs) et d’aller dans le container logs. Tant que please wait est affiché … faut attendre. Cela peut prendre bien 10minutes.

Une fois, le please wait fini, on ferme la console et on clique sur connect, puis sur connect to jupiter lab.

Félicitation, votre pod est parfaitement installé. Maintenant il faut installer InvokeAI.

Installation InvokeAI

Malheureusement, InvokeAi ne s’installe pas directement avec le pod. Il faut le faire à la main. Pour cela, dans Jupiter Lab, il faut ouvrir un terminal et invoquer le configurer avec la commande invokeai-configure

Jupiter lab. Le bouton en bas (terminal). Il faut l’ouvrir.

Là, un gui sommaire demande des infos. Le premier panel peut rester comme tel (juste accepter les conditions, etc.).

Premier panel. Note: on se déplace avec les flèches. quand on arrive sur “I accept …”, on accepte avec space

Le deuxième panel est plus important (bien qu’on peut tout récupérer après dans l’interface graphique.)

Ce deuxième panel contient 4 tabs : starter model, main model, controlnet, lora, text inv. Commençons avec les modèles.

Les modèles sont ceux sur quoi l’IA s’est entrainée, on reviendra plus tard là-dessus. Pour l’instant, je laisse ceux par défaut, je rajoute simplement inkpunk.

Dans le tab controlnet (accessible avec les flèches), il est important de rajouter intpaint et scribbe (on reviendra plus tard là-dessus aussi).

Puis, on appuie sur exit change et… on attend, de nouveau. Des lignes et des lignes de codes, et de téléchargement devraient s’imprimer dans la console, ce qui est normal. SI il y a une erreur, c’est probablement dû au manque de places sur votre serveur. Il faut juste augmenter la configuration.

J’ai eu aussi de temps des erreurs de téléchargements, il suffit de relancer la config, mais à la fin, le prompt devrait vous dire que tout est OK. À ce moment-là, il suffit simplement de taper la commande invokeai --web --host 0.0.0.0qui va lancer le serveur.

Puis (on y est presque) retourner dans le pod connector et cliquer sur connect to HTTP service

Si tout est bien fait comme il faut, l’interface invokeAI devrait se présenter d’elle-même.

Comment savoir si tout marche ?

Premièrement, il faut vérifier en haut à droite un petit bouton vert (pour connexion).

Secondement, ben… il suffit d’essayer. Partons d’un même prompt.

A huge cliff filled with steampunk cannon, clouds filled with steampunk hot-air balloons in between, the sea. There’s a huge monster in the water, bigger than the cliff.

Avec Dall-E, cela donne cela.

with invokeAI (inkpunk diffusion)

avec street art media (un autre entrypoint)

Wattpad Image.

Comme dit plutôt, le but est d’arrêter de créer des images carrées comme le fait bing image (dall-e) car Wattpad veut des images en grand.

Voilà ce que cela donne avec une image carrée.

En cherchant un peu sur internet, il semblerait que les dimensions sont les suivantes : 1000 par 250. Malheureusement, impossible de demander ces mesures précises, les plus proches qu’on peut utiliser sont 1024 et 256. Mais cela ne change pas grand-chose.

Voilà le résultat

Honnêtement, c’est pas mauvais pour un premier jet. Pour l’instant, je fais comme cela. On verra pour la suite.

aussi