
ArtCraft : mettre la scène en place avant de la générer
Taper un prompt et espérer le bon cadrage, ça marche pour une esquisse, pas pour une série de plans qui doivent se raccorder. ArtCraft est un studio de création libre qui transforme le prompt en mise en scène : composer des calques en 2D, placer un décor, des accessoires et des personnages posés en 3D, régler la caméra, et seulement ensuite générer l'image ou la vidéo.
Ce que vous y gagnez. La maîtrise de la composition, de la pose des personnages et de la caméra avant la génération : la même pièce sur plusieurs plans, un personnage placé exactement, une image transformée en objet 3D que l'on fait pivoter. Libre (MIT et Apache 2.0), compilé ici depuis les sources en une soirée.
1. Ce qu'il fait
- La composition 2D : calques, détourage, outils de dessin, masques et retouche par zone.
- La mise en scène 3D : fonds, accessoires et kits placés en profondeur, personnages posés avec un mannequin, une caméra que vous cadrez.
- De l'image à la 3D : transformer une image en maillage que l'on déplace et éclaire.
- De l'image à la vidéo : animer une image mise en scène avec le modèle vidéo de votre choix.
Beaucoup des modèles qu'il propose sont des services hébergés. Pour un studio entièrement local, gardez la mise en scène dans ArtCraft et faites la génération avec vos propres modèles (voir ComfyUI).
2. Le compiler depuis les sources sous Linux
git clone https://github.com/storytold/artcraft.git && cd artcraft
# suivre _docs/dev_setup.md : une chaîne Rust pour l'appli native, Node pour l'interface
cd frontend && npm install && cd ..
cargo build --release # produit target/release/artcraft
Le binaire natif pèse environ 90 Mo. La première compilation prend du temps ; les suivantes sont incrémentales.
3. Le seul correctif qu'il a demandé
L'interface dépend d'un paquet récupéré depuis une branche Git (github:proprietaire/depot#branche). Notre npm refusait de le résoudre. Épingler le même code sous forme d'archive d'un commit précis a réglé le problème :
"ccapture.js": "https://github.com/aceslowman/ccapture.js/archive/<commit>.tar.gz"
Une dépendance sur une branche Git est de toute façon une cible mouvante. Épingler un commit rend la compilation reproductible ; notez le changement, pour pouvoir le retirer quand l'amont corrige le sien.
Pièges
Gardez vos modifications locales petites et listées : un fork qui diverge partout ne rattrape jamais l'amont.
Sources
Utile ? Dites-nous ce qu'il faut mesurer ensuite.