
J'avais l'histoire en tête avant de faire les images. On tape six mots, le modèle sort un joueur à trois jambes, et on comprend qu'il fallait mieux écrire son prompt. C'est l'histoire qu'on lit partout. Je voulais simplement l'illustrer.
Le modèle n'a pas joué le jeu. Ce qu'il m'a montré est moins spectaculaire, mais plus utile. Voici donc ce que j'ai vraiment obtenu, avec le prompt, la graine et la durée sous chaque image.
Un prompt, c'est une commande passée à un cuisinier
Avant les images, une image mentale. Quand vous commandez « un plat de pâtes », le cuisinier décide de tout le reste : la sauce, l'assiette, la quantité. Il remplit les blancs. Un modèle d'image fait pareil. Tout ce que vous ne dites pas, il le choisit à votre place.
La graine, c'est le point de départ du hasard. Avec la même graine et le même prompt, le modèle refait exactement la même image. C'est ce qui me permet de changer une seule chose à la fois et de voir son effet.
Niveau 0 : six mots
Le prompt : a basketball player dunking in snow. Le genre de phrase qu'on tape sans réfléchir.

Comment c'est fait
- Modèle
- FLUX.2 [klein] 4B (Q8_0 GGUF) · Apache-2.0
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 4 steps, guidance 1.0, Euler, 1024×1024
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
a basketball player dunking in snow
- Graine (seed)
2026- Taille
- 1024×1024
- Durée
- 77 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.
Pas de monstre. FLUX.2 [klein] 4B, un modèle ouvert sous licence permissive, a produit un smash crédible dans la neige avec six mots. Ce que je n'avais pas précisé, il l'a décidé : un maillot marine, une colline, aucun cadrage particulier. Son seul raté visible est classique : les lettres du maillot ne forment aucun mot.
Niveaux 1 à 3 : dire ce qu'on veut vraiment
À chaque niveau, j'ai ajouté une famille de détails au précédent. Même modèle, même graine, même taille. Entre 77 et 82 secondes par image.

Comment c'est fait
- Modèle
- FLUX.2 [klein] 4B (Q8_0 GGUF) · Apache-2.0
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 4 steps, guidance 1.0, Euler, 1024×1024
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
A professional male athletic basketball player in a red numbered jersey leaping gracefully toward the rim, one arm extended with the ball above the hoop, both legs visible and anatomically correct, a steel rim with a white net
- Graine (seed)
2026- Taille
- 1024×1024
- Durée
- 80 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.

Comment c'est fait
- Modèle
- FLUX.2 [klein] 4B (Q8_0 GGUF) · Apache-2.0
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 4 steps, guidance 1.0, Euler, 1024×1024
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
A professional male athletic basketball player in a red numbered jersey leaping gracefully toward the rim, one arm extended with the ball above the hoop, both legs visible and anatomically correct, a steel rim with a white net, on an outdoor asphalt court dusted with fresh snow, gentle snowflakes drifting through cold winter air, breath visible in the cold
- Graine (seed)
2026- Taille
- 1024×1024
- Durée
- 81 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.

