出图 白底透明图 V2
Dans l'environnement Python dédié du compte Windows actuel, avec u2net CPU et psd-tools. Utilise l'interpréteur explicitement indiqué par runtime.json dans ce répertoire ; lors d'une première migration sans environnement, restaure d'abord l'installation, n'utilise pas le Python système et ne dégrade pas silencieusement en découpage par seuil. Cette version partage le même environnement d'exécution dédié que l'ancienne version pour le même compte, avec un code indépendant.
Convention de livraison
- Les JPG sur fond blanc et les PNG transparents livrés officiellement pour chaque image unique ne doivent pas dépasser 500 Ko (vérifié à 500 000 octets) ; les PSD, aperçus et diagnostics ne sont pas soumis à cette limite. Après l'exportation, vérifie un par un le nombre réel d'octets ; en cas de dépassement, ajuste automatiquement les paramètres de compression, ré-exporte et vérifie à nouveau. Livre uniquement après avoir atteint la limite et réussi le contrôle qualité, sans terminer le traitement directement en raison d'un premier dépassement. Maintenez 800×800, les détails du sujet et l'alpha transparent valide du PNG ; les JPG peuvent optimiser l'encodage et ajuster les paramètres de qualité dans une plage acceptable, les PNG utilisent d'abord une compression sans perte, et lorsque le nombre de couleurs le permet, utilisent un encodage de palette sans perte pixel par pixel, en conservant un alpha transparent cohérent. Le script vérifie à nouveau après la mise en cache et l'écriture officielle selon la limite stricte de 500 000 octets ; l'inventaire enregistre les tentatives de compression, la taille finale et le résultat de la vérification ; le PNG doit être identique au pixel confirmé, l'erreur d'encodage moyenne des pixels JPG ne dépasse pas 5, sinon une erreur est signalée avant l'écriture officielle et le cache de diagnostic est conservé. Ajuste uniquement l'encodage sans modifier l'effet confirmé : pas besoin de reconfirmation. Si après une compression raisonnable le dépassement persiste, ou si continuer la compression nuit à la qualité, enregistre la taille réelle et les ajustements tentés, explique la situation et propose la prochaine étape ; si des changements de taille, de détails du produit, de couleur ou de bord transparent surviennent, le nouvel aperçu nécessite une confirmation, et les images non conformes ne sont pas livrées comme produits finis.
- JPG et PNG fixes à 800×800, le côté le plus long du sujet occupe par défaut 80 % de la toile, centré proportionnellement ; seul un ordre explicite de l'utilisateur permet un ajustement, dans une plage de 50 % à 95 %. Les PSD utilisent une toile carrée haute résolution unifiée par modèle, d'au moins 800 px, calculée en fonction de la zone de découpage et du rapport de chaque image, sans sous-échantillonnage des calques de produit ; la taille réelle de la toile haute résolution est inscrite dans l'inventaire.
- Chaque entrée génère un JPG sur fond blanc et un PNG transparent ; chaque modèle ne génère qu'un seul PSD sur fond blanc et un seul PSD transparent. Le nombre de fichiers officiels pour N images et K modèles est
2N+2K. - Les différentes couleurs d'un même modèle et les différents angles d'une même couleur sont tous des calques RGB de produit indépendants, la transparence du découpage est conservée dans un masque modifiable indépendant, sans multiplier les pixels déjà transparents par le même masque. La plage RGB de l'image source entière est conservée, les zones en dehors du masque peuvent être restaurées ; les détails déjà manquants dans le fichier d'entrée ne peuvent pas être récupérés. Les bords semi-transparents utilisent le RGB révisé haute résolution confirmé.
- Le PSD sur fond blanc comprend, de bas en haut, un fond blanc visible, les calques de produit et le groupe caché « Matériel original (caché) » ; le PSD transparent ne contient pas de fond blanc. Seul le premier calque de produit est visible par défaut, le groupe de matériel original et ses calques internes sont tous cachés. Dans le groupe, conserve les pixels de l'image originale après redressement EXIF, non redimensionnés, et le masque alpha original par couleur/angle, pour faciliter la vérification et le retour en arrière.
- Le nom du produit correspond au PNG correspondant, avec un centrage et un rapport identiques. Le PSD et le produit 800 px sont générés à partir du même candidat haute résolution confirmé ; de légères différences de pixels peuvent apparaître lors de l'interpolation entre tailles, le PSD haute résolution n'est pas déclaré comme identique pixel par pixel au PNG. Le groupe d'images originales non redimensionnées sert à conserver les détails originaux ; les calques de pixels ordinaires peuvent subir un rééchantillonnage lors de redimensionnements répétés.
- Entrée en lecture seule. Les aperçus, caches, diagnostics, inventaires et journaux sont placés en dehors du répertoire de sortie officiel. En cas de conflit, arrête, ne remplace pas les fichiers existants.
- Les entrées avec un canal transparent valide existant sont directement conservées et vérifiées, sans nouveau découpage ou ajustement des bords par défaut ; définir
repair_existing_alpha:trueuniquement si l'utilisateur demande une modification des bords. - Les images peuvent être placées dans des dossiers d'images sur fond blanc/transparent, ou dans le même répertoire de modèle ; les PSD sont toujours dans le répertoire du modèle. Conserve la dénomination et le choix de répertoire déjà confirmés par l'utilisateur.
Chronométrage des étapes et inspection humaine
Chaque tâche utilise un --journal-root indépendant, toutes les commandes d'entrée utilisent le même répertoire. launch.py écrit le début avant l'exécution réelle, la fin après l'exécution, et en cas d'erreur, écrit l'erreur et le temps écoulé et le vide immédiatement sur le disque ; les étapes incluent l'environnement, la vérification de la tâche, le découpage, l'ajustement des bords, le diagnostic, l'écriture PSD et la revalidation. Les ré-exécutions conservent l'enregistrement précédent, les étapes AI imbriquées ne sont pas cumulées. Ne peut pas contourner l'entrée et exécuter nu en prétendant un chronométrage complet.
L'utilisateur répond « commencer la vérification » pour appeler check-start ; répond « vérification terminée » ou confirme explicitement l'effet après le début de la vérification pour check-finish. Prend en charge check-pause/check-resume, sans compter le temps d'attente de réponse humaine comme temps de vérification. Ne peut pas créer artificiellement une fin sans début. Voir flux de chronométrage pour les commandes détaillées. Après la tâche, workflow-finish et timing-status ; si nécessaire, synchroniser dans le skill de prise de preuves.
Démarrer la tâche
Examine l'image originale, détermine clairement s'il faut conserver l'intégralité du mannequin, seulement le produit ou un objet spécifié. Les affiches pleine page et les collages multi-personnes ne peuvent pas être découpés comme des articles uniques. Collecte en une fois la plage d'entrée non clarifiée, le modèle, la couleur, l'angle/numéro de la même couleur, l'emplacement de sortie et le mode de répertoire d'images ; ne répète pas les choix déjà effectués, ne devine pas le modèle/la couleur à partir du nom de fichier, ne jette pas les images de la même couleur.
Pour les arrière-plans complexes, spécifie cutout:rembg ; pour les entrées transparentes existantes, utilise auto. Lorsque l'image originale est tronquée par les bords du cadre de prise de vue, enregistre la limitation d'entrée, sans reconstituer l'article ou la personne.
Pour les corrections locales, utilise keep_mask (restaure le RGBA de l'image originale), remove_mask (efface l'arrière-plan) et protect_mask (protège les pixels de découpage existants) par image, sans écrire les coordonnées d'une image particulière dans un script générique. La taille du masque correspond à l'image originale après redressement EXIF ; le blanc agit, le noir ne fait rien, le gris contrôle l'intensité. Signale une erreur en cas de chevauchement entre les zones supprimées et les zones conservées/protégées. review_regions peut marquer les zones de l'aperçu 800×800 qui doivent être agrandies et vérifiées. Voir flux de travail et fiche de tâche pour les champs et exemples.
La fiche de tâche utilise le schema_version 2. Voir flux de travail et fiche de tâche pour le format, la CLI et les enregistrements de vérification ; doit être lu lors de la première utilisation de cette version. Pour voir l'aide de la commande, exécute :
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "<répertoire du skill>\scripts\run_bg.ps1" -h
Auto-inspection et réparations limitées
preview crée un cache unique pour toutes les images, sauvegardant le hachage de l'image source, le matériel original redressé EXIF, le découpage à la résolution d'origine, la première version, jusqu'à deux tours de candidats révisés à la résolution d'origine, les candidats confirmés 800×800 et les images de diagnostic. Chaque matériel source haute résolution et chaque candidat ont un hachage de fichier et RGBA, la confirmation lie le candidat haute résolution actuellement sélectionné ; avant l'exportation, vérifie que l'image 800 px générée par la mise en page définie à partir du candidat haute résolution est identique pixel par pixel au candidat confirmé. Le modèle ne s'exécute que lorsque le découpage est nécessaire, les exportations ultérieures ne refont pas d'inférence.
- Les vérifications numériques ne signalent que les risques suspects, sans déclarer directement les « pixels sombres » comme des bords noirs. Les produits noirs, les cheveux, les cordes et les bords sombres d'origine peuvent être normaux ; les petites zones connectées ne sont pas nécessairement des résidus d'arrière-plan.
- La réparation automatique compare au maximum deux plages de purification des couleurs des bords semi-transparents avec des limites ; chaque changement de canal ne dépasse pas 16/24, n'opère que dans les zones suspectes des bords, maintient l'alpha transparent parfaitement cohérent, protège les lignes fines et l'intérieur du sujet opaque. Les contours locaux et les trous internes doivent utiliser des masques explicites, ne peuvent pas être devinés et supprimés par couleur ou taille de zone, ni le contour unifié rétréci, ni les fragments supprimés, ni le produit redessiné.
- À chaque tour, vérifie la couleur interne, les pixels de la zone protégée et la perte du sujet. Les candidats échouant à la vérification ne peuvent pas être sélectionnés ; si le risque ne diminue pas, conserve la première version. Maximum deux tours, si des problèmes persistent, conserve l'état actuel et les confie à l'humain.
- Les images transparentes existantes n'appliquent pas de réparation par défaut. Lorsque la tâche fournit
protect_mask, elle doit être de la même taille que l'image originale corrigée EXIF, et sa zone blanche est entièrement conservée.
Le diagnostic génère simultanément des fonds blancs, gris, noirs et damier transparent, et fournit pour la même zone locale une comparaison des pixels originaux à 100 % sur fond blanc/gris foncé/noir ; inclut en priorité les review_regions spécifiés, puis complète les bords suspects et les contours. Doit effectivement visualiser chaque image de diagnostic avec un outil graphique, en se concentrant sur les bords de chapeaux, la peau, les cheveux, les cordes fines, les matériaux transparents et les résidus d'arrière-plan. L'absence d'alarme numérique ne signifie pas une qualité visuelle acceptable.
Après la relecture AI, utilise review pour enregistrer le statut passed/hold/rejected de chaque image et la base effectivement vue ; si un risque suspect est jugé normal, explique la raison. En cas d'incapacité à juger, mettre en hold, sans fabriquer de compte-rendu visuel. Si le poste autonome sans surveillance ne peut pas appeler de modèle visuel, maintenir l'état visuel à confirmer ; ce script n'intègre pas de service de vision à distance.
Aperçu et confirmation
Affiche toutes les images originales avec la correspondance modèle/nom de couleur/angle, tous les aperçus, le nombre estimé de fichiers et le répertoire. Peut paginer pour les grandes séries, mais avant la confirmation finale, doit avoir un aperçu complet couvrant toute la série ; si des problèmes suspects existent, joint des comparaisons locales.
Demande l'effet (confirmer / petit 7% / grand 7% / personnalisé) et les options PS : ne pas utiliser PS, retoucher maintenant l'image spécifiée, entrer dans la file d'attente de retouches PS, et lorsque inactif, saisir « commencez la retouche PS » pour démarrer automatiquement la file d'attente. Ne répète pas les choix déjà autorisés. Lorsque l'utilisateur signale des défauts tels que des bords noirs, la qualité est prioritaire sur la « confirmation du rapport » dans la même réponse.
N'exécute approve qu'après la confirmation explicite de la version actuelle par l'utilisateur, le champ de preuve enregistre les paroles originales de confirmation ou une source vérifiable, puis exécute batch. L'auto-vérification AI, la sélection par simulation, le silence et la confirmation d'une ancienne version ne constituent pas une confirmation d'image réelle par l'utilisateur actuel. Après modification de l'image source, de la fiche de tâche, d'un masque, du code de traitement, de l'aperçu/diagnostic, du candidat sélectionné ou de l'enregistrement de relecture, l'ancienne confirmation devient invalide. L'enregistrement de confirmation lie en même temps le hachage du fichier PNG et le hachage des pixels RGBA décodés ; l'exportation officielle ne lit que le cache confirmé, ne refait pas d'inférence.
Lorsque l'utilisateur pose une question, enregistre « paroles originales → version correspondante → action de réparation → avant/après → statut de reconfirmation ». Si l'humain donne un avis mais n'a pas encore vérifié, ne pas enregistrer comme boucle de vérification humaine fermée ; un problème découvert par l'AI seul ne peut pas être enregistré comme correction d'erreur par un employé. Ce skill n'attribue pas automatiquement de notes de performance.
Exportation officielle et vérification
batch n'utilise que le cache RGBA confirmé, met d'abord en cache tous les JPG, PNG et PSD, puis après réouverture et vérification, écrit dans le répertoire officiel en exclusivité :
- Les pixels RGBA décodés du PNG correspondent au candidat confirmé (encodage de palette sans perte autorisé), l'alpha transparent est valide ; les coins du JPG sont blancs, la taille correcte, la différence de compression dans la tolérance.
- Réouvre les deux PSD haute résolution, vérifie la taille réelle de la toile, le nom des calques, la visibilité par défaut, le RGB du produit et les masques indépendants et leur décalage, vérifie la composition haute résolution en basculant calque par calque ; vérifie que les matériaux originaux du groupe caché sont conservés sans redimensionnement pixel par pixel, et vérifie que la désactivation du masque du produit permet de restaurer la zone masquée. La composition haute résolution autorise les erreurs d'arrondi RGB, le masque et le matériel original doivent être exactement identiques.
- Après l'écriture, vérifie à nouveau le nombre, le hachage et le format ; un échec PSD ou une interruption d'écriture ne peut pas être signalé comme un lot terminé, ni une tâche échouée transférée dans une file d'attente PS pour simuler un succès.
Les statuts de vérification technique, de vérification visuelle AI et de confirmation humaine sont conservés séparément. Les lots contenant hold/rejected ne sont pas livrés comme réussis ; les résultats normaux et les exceptions sont traités de manière centralisée dans une carte de confirmation de lot.
Photoshop et vérification
Les JPG sur fond blanc, PNG transparents et PSD à calques n'ont pas besoin de Photoshop. La question de retouche conserve « autoriser maintenant une retouche PS locale de l'image spécifiée » et « ne pas utiliser PS pour le moment, conserver l'état de retour », et ajoute un troisième élément : « entrer dans la file d'attente de retouches PS, et lorsqu'inactif, saisir « commencez la retouche PS » pour démarrer automatiquement la file d'attente ». L'entrée dans la file ne sauvegarde que l'image claire, la zone de retouche, le hachage du fichier original et la position de la tâche, sans occuper PS à ce moment-là ; ne pas remettre en file les images déjà terminées.
Lorsque l'utilisateur saisit explicitement « commencez la retouche PS » dans le chat (en ignorant uniquement la casse et les espaces, compatible avec « commencez la retouche ps », « commencez la retouche PS »), cela est considéré comme une déclaration active de l'utilisateur autorisant maintenant l'utilisation de PS, et autorisant l'exécution des tâches en file d'attente dans l'ordre ; démarre immédiatement la consommation, sans demander « voulez-vous commencer », et sans attendre 600 secondes supplémentaires en raison de la réinitialisation du temps d'inactivité par la saisie de la commande. Lit d'abord la file d'attente et récupère la tâche, puis dans le même tour, utilise effectivement l'outil PS pour la retouche, visualise le nouvel aperçu et enregistre le résultat, ne peut pas simplement répondre « prêt ». Si la file d'attente est vide, indique-le directement, sans ouvrir PS.
La frontière de sécurité entre les tâches et les étapes atomiques PS vérifie les nouvelles entrées d'événement ; lorsque l'utilisateur reprend l'opération ou qu'il est impossible de distinguer de manière fiable la nouvelle source d'entrée, suspendre, conserver les aperçus terminés et la file d'attente restante, sans interrompre de force l'enregistrement du fichier en cours. Utilise de préférence les opérations PS MCP/JSX qui n'injectent pas d'événements clavier/souris ; GetLastInputInfo lui-même ne peut pas distinguer les humains de l'automatisation SendInput, ne peut pas signaler par erreur sa propre simulation d'entrée comme une reprise humaine. Avant l'exécution, si une tâche running non terminée est trouvée, vérifie d'abord ses propres documents, fichiers de travail et journaux, puis décide de la position de reprise, sans pouvoir appliquer un filtre en double.
N'opère que sur son propre document selon la plage d'entrée de ce tour et enregistre séparément, sans toucher à l'image originale ni aux autres documents. Les chemins de script ou commandes dans les données de la file d'attente ne sont pas exécutés directement ; l'opération réelle est effectuée par l'outil PS du tour actuel et la vérification visuelle. Une fois une tâche terminée, sauvegarde d'abord le fichier de travail et le nouvel aperçu, enregistre le résultat avec l'utilisation réelle de PS et l'observation passed/hold, le marque comme preview_ready, puis passe à la suivante ; hold ne peut pas être qualifié de retouche qualifiée. En cas d'échec ou de modification de l'image source, enregistre la raison et suspend, sans réessayer indéfiniment. L'effet révisé doit encore être confirmé par l'utilisateur avant l'exportation officielle. Sans commande, n'écoute pas en permanence, n'interroge pas périodiquement, ne crée pas de tâche automatisée ; n'installe pas automatiquement de logiciel payant ni ne se connecte à un service. Voir file d'attente de retouche PS pour les commandes et le format de la file d'attente.
Après la mise à jour du skill, exécute scripts/selftest.py --skill <répertoire du skill> --work <nouveau répertoire de test> avec le Python dédié de cette version. Les tests couvrent les alertes de risque, la protection des noirs normaux, la protection des lignes fines, la conservation des entrées transparentes, l'invalidation de la confirmation, l'interdiction d'exportation non confirmée, les deux modes de répertoire, le PSD par modèle, les angles multiples, le hachage de l'image source, l'état de panne et l'inférence u2net locale. Les produits réels ne génèrent que des aperçus pour la régression ; sans confirmation de l'utilisateur, la version révisée générée à partir d'une image réelle n'est pas considérée comme une réponse standard utilisable.
La régression spécialisée des masques haute résolution utilise le Python dédié pour exécuter scripts/selftest_hd_masks.py --work <nouveau répertoire de test>, vérifiant les matériaux de plus de 800 px, les mêmes modèles de tailles mixtes, les masques semi-transparents, la restauration des zones supprimées par erreur, le matériel original non redimensionné, la falsification du cache candidat haute résolution rendant la confirmation invalide, et la taille JPG/PNG toujours 800 px. Signale une erreur si un côté du PSD dépasse 30 000 px, sans réduire silencieusement le fichier source haute résolution.
Régression spécialisée des règles de compression : exécute scripts/selftest_image_size.py --work <nouveau répertoire de test> avec le Python dédié spécifié par runtime.json, vérifiant la compression automatique des JPG/PNG dépassant la limite, la perte de pixels PNG et d'alpha semi-transparent, la limite de 500 000 octets, la revérification après l'écriture officielle, et l'arrêt avant l'écriture en cas d'impossibilité de concilier taille et qualité.