Files
nas-runbooks/common/vps-hermes-nabil-visuels-yasmi.md
T

2.8 KiB
Raw Blame History

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.png sur fond sombre (seuil 120). Hauteur 8,5 % de l'image, positions bas | haut-gauche | haut-droite | bas-droite. Branché dans nyora_mannequin.py ET nyora_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

  1. Logo et produit ne passent JAMAIS par un modèle d'image IA.
  2. Rectangle gris / lettrage flou / logo doublé = l'IA a touché au logo → jeter et régénérer.
  3. Tiers premium obligatoire pour l'essayage virtuel (fidélité broderie).
  4. Sauvegardes : *.bak_20260719 dans /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.