Comment c'est fait
- Modèle
- FLUX.2 [klein] 4B (Q8_0 GGUF) · Apache-2.0
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 4 steps, guidance 1.0, Euler, 1024×1024
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
A professional male athletic basketball player in a red numbered jersey leaping gracefully toward the rim, one arm extended with the ball above the hoop, both legs visible and anatomically correct, a steel rim with a white net, on an outdoor asphalt court dusted with fresh snow, gentle snowflakes drifting through cold winter air, breath visible in the cold, cinematic medium shot, captured on a 35mm lens, f/2.2 shallow depth of field, natural soft overcast daylight, sharp focus
- Graine (seed)
2026- Taille
- 1024×1024
- Durée
- 82 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.
Le niveau 1 m'a surpris. J'ai décrit le joueur en détail, et la neige a disparu. Le modèle l'a placé dans une salle intérieure bien éclairée. Je n'avais pas dit où, et en me concentrant sur le joueur, j'avais laissé le décor en blanc. Le cuisinier a rempli le blanc. C'est la vraie leçon de ce billet : ajouter du détail sur un point peut en faire bouger un autre.
Le niveau 2 a ramené la neige et mis le terrain dehors, parce que je l'ai écrit.
Le niveau 3 a changé le cadrage et adouci l'arrière-plan. Le contenu, lui, n'a pas bougé. Les lettres du maillot restent illisibles, et le panneau a gagné un étrange second panneau en dessous. Quant à la lumière, elle était déjà grise au niveau 2, puisque la scène était sous la neige. Je ne peux donc pas dire que mes mots sur la lumière ont changé quoi que ce soit.
Les prompts complets sont sous chaque image, dans « Comment c'est fait ». Lus dans l'ordre, ils suivent la recette habituelle : le sujet, puis le décor, puis la caméra.
Le prompt négatif, et le modèle qui l'ignore
La recette habituelle a une quatrième étape : le prompt négatif, la liste de ce qu'on ne veut pas (deformed, extra limbs, bad anatomy, low quality). Pour comprendre pourquoi ça ne marche pas partout, il faut parler du guidage.
Le guidage, c'est la force avec laquelle le modèle obéit au texte. Pour l'appliquer, beaucoup de modèles calculent deux versions à chaque étape, une qui suit le prompt et une qui suit le prompt négatif, puis s'éloignent de la seconde. FLUX.2 [klein] tourne avec un guidage de 1 : il ne fait pas ce deuxième calcul. Le prompt négatif n'est donc jamais lu. Je ne peux pas montrer cette étape sur ce modèle. C'est aussi pour ça qu'avec un modèle comme celui-ci, les exclusions comme « no text, no logos » doivent être écrites dans le prompt positif.
Stable Diffusion 1.5, plus ancien et plus petit, utilise un guidage de 7 et lit le prompt négatif. Et là, le prompt de six mots produit bien les défauts promis. De gauche à droite : niveau 0, niveau 3 sans négatif, niveau 3 avec. 512×512, graine 2026, 63 à 68 secondes chacune.

Comment c'est fait
- Modèle
- Stable Diffusion 1.5 · CreativeML OpenRAIL-M
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 20 steps, guidance 7, Euler a, 512×512
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
a basketball player dunking in snow
- Graine (seed)
2026- Taille
- 512×512
- Durée
- 65 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.

Comment c'est fait
- Modèle
- Stable Diffusion 1.5 · CreativeML OpenRAIL-M
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 20 steps, guidance 7, Euler a, 512×512
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
A professional male athletic basketball player in a red numbered jersey leaping gracefully toward the rim, one arm extended with the ball above the hoop, both legs visible and anatomically correct, a steel rim with a white net, on an outdoor asphalt court dusted with fresh snow, gentle snowflakes drifting through cold winter air, breath visible in the cold, cinematic medium shot, captured on a 35mm lens, f/2.2 shallow depth of field, natural soft overcast daylight, sharp focus
- Graine (seed)
2026- Taille
- 512×512
- Durée
- 63 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.

Comment c'est fait
- Modèle
- Stable Diffusion 1.5 · CreativeML OpenRAIL-M
- Moteur
- stable-diffusion.cpp (sd-cli) on Metal, 20 steps, guidance 7, Euler a, 512×512
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Prompt
A professional male athletic basketball player in a red numbered jersey leaping gracefully toward the rim, one arm extended with the ball above the hoop, both legs visible and anatomically correct, a steel rim with a white net, on an outdoor asphalt court dusted with fresh snow, gentle snowflakes drifting through cold winter air, breath visible in the cold, cinematic medium shot, captured on a 35mm lens, f/2.2 shallow depth of field, natural soft overcast daylight, sharp focus
- Prompt négatif
deformed, extra limbs, bad anatomy, glitch, jitter, low quality
- Graine (seed)
2026- Taille
- 512×512
- Durée
- 68 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
- Note
- Made today with the engine's command line (sd-cli), not through an Orazaka Studio: there is no run id. Same seed for every picture of the ladder.
Avec le prompt négatif, il n'y a plus qu'un panier. C'est tentant d'y voir la preuve que ça marche. Je ne peux pas l'affirmer. Avec une seule image par prompt, ce changement peut tout autant venir du hasard. Pour le prouver, il faudrait vingt graines et un décompte. Je ne l'ai pas fait.
Une liste à garder sous la main
J'utilise un aide-mémoire en cinq points pour écrire un prompt : le sujet, l'action, la caméra, la lumière, et ce qu'on exclut. C'est une habitude que j'ai, rien de plus. Voici ce que les images ci-dessus en disent vraiment :
| À préciser | Exemple | Ce que montrent ces images |
|---|---|---|
| Sujet | Qui, la tenue, la posture | Le niveau 1 a corrigé le maillot et la pose, et laissé le modèle choisir le lieu. |
| Action | Ce qui bouge, ce qui touche quoi | « Dunking » suffisait dès le niveau 0. Une image fixe ne montre pas le mouvement. |
| Caméra | Focale, ouverture, cadrage | Le niveau 3 a changé le cadrage et flouté l'arrière-plan. |
| Lumière | Source, matières | Impossible à isoler : la lumière était déjà grise au niveau 2. |
| Exclusions | Ce qu'on ne veut pas | Ignoré par FLUX.2 [klein]. Non concluant sur SD 1.5 avec une seule graine. |
Ce qui arrive vraiment au modèle
Personne ne devrait avoir à retenir des focales pour obtenir une belle image. On peut prendre ce que la personne tape et l'envelopper dans une direction structurée avant que ça arrive au modèle. C'est ce qu'on fait dans Orazaka, le moteur open source que je construis. Le prompt sous l'image ci-dessous est exactement ce que le modèle a reçu, dans cet ordre : le sujet de la personne d'abord, puis la direction (lumière, objectif, matières, palette), puis les exclusions, écrites dans le prompt positif parce que ce modèle ne lit pas de prompt négatif.

