Skip to content

Repository files navigation

VJ Loop Studio

VJ Loop Studio est une application Pinokio autonome specialisee dans les clips VJ, les boucles image-vers-video et la reparation de videos qui ne bouclent pas correctement. Son installation telecharge automatiquement son propre moteur Wan dans app/wan-engine; Wan2GP n'a pas besoin d'etre installe comme application separee.

Elle comprend aussi un Generateur d'image VJ local sans cle API, propulse par FLUX.2 Klein 4B dans le moteur Wan integre. L'installation prepare automatiquement les modeles essentiels dans le stockage partage de Pinokio; aucune installation Automatic1111 separee n'est requise.

Installation depuis GitHub

Prérequis : Windows 10 ou Windows 11 en 64 bits, une carte NVIDIA RTX compatible CUDA 13 avec des pilotes récents, et suffisamment d'espace disque pour les modèles. L'installation initiale est longue parce qu'elle installe l'environnement GPU et télécharge Wan 2.2 ainsi que FLUX.2. Les démarrages suivants prennent normalement autour de 30 secondes sur la machine de développement. La configuration actuelle n'est pas destinée aux anciennes GTX 10xx, qui demandent une pile CUDA différente.

  1. Ouvre Pinokio et choisis l'installation depuis une URL Git.
  2. Colle https://github.com/cindybel/vj-loop-studio.
  3. Clique Installer, puis Run lorsque l'installation est terminée.

Les modèles, environnements Python, vidéos générées et réglages locaux ne sont jamais inclus dans le dépôt GitHub. Les checkpoints sont placés dans C:\pinokio\models, un seul stockage partagé avec Wan2GP : il n'y a donc aucune copie double.

Pendant l'installation, la barre latérale Pinokio affiche un suivi détaillé en anglais à côté du terminal. Les sept étapes couvrent la préparation, le moteur Wan, le stockage partagé, l'environnement GPU, les dépendances Python, les modèles IA et les vérifications finales. Le cyan indique l'étape active, le vert une étape terminée, le gris une étape en attente et le rouge l'étape où l'installation a été interrompue ou a rencontré une erreur. Le terminal reste disponible pour consulter le message technique complet.

Utilisation

L'ecran suit maintenant un parcours simple: source, identite visuelle, format et mouvement, generation, ambiance visuelle, couleurs, puis options avancees.

Les sections Mouvement, Ambiance visuelle, Couleurs et Options avancees sont repliables. Le mouvement est place sous le format et reste distinct du style et des couleurs; les options avancees sont placees sous les couleurs.

Creer une image VJ est le premier choix, a gauche, dans Type de creation. Il ouvre une section entierement separee: les controles de boucle et de video sont caches, et seuls les parametres utiles a une image restent affiches. Les choix de sujet, style, palette, composition, details, eclairage, matiere, profondeur, ratio et dimension possedent chacun une petite case active par defaut. Decoche une case pour omettre totalement ce parametre du prompt. Les ratios disponibles sont 16:9, 9:16, 1:1, 4:3, 3:4 et 21:9; les profils Rapide, Standard et Haute affichent les dimensions exactes avant la generation. Les palettes et styles reutilisent la bibliotheque VJ de l'application.

Pendant la generation d'image, l'avancement est affiche pres du bouton et le viewer montre les apercus intermediaires disponibles. La seed aleatoire choisie est affichee comme information selectionnable pres du viewer. Apres la generation, Utiliser cette image pour une boucle la place directement comme source du mode Image vers boucle. Le moteur d'image lance par l'application est completement arrete apres le calcul afin de rendre la RTX 4070 au moteur Wan et de garantir un prochain demarrage propre.

Le bouton 📁 Dossier des videos, sous le resultat final, ouvre directement le dossier local app/outputs contenant les videos generees.

Avant de generer, ecris un Nom du projet en haut de l'application. Ce nom est obligatoire dans tous les modes, y compris Creer une image VJ. Chaque nouvelle generation cree ensuite son propre dossier autonome dans app/outputs/generations, avec la date, l'heure, le nom du projet et le mode dans le nom du dossier, par exemple 2026-08-19_14-32-10_tunnel-rouge_image-vers-boucle. Ce dossier contient la source originale copiee dans source, le resultat final dans result, le journal lisible generation.log et le fichier complet reprise-vj.json. Les reglages incluent le nom du projet, le mode, les prompts, les choix visuels, la duree, les FPS, la qualite et la seed reellement utilisee. La source de travail est donc conservee avec le resultat au lieu de dependre du fichier original importe avant la generation.

