VYBE Image-vers-Mouvement
I = node <this skill>/scripts/i2m.mjs. Fonctionne de manière autonome ou comme Étapes 4–5
De /vybe (dans ce cas, le répertoire de composition est le composition/ du projet VYBE).
La règle d'honnêteté
Le mouvement programmatique déplace une caméra, des couches, la lumière et des particules autour des
pixels d'origine. Il ne peut pas faire marcher une personne, sourire ou tourner la tête, faire couler
de l'eau, ou montrer le dos d'un produit. Ne décrivez jamais la sortie programmatique comme
"la personne marche" ou "mouvement réaliste". Si la demande nécessite un mouvement au niveau du pixel
et qu'aucun fournisseur IA n'a été exécuté, dites-le clairement et livrez la version avec mouvement de caméra
pour ce qu'elle est. Les clips IA portent un fichier .provenance.json et sont toujours étiquetés comme générés par IA.
1 · Analyser
I analyze <image> # taille, rapport → format suggéré, tonalité, palette
Regardez ensuite l'image (vision) et écrivez sources/image-analysis.md : sujet principal et
contour, premier plan/plan moyen/arrière-plan, perspective et horizon, direction de la lumière,
régions qui pourraient bouger, visages (l'identité doit être préservée).
2 · Planifier et choisir la méthode
I classify "<la demande de mouvement de l'utilisateur>" [--method programmatic|ai]
I providers # quels fournisseurs IA sont configurés (présence uniquement)
| La demande implique | Méthode |
|---|---|
| zoom, push-in, pull-out, panoramique, sensation d'orbite, parallaxe, profondeur | programmatique |
| particules, poussière, neige, pluie, brouillard, balayage lumineux, lueur, flare | programmatique |
| arrière-plan qui dérive tandis que le sujet reste stable | programmatique (couches) |
| flottement/balancement doux d'un objet séparé | programmatique (couches, subjectSway) |
| personnes/animaux en mouvement, expressions faciales, mains | IA |
| cheveux/tissus/feuilles/flammes en mouvement, eau/fumée qui s'écoule | IA |
| transformations (fusion, éclosion, explosion), rotations complètes à 360° | IA |
Le --method explicite de l'utilisateur l'emporte toujours. Une approche hybride (clip IA + superpositions
programmatiques et caméra) est souvent la meilleure : générez le mouvement organique, puis ajoutez la caméra, la lumière,
le texte et le son VYBE dans HyperFrames.
Écrivez sources/motion-plan.md : mouvement de caméra, mouvement de l'objet/arrière-plan, lumière,
particules, durée, intensité, méthode + raison, et ce qui ne bougera pas.
3a · Programmatique
I scaffold --image <img> --prompt "<demande>" --composition <dir> [--mode layers|depth] [--format f] [--duration s]
cd <dir> && npx hyperframes check && npx hyperframes snapshot --frames 5 -o ../previews/i2m
- layers (par défaut) :
npx hyperframes remove-backgrounddécoupe le sujet et un fond de plan ; le trou du sujet est rempli avec une copie floutée ; le fond, le brouillard, le sujet, les particules et la lumière se déplacent avec une parallaxe à échelle de profondeur. Meilleur quand il y a un sujet clair. - depth : un shader Three.js déplace l'image par une carte de profondeur (masque du sujet +
gradient de sol) tandis qu'une caméra virtuelle bouge — parallaxe 2.5D réelle sur l'ensemble du
cadre. Meilleur pour les paysages, intérieurs, scènes sans un seul sujet.
Gardez
intensity≤ 1 pour les visages (des décalages forts les déforment). - Ajustez via le JSON
#i2m-configdansindex.html(caméra : push · pull · pan-left · pan-right · rise · orbit ; intensité 0.5–1.5 ; effets : particles · snow · rain · fog · light-sweep ; subjectSway). - Sans découpage (suppression indisponible), cela dégrade en mouvement monocouche — signalez-le.
3b · IA image-vers-vidéo
I generate --provider <p> --image <img> --prompt "<prompt de mouvement>" --out sources/clip.mp4 --duration 5 --aspect 16:9 --dry-run # inspecter la requête (clés masquées)
I generate --provider <p> --image <img> --prompt "<prompt de mouvement>" --out sources/clip.mp4 --duration 5 --aspect 16:9
I compose --clip sources/clip.mp4 --composition <dir> [--title "…"]
| Fournisseur | Modèles | Notes |
|---|---|---|
runway | gen4.5 (par défaut), gen4_turbo, veo3.1, veo3.1_fast, kling3.0_pro, kling3.0_standard | une clé permet d'accéder à Runway, Google Veo 3.1 et Kling 3.0 ; durées 2–10s (Veo 4/6/8, Kling 3–15) |
luma | ray-3.2 | 5s avec une image de départ ; préfère une --image-url publique, données en ligne pour les petits fichiers |
gemini | gemini-omni-1.1-flash | API Interactions, 16:9 ou 9:16 ; les modèles preview Veo 3.1 ont été retirés le 22/10/2026 |
kling | kling-v2-1 (direct) | expérimental adaptateur (point d'accès de docs secondaires) ; préférez runway + kling3.0_pro |
Rédigez le prompt de mouvement comme une description de plan : sujet + action + caméra + sensation + "garder l'identité et la composition du sujet". La génération a un coût : confirmez avec l'utilisateur avant un appel payant initié par l'agent, sauf s'il a expressément demandé un mouvement IA. Ne réessayez jamais un appel payant échoué plus d'une fois sans le demander. Les erreurs (authentification, quota, modération, délai d'attente) sont rapportées textuellement.
Détails, sources et mises en garde : references/providers.md.
4 · Livrer
La composition reçoit le traitement VYBE normal : vybe audio (musique/SFX/voix ;
les marqueurs sont présents), vybe render, vybe qc, vybe finalize. Autonome :
npx hyperframes render --output out.mp4 dans le répertoire de composition. Conservez
l'image source, les couches, la carte de profondeur, i2m-plan.json et tout fichier .provenance.json.