2.8 KiB
VPS hermes-nabil — pipeline visuels Yasmi (logo + scènes tunisiennes)
Contexte : génération de visuels publicitaires Yasmi sur hermes-nabil (VPS Contabo).
Fichiers dans /data/nyora/ du container (docker exec hermes-nabil … via ssh vps.internal).
Problème rencontré (18/07/2026)
Visuels avec logo YASMI illisible, doublé, + rectangle gris opaque. Causes : (1) le lettrage du logo était décrit dans le prompt IA → le modèle l'a dessiné lui-même (flou, doublé) ; (2) artefact d'édition IA (rectangle gris) ; (3) ancien fichier logo = photo 440×1413 non détourée.
Solution (19/07/2026)
nyora_logo.py: surimpression déterministe du logo. Mesure la luminance de la zone d'ancrage →logo_yasmi.png(vert foncé) sur fond clair,logo_yasmi_blanc.pngsur fond sombre (seuil 120). Hauteur 8,5 % de l'image, positions bas | haut-gauche | haut-droite | bas-droite. Branché dansnyora_mannequin.pyETnyora_produit.py.- Prompt mannequin : exige « AUCUN texte, lettrage, filigrane, logo » — ne jamais mentionner YASMI dans un prompt d'image.
nyora_scenes.py: 28 scènes tunisiennes régionales (Nord, Cap Bon, Nord-Ouest, Sahel, Sud-Est, oasis du Sud-Ouest) + 5 profils de mannequins tunisiennes élégantes.--scene tozeur --mannequin chignon.- Variantes logo générées par recoloration PIL (alpha conservé) : blanc + ivoire.
Règles permanentes
- Logo et produit ne passent JAMAIS par un modèle d'image IA.
- Rectangle gris / lettrage flou / logo doublé = l'IA a touché au logo → jeter et régénérer.
- Tiers premium obligatoire pour l'essayage virtuel (fidélité broderie).
- Sauvegardes :
*.bak_20260719dans /data/nyora et /data/SOUL.md.bak_20260719.
Vérification rapide
ssh vps.internal "docker exec hermes-nabil python3 /data/nyora/nyora_scenes.py | head"
ssh vps.internal "docker exec hermes-nabil python3 -c 'import sys;sys.path.insert(0,\"/data/nyora\");from nyora_logo import choisir_variante;print(choisir_variante(\"/data/nyora/out/mannequin_sidi_v1.png\"))'"
Filet de sécurité watermark Google (19/07/2026)
Bug de régression documenté (discuss.ai.google.dev, 01/2026) : le sparkle visible Google peut s'injecter même en accès API sur certains modèles (Nano Banana Pro = gemini-3-pro-image), alors que l'accès API ne devrait normalement porter que le SynthID invisible.
Correctif : nyora_watermark.py (nettoyer_coin) — patch miroir + fondu sur le coin bas-droite, sans dépendance lourde (PIL seul). Branché automatiquement dans nyora_produit.py (décor IA) et nyora_mannequin.py (brut, avant logo).
Test réel du 19/07 sur gemini-3-pro-image via OpenRouter : aucun sparkle visible détecté (analyse pixel + aperçu ASCII du coin). Le filet reste actif par sécurité car le bug est intermittent côté Google.