La section Reprendre une génération accepte directement generation.log ou reprise-vj.json. Deposer un de ces fichiers recharge le nom du projet, la source originale, le resultat deja produit, le mode et les reglages exacts. La seed aleatoire resolue au debut de la generation est restauree comme une seed fixe afin que tous les segments et une nouvelle tentative utilisent la meme variation. Garde le dossier complet a son emplacement si tu veux reprendre le projet par simple depot; le log et le JSON servent de porte d'entree vers les medias qui l'accompagnent.

Le bouton ⟳ Loop active ou desactive la repetition native du lecteur du resultat final. En mode actif, le navigateur garde la video chargee et la relance directement a sa fin, sans rechargement par l'application.

Les petits boutons ? places a cote d'Action visuelle, de Style visuel et de Composition de l'image ouvrent une aide detaillee et defilable qui explique chaque choix en francais.

Le bouton ↶ Derniers reglages restaure les parametres de la derniere generation apres une fermeture, sans recharger son image, sa video ni son resultat. ↻ Reinitialiser annule le calcul actif, recharge les valeurs initiales de l'interface et conserve toutes les videos enregistrees.

Sous le reglage de duree, une carte affiche clairement les secondes, le nombre reel d'images finales et les FPS. Par exemple, 4 secondes a 24 FPS affichent 96 images finales. En mode video, elle indique les images de raccord ajoutees selon le FPS reel du clip source.

Le nombre de plans est verrouille a 1 dans tous les modes. Wan recoit toujours l'instruction de produire un seul plan continu, avec la meme scene, le meme sujet, le meme angle de camera et une identite visuelle stable. Les coupes, montages et changements de scene sont aussi ajoutes automatiquement au prompt negatif, meme si le prompt principal est modifie.

La liste de palettes affiche toutes les cartes disponibles sans lignes vides en fin de liste. Les palettes derivees conservent leur numero et leur nom, sans le libelle interne Analyse 500. Dans chaque palette, la couleur la plus sombre est automatiquement placee en dernier. Les cartes de couleurs actives gardent toutes la meme largeur, y compris lorsqu'une ligne contient moins de quatre couleurs.

Quand Garder le style de l'image est active, VJ Loop Studio verrouille aussi le cadrage, l'echelle du sujet, l'arriere-plan et la composition. Le mouvement reste possible dans les elements existants, mais les zooms et recadrages involontaires sont interdits.

Le pourcentage Changement dans le clip reste visible dans les modes Image vers boucle, Video vers boucle et Texte vers video. 1 % produit seulement un mouvement tres leger; 100 % autorise une transformation tres forte pendant le cycle. Ce pourcentage agit uniquement sur l'amplitude du mouvement et de la transformation. Il ne change jamais le style, les matieres ni la palette selectionnee; les options Garder le style et Garder les couleurs restent prioritaires. La valeur est traduite exactement dans la plage Motion Amplitude acceptee par Wan2GP.

Le mouvement par defaut est Automatique (adapte a la source). Il anime les elements deja presents sans imposer, par exemple, une rotation geometrique a une image organique. Les mouvements VJ specialises restent disponibles dans la liste.

Le prompt principal utilise uniquement des formulations descriptives positives. Toutes les interdictions sont envoyees separement dans Prompt negatif — elements a eviter, sous Options avancees. Ce champ est visible et modifiable.

  1. Clique Installer. Le moteur Wan local, son environnement GPU et les dependances sont installes dans VJ Loop Studio.
  2. Clique Run.
  3. Choisis Image vers boucle ou Video vers boucle automatique.
  4. Les modèles essentiels sont préparés pendant l'installation. Certains modèles optionnels peuvent encore être proposés au premier usage. Les checkpoints ne sont pas inclus dans le dépôt car ils sont très volumineux.
  5. Commence avec Apercu rapide 480p, puis utilise Final 720p ou Final 1080p lorsque le mouvement convient. Le 1080p demande nettement plus de temps et de VRAM.
  6. Pendant la generation, la barre d'etat estime le temps restant en minutes et secondes apres les premieres etapes mesurees.