Comment c'est fait
- Modèle
- FLUX.2 [klein] 4B (Q8_0 GGUF) · Apache-2.0
- Moteur
- stable-diffusion.cpp on Metal, 4 steps, guidance 1.0
- Machine
- MacBook Pro, Apple M1 Max, 64 GB (Metal)
- Via
- Orazaka Studio run on dev.orazaka.com
- Studio
art-golden-hour- Prompt
A man in a crisp white djellaba pours mint tea from a silver teapot held high above a small engraved tea glass, a long thin amber stream in the air, inside a Berber tent in the Sahara, fresh mint and almonds on a weathered wooden table. Editorial lifestyle photograph at golden hour: warm low sunlight raking from the side, long soft shadows, dust motes glowing in the air. 85mm lens at f/2, shallow depth of field, natural skin and fabric texture, rich tactile materials — weathered wood, wool, brass, linen. Warm palette of amber, terracotta, saffron and sand, gentle film grain, refined composition with breathing space. No text, no lettering, no logos.
- Graine (seed)
20261011- Taille
- 1024×1280
- Durée
- 120 s, telles qu'enregistrées par le run
- Coût
- aucun coût en argent (matériel à nous ; électricité non mesurée)
- Run Orazaka
- non enregistré
Le même prompt a servi à un clip de cinq secondes, fait par un modèle vidéo hébergé :
Comment c'est fait
- Modèle
- Wan 2.2 T2V A14B · Apache-2.0
- Moteur
- hosted: DigitalOcean serverless inference (steps and guidance not exposed)
- Machine
- hébergé par le fournisseur (pas notre machine)
- Via
- orazaka video --model wan2-2-t2v-a14b, routed by Orazaka
- Prompt
Extreme close-up, slow motion: a stream of amber mint tea pours from a silver teapot held high into a small engraved glass, steam curling through a shaft of golden-hour light inside a Berber tent, dust motes floating, shallow depth of field, anamorphic lens flare, 35mm film grain, cinematic color grade.
- Graine (seed)
20261011- Taille
- 832×480 · 16 images/s, 5.06 s
- Durée
- 134 s, telles qu'enregistrées par le run
- Coût
- 0.60 US$ (le prix du fournisseur)
- Run Orazaka
25948442-7c68-4e66-94d6-39cd8b96438d- Son
- music bed made by Orazaka (Studio video-sound, ACE-Step 1.5, MIT), -14 LUFS, AAC
Ce que vous pouvez en retenir
Un prompt n'a pas besoin d'être long. Il doit dire ce qui compte pour vous, parce que tout le reste sera décidé par le modèle. Quand vous ajoutez un détail, regardez ce qui a bougé ailleurs. Et avant d'écrire un prompt négatif, vérifiez que votre modèle le lit.
Ce que je n'ai pas mesuré : la variance (une autre graine pourrait inverser chaque conclusion), la qualité notée par d'autres que moi, et la vidéo, faute d'une paire de clips naïf et détaillé. Un clip hébergé coûte 0,60 $ et je ne l'ai pas dépensé pour ça. Les durées et les prix de ces modèles sont dans le billet sur les coûts.


