Étiquette : art

Tutoriels

Créer et s’inspirer avec MidJourney : Les meilleures fonctionnalités…

Dans ce tutoriel, nous vous guiderons étape par étape à travers les fonctionnalités de base de MidJourney pour une maîtrise efficace. Ensuite, nous explorerons les paramètres et fonctionnalités avancés qui vous permettront d’obtenir des résultats artistiques exceptionnels.

MidJourney (https://www.midjourney.com/) est l’une des innovations technologiques les plus marquantes de ces dernières années dans le domaine de l’intelligence artificielle. Aujourd’hui, l’art est plus accessible que jamais – les seules limites à l’art sont votre imagination et votre maîtrise des outils d’IA.

D’ici la fin de ce tutoriel, vous serez capable de générer des images comme celles-ci :

Le prix de l’art

Midjourney fonctionne sur des serveurs énergivores et nécessite des améliorations continues. Pour assurer la pérennité du projet, il est indispensable de proposer ces services moyennant un abonnement.

Si vous envisagez d’utiliser Midjourney régulièrement, il est recommandé de choisir le plan à 24 $ par mois. Ce forfait vous offre une priorité dans la file d’attente de génération d’images, permettant des créations plus rapides et illimitées.

En revanche, le plan à 8 $ par mois est une excellente option si vous souhaitez générer un nombre restreint d’images.

Prise en main de Midjourney

Lorsque vous vous connectez sur le site MidJourney, vous verrez les meilleures créations des utilisateurs du jour. Cela peut vous aider à vous inspirer.

A gauche de l’interface, observons les différents outils mis à notre disposition :

  • Explorer (La boussole) : Les meilleurs créations des utilisateurs.
  • Créer (Le pinceau) : L’interface principale pour la génération des images.
  • Editeur (Le stylo, reservé aux abonnements annuels) : Editer des images déjà existantes.
  • Personnalisation (Les tags) : Outil pour guider MidJourney vers des résultats qui suit vos goûts.
  • Gallerie (L’image) : Organiser et consulter l’ensemble de vos créations.
  • Chat (Bulles de texte) : Discuter avec d’autres utilisateurs.
  • Taches (Le pouce) : Récompensé en bonus d’heures de générations, les taches améliorent les modèles de MidJourney.

Notre tutoriel va se focaliser sur la page « Créer« , ou nous allons produire notre IA Art.

Formuler des prompts parfaits

Les prompts de génération sont la base de la création des images. Ceux-ci permettent de guider MidJourney vers les résultats que vous voulez. Plus le prompt sera précis et clair, plus l’image se rapprochera de votre idée.

Voici les éléments primaires pour que vous formuliez vos premières compositions :

  • Le style esthétique : realistic, cinematic, cute, elegant, drawing, digital, in the style of baroque oil painting, 1900s
  • La scène : stormy background, blank background, in a castle, on the beach, in the clouds.
  • Les couleurs : vivid, warm, cold, contrast, black and white, natural lighting.
  • Le point de vue : Side angle profile, close-up, 50mm lens, depth of field, wide angle
  • Les éléments additionnels : La marque des éléments (Mercedes, Ferrari, Apple…), les personnes célèbres (Elon Musk, MrBeast..), L’origine (Asian, African, American), Le lieu (Central Park, New York, Paris, Tokyo, Japan, China..).

Voici des exemples de prompt efficace

demon 2024 brand new mercedes AMG GT dark silver. A dark and stormy background with the reflection on the wet ground. driving away from an explosion. a purple glow emanating from under the car. HD, realistic, high detail, 64k, cinematic, portrait, front diagonal views only

A high-resolution, highly detailed texture,with realistic grain patterns and natural imperfections.The scene is filled with intricate architectural details, warm lighting, and realistic textures. Fantasy art style, ultra-realistic, 8K resolution. fantasy.medieval streets, magic store for grimoires, wands, bottles, fantasy worldview, looking up from below, city, city of seven colors

Grainy black-and-white silhouette of a person standing with their head slightly bowed and hands behind their back. The figure is dressed in a textured, patterned outfit with flared pants, and the chest area radiates outward with a starburst effect, creating a glowing or radiant focal point. To the left of the figure is a bold, black asterisk symbol, contrasting against the minimalistic white background. The overall style has a retro, abstract, and sketch-like feel, with a sense of simplicity and emphasis on texture and contrast

Une fois les prompts maitrisés, vous pourrez découvrir encore plus d’horizons avec les paramètres stylistiques. Découvrons maintenant comment manipuler ces paramètres.

Les paramètres stylistiques

Pour tirer le meilleur parti de Midjourney, il est essentiel de comprendre les différents paramètres stylistiques disponibles. Ces options vous permettent de personnaliser et d’affiner vos créations visuelles selon vos préférences. Explorons en détail chaque section pour optimiser vos images générées.

Cette fenêtre peut être déroulée en cliquant sur l’icone ici en haut à droite

Image Size

Ceci correspond aux proportions souhaitées.

1:1 Carré – 16:9 Paysage – 9:16 Portrait

Aesthetics

  • Stylization : Midjourney privilégie les couleurs, la composition et les formes artistiques. Le paramètre Stylization ajuste l’intensité de cette approche. Des valeurs faibles produisent des images fidèles au prompt mais moins artistiques, tandis que des valeurs élevées génèrent des images très artistiques, moins liées au prompt.
  • Weirdness : Avec le paramètre expérimental Weirdness, explorez des esthétiques non conventionnelles. Ce paramètre introduit des qualités excentriques et décalées, créant des créations uniques et inattendues.
  • Variety : Le paramètre Variety influence la diversité des grilles d’images initiales. Des valeurs élevées produisent des résultats et compositions plus inhabituels et inattendus, tandis que des valeurs faibles offrent des résultats plus fiables et répétables.

Model

  • Mode : Le mode Raw utilise un modèle alternatif adapté aux utilisateurs maîtrisant les commandes et souhaitant un contrôle accru sur leurs images. Les créations Raw comportent moins d’embellissements automatiques, facilitant une correspondance précise pour des styles spécifiques.
  • Version : Midjourney met régulièrement à jour ses modèles pour améliorer cohérence, efficacité, qualité et style. Changez de version avec le paramètre Version. Certains modèles sont spécialisés, par exemple v6.1 pour le réalisme et Niji 6 pour les créations digitales.
  • Personalize : La personnalisation agit comme un assistant de style personnel. En aimant ou classant des images, Midjourney apprend vos préférences et crée des images correspondantes lors de l’utilisation de la personnalisation dans le prompt. Compatible avec Midjourney Versions 6, 6.1 et Niji 6.

Vitesse de traitement :

  • Fast Mode utilise les GPU pour générer des images rapidement en consommant le temps GPU de votre abonnement.
  • Relax Mode permet une création illimitée sans utiliser de GPU, mais les tâches sont mises en file d’attente avec des temps d’attente plus longs.
  • Turbo Mode (expérimental) génère des images jusqu’à quatre fois plus vite en consommant deux fois plus de temps GPU, disponible uniquement avec certaines versions de modèles.

Une fois tous ces paramètres compris, vous pouvez booster votre créativité, surtout grâce aux paramètres stylistiques. Voici quelques exemples d’utilisation de ces paramètres :

Focus sur le paramètre Stylization Prompt : « child’s drawing of a cat« 

Focus sur le paramètre WeirdnessPrompt : « cyanotype cat« 

Focus sur le paramètre ChaosPrompt : « a silver seashell inlaid with pink and green accents« 

A votre tour de créer!

Vous avez désormais maîtrisé les bases et les fonctionnalitées avancées (Stylization) de Midjourney, et pouvez exprimer votre créativité et vos idées sans difficulté. N’hésitez pas à explorer de nouveaux horizons ! Voici quelques-unes de mes créations préférées 🙂

Art

Le système solaire

Pour le projet que nous avons dû réalisé sur l’art génératif nous avons choisi le thème du système solaire de façon plus revisité.

La création du fond :

Le fond ici est un ensemble de cercle qui forme plusieurs dégrader de violés comme ci-dessous :

from turtle import *
import secrets

def disque(rayon, x, y, couleur=(1, 1, 1)):
  penup()
  goto(x, y-rayon)
  pendown()
  pencolor(color)
  circle(rayon)


#fond

list_color2=["#AC00D7", "#9B00C1", "#9A00C2", "#9800BF", "#8D00B0", "#8300A4", "#770095", "#690083", "#500064", "#400050", "#23002C", "#400050", "#500064",  "#690083", "#770095", "#8300A4", "#8D00B0", "#9800BF", "#9A00C2",  "#9B00C1", "#AC00D7",]

x = 0
y = -45
radius = 1100

color_index = 0

while radius >= 0:
    speed(400)
    color = list_color2[color_index] 
    fillcolor(color)
    begin_fill()
    disque(radius, x, y, color)
    end_fill()
    radius-=5
    color_index = (color_index + 1) % len(list_color2)</code>

Les axes de rotations des planètes :

Les axes ici en blanc représentantes le positionnement des astres dans le système solaire on les a codé en plusieurs étapes.

from turtle import *
import secrets

def disque(rayon, x, y, couleur=(1, 1, 1)):
  penup()
  goto(x, y-rayon)
  pendown()
  pencolor(color)
  circle(rayon)


#fond

list_color2=["#AC00D7", "#9B00C1", "#9A00C2", "#9800BF", "#8D00B0", "#8300A4", "#770095", "#690083", "#500064", "#400050", "#23002C", "#400050", "#500064",  "#690083", "#770095", "#8300A4", "#8D00B0", "#9800BF", "#9A00C2",  "#9B00C1", "#AC00D7",]

x = 0
y = -45
radius = 1100

color_index = 0

while radius >= 0:
    speed(400)
    color = list_color2[color_index] 
    fillcolor(color)
    begin_fill()
    disque(radius, x, y, color)
    end_fill()
    radius-=5
    color_index = (color_index + 1) % len(list_color2)


#cercle blanc

x, y = (0,-45)
radius = (410)
color = ("white")
disque(radius, x, y, color)   

x, y = (0,-45)
radius = (370)
color = ("white")
disque(radius, x, y, color) 

x, y = (0,-45)
radius = (330)
color = ("white")
disque(radius, x, y, color) 

x, y = (0,-45)
radius = (290)
color = ("white")
disque(radius, x, y, color) 

x, y = (0,-45)
radius = (230)
color = ("white")
disque(radius, x, y, color)

x, y = (0,-45)
radius = (200)
color = ("white")
disque(radius, x, y, color)

x, y = (0,-45)
radius = (170)
color = ("white")
disque(radius, x, y, color)

x, y = (0,-45)
radius = (140)
color = ("white")
disque(radius, x, y, color) 

La créations du soleil :

le soleil est l’astre qui nous permet de nous réchauffer donc les couleurs chaudes et vive est ce qui allait le mieux avec le soleil.

from turtle import *
import secrets

def disque(rayon, x, y, couleur=(1, 1, 1)):
  penup()
  goto(x, y-rayon)
  pendown()
  pencolor(color)
  circle(rayon)


#fond

list_color2=["#AC00D7", "#9B00C1", "#9A00C2", "#9800BF", "#8D00B0", "#8300A4", "#770095", "#690083", "#500064", "#400050", "#23002C", "#400050", "#500064",  "#690083", "#770095", "#8300A4", "#8D00B0", "#9800BF", "#9A00C2",  "#9B00C1", "#AC00D7",]

x = 0
y = -45
radius = 1100

color_index = 0

while radius >= 0:
    speed(400)
    color = list_color2[color_index] 
    fillcolor(color)
    begin_fill()
    disque(radius, x, y, color)
    end_fill()
    radius-=5
    color_index = (color_index + 1) % len(list_color2)


#cercle blanc

x, y = (0,-45)
radius = (410)
color = ("white")
disque(radius, x, y, color)   

x, y = (0,-45)
radius = (370)
color = ("white")
disque(radius, x, y, color) 

x, y = (0,-45)
radius = (330)
color = ("white")
disque(radius, x, y, color) 

x, y = (0,-45)
radius = (290)
color = ("white")
disque(radius, x, y, color) 

x, y = (0,-45)
radius = (230)
color = ("white")
disque(radius, x, y, color)

x, y = (0,-45)
radius = (200)
color = ("white")
disque(radius, x, y, color)

x, y = (0,-45)
radius = (170)
color = ("white")
disque(radius, x, y, color)

x, y = (0,-45)
radius = (140)
color = ("white")
disque(radius, x, y, color) 

#soleil

list_color=["yellow", "orange", "red", "orange", "yellow", "orange", "red"]

x = 0
y = -45
radius = 100

color_index = 0

while radius > 0:

    color = list_color[color_index]
    fillcolor(color)
    begin_fill()
    disque(radius, x, y, color)
    end_fill()
    radius-=1
    color_index = (color_index + 1) % len(list_color)


def arrondi_gauche():
  for i in range(180):
      left(1)
      forward(7/45)

def arrondi_droit():
  for i in range(180):
      right(1)
      forward(7/100)

Les planètes :

Un système solaire sans nos planètes n’est pas un vrai système solaire nous avons reproduit différent astres sur nos axes.

Art

Paysage japonais

Un paysage où un monument de la culture japonaise se mélange avec un fond naturel est magnifique. Et bien que le Japon soit le pays du soleil, levant nous allons le mettre en valeur avec, cette fois-ci, la lune, à travers des montagnes et des torii. Ces derniers symbolisent un portail entre l’enceinte sacrée et l’environnement profane. C’est pour cette raison qu’il y en a à l’entrée de certains sanctuaires.

Organisation du script

Notre script sera expliqué par étape, de l’arrière plan au premier. La fonction goto sera beaucoup utilisée afin de faire des tracés contrôlés ainsi que pensize() pour la largeur du tracé du stylo, color() pour choisir la couleur du crayon, circle() pour faire un cercle et for i in range pour faire des boucles.

L’arrière-plan

from turtle import*    
pensize (42)    
color("#FFFFFF")

a = -40   
col = ["#FFFFFF","#9BF7F7","#41F9FF","#00CDFF","#008FFF","#0059FF","#003AFF", "#4D00FF","#33079A", "#000000"]    
nb_col = len(col)    
color("#FFFFFF")   
goto(0, 50)    
circle(40)

a = 0  

for i in range (0,10,1):
    goto(0, 40-a)
    color(col[i%nb_col])
    circle(40+a)
    a = a +30
    goto(0, 40-a)
    circle(40+a)
    a = a +30
    goto(0, 40-a)
    circle(40+a)
    a = a +40

Ici, nous montrons que notre script est importé de Turtle, ce module nous permettant de contrôler un crayon pour tracer diverses formes géométriques.

Le fond de notre code n’est pas centré mais c’est fait exprès. Nous avons donc mis la taille du crayon à 42 avec la fonction : pensize (42), ensuite a = -40 nous a servis à déplacer le centre du cercle de base, soit, dans notre cas de le décaler vers la haut. Puis nous avons listé les différentes couleurs utilisées dans tous ces cercles avec col = [ ]. Le goto(0, 50) nous emmènera ensuite aux coordonnées données (donc (0, 50)) puis tracera des cercles de différentes tailles et de différentes couleurs grâce à la fonction cercle circle(40) et à la boucle for i in range (0,10,1):.

Les premières montagnes

color("#42392C")
goto(0, -80)
goto(100, 90)
goto(150,80)
goto(230,150)
goto(270,250)
goto(300,150)
goto(500,20)
goto(580,30)
goto(630,10)
goto(640,-40)
goto(0,-80) 

goto(0, -40)
goto(100,50)
goto(120,40)
goto(200,100)
goto(320,250)
goto(500,30)
goto(580,-10)
goto(630,20)
goto(640,-80)
goto(0,-70) 

goto(0, -40)
goto(120,40)
goto(200,80)
goto(320,230)
goto(500,00)
goto(580,00)
goto(630,000)
goto(640,-60)
goto(0,-50) 

goto(0, -40)
goto(120,33)
goto(200,60)
goto(320,210)
goto(500,00)
goto(580,00)
goto(630,000)
goto(640,-40)
goto(0,-20) 

goto(0, -40)
goto(120,20)
goto(200,50)
goto(320,190)
goto(500,00)
goto(580,00)
goto(630,000)
goto(640,-30)
goto(0,-10) 

goto(0, -40)
goto(120,00)
goto(200,20)
goto(320,170)
goto(500,00)
goto(580,00)
goto(630,000)
goto(640,-10)
goto(0,-00) 

goto(0, -40)
goto(120,00)
goto(200,10)
goto(320,160)
goto(580,00)
goto(630,000)
goto(640,-10)
goto(0,-00)  

goto(320,70)
goto(500,50)
goto(320,60)
goto(320,40)
goto(320,50)
goto(320,30) 

goto(0,-10)
goto(-200,50)
goto(-300,10)
goto(-430,160)
goto(-500,15)
goto(-600,250)
goto(-600,-10)

Nous comprenons ici que les goto sont et seront à l’honneur de ce script ! Ils sont simples à utiliser et donc à comprendre. La couleur des premières montagnes, elle, est encore une fois définie par color(« #42392C »).

Voici le résultat de tous ces goto ! Nous avons un début de montagne avec quelques imperfections mais pas d’inquiétudes ! Ce script fonctionne par plan donc comme un pochoir. Ici, les goto ont donc servis à diriger le stylo d’un point à un autre jusqu’à ce que nous ayons ce résultat

Encore des montagnes

color("#6F6556")
goto(0, 0)
goto(80,40)
goto(120,00)
goto(200,10)
goto(430,200)
goto(630,0)
goto(0,-00)

goto(0, 0)
goto(200,0)
goto(430,180)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(430,160)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(430,150)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,150)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,140)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,130)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,120)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,110)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,100)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,90)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,80)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,70)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,60)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,60)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,50)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,40)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,40)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,30)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,20)
goto(630,0)

goto(0, 0)
goto(200,0)
goto(400,10)
goto(630,0)

goto(0,0)
goto(0,-10)
goto(-200,30)
goto(-300,00)
goto(-400,150)
goto(-500,5)
goto(-600,200)
goto(-600,-10)
goto(0,0)

Ces montagnes sont faites de la même manière que les premières : le changement de couleur avec color(« #6F6556 ») et les goto ! Voyons maintenant le résultat en image…

Et voilà nos montagnes finies ! Mais il reste encore quelques étapes pour donner un sens à notre titre.

Le sol bleu

up()
goto(0,-400)
down()
col = ["#000000","#33079A","#4D00FF", "#003AFF", "#0059FF","#008FFF", "#00CDFF", "#41F9FF","#9BF7F7", "#FFFFFF","#9BF7F7","#41F9FF","#00CDFF","#008FFF","#0059FF","#003AFF","#4D00FF","#33079A","#000000"]
nb_col = len(col) 
recup = 0
k = -50
for i in range (0,50):
    color(col[i%nb_col])
    for i in range (0,3):
        k += 40
        goto(1000-k,-35)
        goto(1300-k,-500)

Comme pour l’arrière-plan, les couleurs sont définies grâce à col = [ ].

Avec l’image, nous pouvons plus facilement comprendre la présence de la boucle for i in range (0,50) qui nous a aidé à répéter tous les traits positionnés en diagonale pour nous éviter de les faire un à un avec des goto par exemple !

Les torii

pensize(42)
up()
goto(160,-220)
down()

color("#FF7000")
goto(160,100)
goto(-160,100)
goto(-160,-220)
goto(-160,100)
goto(-220,100)
goto(220,100)
goto(160,100)
goto(160,160)
goto(160,100)
goto(-160,100)
goto(-160,160)
goto(-220,160)
goto(220,160)

pensize(25)
up()
goto(80,-150)
down()

color("#E76E00")
goto(80,20)
goto(-80,20)
goto(-80,-150)
goto(-80,20)
goto(-120,20)
goto(120,20)
goto(80,20)
goto(80,60)
goto(80,20)
goto(-80,20)
goto(-80,60)
goto(-120,60)
goto(120,60)

pensize(12)
up()
goto(40,-120)
down()

color("#CB6100")
goto(40,-30)
goto(-40,-30)
goto(-40,-120)
goto(-40,-30)
goto(-60,-30)
goto(60,-30)
goto(40,-30)
goto(40,-10)
goto(40,-30)
goto(-40,-30)
goto(-40,-10)
goto(-60,-10)
goto(60,-10)

pensize(6)
up()
goto(20,-100)
down()

color("#A95100")
goto(20,-60)
goto(-20,-60)
goto(-20,-100)
goto(-20,-60)
goto(-30,-60)
goto(30,-60)
goto(20,-60)
goto(20,-50)
goto(20,-60)
goto(-20,-60)
goto(-20,-50)
goto(-30,-50)
goto(30,-50)

Voici le code de nos torii. A chaque nouveau pensize( ), il y en a un nouveau ! Nous avons d’abord le placement du crayon avec up( ), goto( ) et down( ) dans cet ordre là. Cela permet de se déplacer en décidant quand nous voulons écrire.

Cette fois-ci, l’image est sans le fond pour mieux observer le choix de couleur ainsi que les tailles décroissantes.

Le résultat final

Et enfin, notre résultat ! Nous avons également rajouté deux ligne, une verte et une marron pour montrer le début des montagnes mais ces lignes servent aussi à cacher la délimitation qu’il y avait pour les traits droits en diagonale.

Télécharger le .py