La boucle est toujours active. En mode image, le nombre de segments est automatique: un segment par tranche de cinq secondes (1 a 5 s = 1, 6 a 10 s = 2, etc.). Chaque segment commence sur la vraie derniere image du precedent et seul le dernier revient a l'image initiale. Les jonctions en double sont retirees. Des controles separes permettent de conserver le style et les couleurs de l'image originale. Lorsque la conservation du style est active, les choix de style, composition, densite et profil musical sont ignores afin d'eviter toute contradiction et l'image originale reste la reference visuelle de toutes les images generees. Les reglages Style et Couleurs restent accessibles dans des panneaux repliables; modifier un de ces reglages desactive automatiquement la conservation correspondante et regenere le prompt. L'aperçu de generation echantillonne environ une image par seconde et les affiche dans une galerie de trois colonnes avec neuf vignettes visibles. En mode video, l'application laisse le fichier original intact, extrait automatiquement sa derniere et sa premiere image, analyse les couleurs, l'energie et la direction du mouvement, puis genere de 1 a 15 secondes de raccord entre ces deux images. Les images de raccord en double sont retirees avant d'ajouter la nouvelle partie a la fin d'une copie du clip. La nouvelle video conserve le ratio et le FPS exacts de la source; sa resolution suit le profil 480p, 720p ou 1080p selectionne.

Le bouton Analyser automatiquement l'image ou la video utilise localement Qwen2.5-VL-3B-Instruct. Pour une video, huit images chronologiques sont examinees. L'analyse anglaise de l'identite visuelle, du sujet, des formes, des matieres, de la composition, de la lumiere, des couleurs et du mouvement est ajoutee au prompt Wan. Le modele est préparé dans C:\pinokio\models\huggingface pendant l'installation, charge seulement pendant l'analyse, puis libere de la memoire GPU avant la generation Wan.

API Gradio

L'operation principale est exposee sous le nom generate_vj_loop. Le schema exact est visible dans le lien Use via API au bas de l'interface.

L'analyse visuelle est exposee sous le nom analyze_visual_source.

Le generateur d'image est expose sous le nom generate_vj_image.

Python

Le nombre de parametres de l'API suit l'interface, notamment les 12 emplacements de couleurs et le bouton de preservation du style video. Utilise Client.view_api() pour obtenir le schema exact de la version en cours avant d'appeler generate_vj_loop.

from gradio_client import Client

client = Client("http://127.0.0.1:PORT")
client.view_api()

JavaScript

import { Client } from "@gradio/client";

const app = await Client.connect("http://127.0.0.1:PORT");
const result = await app.predict("/generate_vj_loop", [/* parametres affiches dans Use via API */]);
console.log(result.data);

Le schema HTTP exact est aussi disponible dans le lien Use via API au bas de l'interface.

Curl

Le schéma Gradio contient plusieurs paramètres et peut évoluer avec l'interface. Consulte d'abord la configuration de l'application, puis utilise l'endpoint nommé voulu :

curl http://127.0.0.1:PORT/config
curl -X POST http://127.0.0.1:PORT/gradio_api/call/generate_vj_loop \
  -H "Content-Type: application/json" \
  -d '{"data": ["parametres affiches dans Use via API"]}'

Notes

  • Wan2GP/WanGP est utilise comme moteur integre sous ses propres conditions et licences.
  • VJ Loop Studio ne copie pas les checkpoints Wan dans son depot. L'installation place les modèles de base dans C:\pinokio\models\wan2gp-ckpts, partagé avec Wan2GP. Les modèles optionnels ne sont téléchargés que lorsqu'ils sont sélectionnés.
  • Le generateur d'image utilise FLUX.2 Klein 4B dans le moteur Wan integre. Il ne demande aucune cle API ni application Automatic1111 séparée.
  • Ne lance pas deux generations GPU simultanement dans Wan2GP et VJ Loop Studio.

About

Create and repair seamless VJ loops locally with Wan 2.2 and FLUX.2 in Pinokio.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages