Créer un Pack de Stickers WeChat
Créez une production complète de 20 stickers à partir d'image(s) de référence. Préservez les originaux, générez chaque sticker séparément, préparez les assets de publication WeChat, validez et empaquetez.
Compétence et outils compagnons requis
Avant de générer des images, lisez et suivez entièrement la compétence imagegen installée. Utilisez son chemin de génération d'image intégré par défaut. Ne basculez pas silencieusement vers un repli CLI/API.
Utilisez :
image_genintégré pour l'ancre du personnage, les 20 artworks de stickers indépendants, la bannière, la couverture et l'icône ;view_imagepour l'inspection des références et l'assurance qualité visuelle ;scripts/sticker_pack.pypour la prise en charge déterministe, la composition de texte, la validation, la planche contact et l'empaquetage ;- les sources officielles WeChat/Tencent pour actualiser les règles de publication sensibles au facteur temps.
Résolvez <skill-dir> vers le répertoire contenant ce SKILL.md ; ne supposez pas que le répertoire de travail de l'espace de travail est le répertoire de la compétence.
Contrat non négociable
- Produisez exactement 20 stickers finaux, numérotés
01.pngà20.png. - Générez les 20 artworks de stickers avec 20 appels distincts à
image_genintégré. N'utilisez jamais un collage, une image multi-panneaux, une planche contact, un seul appel avecn, ou un artwork dupliqué comme substitut. - Générez d'abord une ancre de personnage distincte, sans texte. L'ancre ne compte pas parmi les 20.
- Préservez chaque fichier de référence fourni octet par octet avec son nom de fichier, extension, EXIF, taille et SHA-256 d'origine. Ne réécrivez, transcodifiez, rognez ou ne dépouillez jamais la copie archivée.
- Préservez chaque artwork brut généré en haute résolution accepté et chaque master final haute résolution. Gardez les sorties de tentative rejetées sous
versions/lorsqu'elles sont utiles pour l'audit, mais ne les substituez jamais à un emplacement accepté. - Conservez les planches contact uniquement sous prévisualisation/révision ; ne les placez jamais dans le package de soumission.
- N'inventez pas de propriété, de droits d'auteur, de consentement à l'image, de divulgation d'IA ou de statut d'approbation.
- Marquez la session
ready-to-submituniquement lorsque les 20 stickers, les actifs de publication, les métadonnées, les validations manuelles et les contrôles de droits sont réussis.
Contrat d'entrée et valeurs par défaut personnelles
Nécessitez uniquement une ou plusieurs images de référence pour les sessions normales. Chargez assets/creator-profile.json pour les valeurs par défaut réutilisables de cet utilisateur.
Si copyright_holder est vide, posez une question d'intégration pour le nom exact du soumissionnaire/détenteur des droits, enregistrez-le dans le profil et continuez. Ne substituez jamais l'identité du responsable du dépôt à un autre utilisateur.
Appliquez les sélections enregistrées du détenteur des droits et de publication. Définissez explicitement les booléens de droits et de portrait de la session en cours après avoir inspecté la référence. Pour une auto-référence fournie privément, traitez l'invocation comme l'attestation de l'utilisateur uniquement en l'absence d'informations contraires. Si l'image est une personnalité publique, une œuvre tierce, un artwork téléchargé, une propriété intellectuelle de marque visible, ou une personne dont le consentement n'est pas clair, posez une question concise sur les droits avant de déclarer le package prêt à être soumis.
Si plusieurs images montrent clairement le même sujet, combinez-les comme références d'identité. Si elles montrent des sujets principaux différents et que le sujet visé n'est pas clair, posez une question de sélection du sujet.
Structure de sortie
Créez un nouveau répertoire de session sous output/wechat-sticker-pack/<slug>-<timestamp>/ :
00-reference-originals/ entrées utilisateur non modifiées + hachages
01-plan/ pack.json, plan CSV, bible du personnage/style, prompts
02-source-assets/
character-anchor.png
generated-raw/stickers/ 20 sorties imagegen non modifiées
generated-raw/assets/ sources de bannière, couverture, icône
generated-masters/ 20 masters haute résolution avec texte composé
03-submission/
stickers/ 01.png ... 20.png
assets/ bannière, couverture transparente, icône transparente
metadata/ copie publique, significations, déclaration droits/IA
qa/ JSON/TXT QA et hachages
04-preview/contact-sheet.png
archives/<slug>-submission.zip
archives/<slug>-full-archive.zip ou <slug>-draft-full-archive.zip
state.json état local uniquement ; exclure des archives
Flux de travail
1. Actualiser les règles de la plateforme
Lisez references/wechat-publish-spec.md. Consultez la plateforme officielle des stickers WeChat et le code de ressource officiel actuel avant chaque session de production lorsque l'accès Internet est disponible. Si une exigence prise en charge a changé, enregistrez changed-unsupported, arrêtez avant la génération, et mettez à jour la compétence et les tests avant de reprendre ; ne prétendez jamais à la compatibilité en modifiant uniquement les métadonnées de la session.
Si les règles actuelles ne peuvent pas être vérifiées, continuez uniquement en tant que brouillon avec l'instantané daté et enregistrez rules_status: snapshot-unverified plus la date de vérification réelle. Pour un changement détecté, enregistrez rules_change_details ; le script bloque la génération jusqu'à ce que la compétence soit mise à jour.
2. Inspecter les références et établir les droits
Inspectez chaque référence avec view_image. Étiquetez les rôles explicitement : référence d'identité, référence de tenue optionnelle, référence de style optionnelle.
Construisez une bible du personnage à partir des caractéristiques visibles et non sensibles uniquement. N'inférez pas la profession, la santé, les relations, l'ethnie ou la personnalité à partir de l'apparence.
Utilisez les valeurs par défaut personnelles de assets/creator-profile.json sauf si la demande actuelle les remplace. Suivez references/rights-and-ai.md.
3. Planifier exactement 20 stickers
Lisez references/content-planning.md avant d'écrire le plan. Créez un pack.json figé qui correspond à references/pack-schema.json et contient :
- nom de l'album actuel, introduction, droits d'auteur, sélections de plateforme et champs droits/IA ;
- exactement 20 entrées uniques avec les IDs
01–20; - intention unique, texte exact, mot de signification, expression, pose/action, accessoire, cadrage, zone de texte et prompt artistique ;
- une bible du personnage, une bible de style, une liste d'évitement partagée, un prompt d'ancre et des prompts d'actifs de publication.
Ne réutilisez pas automatiquement les phrases fixes du pack précédent. Honorez d'abord les phrases fournies par l'utilisateur, puis remplissez dynamiquement les rôles de communication restants.
Copiez le modèle de profil dans le plan de session et initialisez la session :
python <skill-dir>/scripts/sticker_pack.py init \
--run-dir <run-dir> \
--spec <prepared-pack.json> \
--reference <reference-image> [--reference <image> ...]
4. Générer et enregistrer une ancre de personnage
Utilisez la/les référence(s) originale(s) pour générer une ancre de personnage Q-version neutre, sans texte. Préservez les caractéristiques d'identité visibles clés et une tenue simplifiée. Gardez un arrière-plan de production uni et sans accessoires, mots, logos, signature, bordure ou filigrane.
Enregistrez le prompt d'ancre figé exact en UTF-8, puis enregistrez le fichier généré :
python <skill-dir>/scripts/sticker_pack.py import-art \
--run-dir <run-dir> --kind anchor --source <anchor.png> \
--generator builtin-imagegen --prompt-file <anchor-prompt.txt>
5. Générer 20 artworks de stickers indépendants sans texte
Lisez references/prompt-templates.md. Pour chaque élément du plan figé :
- Appelez
image_genintégré une fois avec la/les référence(s) originale(s) plus la même ancre de personnage. - Répétez les invariants d'identité et de style partagés.
- Modifiez uniquement l'expression, la pose/action, l'accessoire, le cadrage et la zone de texte réservée planifiés.
- Générez un artwork carré autonome sans mots ni marques ressemblant à du texte.
- Inspectez l'identité, l'action, le recadrage, l'arrière-plan, le texte parasite, le filigrane et la conformité une-seule-image.
- Importez l'image brute acceptée :
python <skill-dir>/scripts/sticker_pack.py import-art \
--run-dir <run-dir> --kind sticker --slot <01..20> --source <generated.png> \
--generator builtin-imagegen --prompt-file <slot-prompt.txt>
Politique de nouvelle tentative :
- réessayez une fois en cas d'échec de l'outil avec le même prompt ;
- effectuez une correction ciblée du prompt pour une dérive d'identité, une action erronée, un recadrage, un texte parasite ou une sortie multi-panneaux ;
- utilisez la/les référence(s) + ancre + meilleure tentative pour une troisième tentative ciblée ;
- arrêtez après trois tentatives échouées pour un emplacement, terminez le travail restant sûr et marquez la session comme brouillon/non-prête. Ne comblez jamais le vide avec un doublon.
6. Composer le texte exact et les fichiers de stickers de publication
Utilisez le moteur de rendu déterministe au lieu de faire confiance à la lettre chinoise générée :
python <skill-dir>/scripts/sticker_pack.py render-stickers --run-dir <run-dir>
Le moteur de rendu préserve les fichiers imagegen bruts, crée des masters haute résolution avec le texte exact planifié, produit des PNG de téléchargement 240×240, supprime les EXIF dérivés et écrit un reçu contenant le texte, les points de code, la police, le hachage source, le hachage de sortie et la mise en page.
Si le moteur de rendu ne peut pas adapter le texte exact de manière lisible, révisez uniquement le texte ou la mise en page de cet élément du plan avant le rendu ; ne tronquez jamais silencieusement ou ne réduisez jamais en dessous du minimum.
7. Générer les actifs de publication
Générez trois actifs distincts avec des appels intégrés séparés :
- bannière de détail : scène d'histoire opaque et colorée, pas de texte/chiffres, pas d'arrière-plan blanc ou transparent ;
- couverture d'album : avant-corps/corps entier reconnaissable sur un fond chroma-key parfaitement plat, pas de texte ni de contour blanc ;
- icône de chat : tête de face uniquement sur le même fond chroma-key plat, pas de mains, texte, décoration, contour blanc ou cadre.
Choisissez une couleur clé absente du sujet : #00ff00 par défaut, ou #ff00ff lorsque le sujet/la tenue contient du vert. Figez ce choix dans les prompts des actifs et la commande de suppression.
Supprimez le chroma key de la couverture/icône avec l'assistant requis par la compétence imagegen. Validez le résultat alpha ; réessayez une fois avec --edge-contract 1 uniquement si une frange persiste.
Importez les sorties chroma non modifiées avant la suppression, puis importez la bannière acceptée et la couverture/icône déjà transparente :
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind cover-chroma --source <cover-chroma.png> --generator builtin-imagegen --prompt-file <cover-prompt.txt>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind icon-chroma --source <icon-chroma.png> --generator builtin-imagegen --prompt-file <icon-prompt.txt>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind banner --source <banner> --generator builtin-imagegen --prompt-file <banner-prompt.txt>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind cover --source <cover-alpha.png> --generator local-chroma-removal --chroma-key <#RRGGBB> --edge-contract <0..3>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind icon --source <icon-alpha.png> --generator local-chroma-removal --chroma-key <#RRGGBB> --edge-contract <0..3>
python <skill-dir>/scripts/sticker_pack.py prepare-assets --run-dir <run-dir>
8. QA visuelle et validations manuelles
Créez la planche contact interne :
python <skill-dir>/scripts/sticker_pack.py contact-sheet --run-dir <run-dir>
Inspectez les 20 stickers finaux individuellement et dans la planche. Vérifiez la cohérence du personnage, le texte visible exact, les actions/silhouettes uniques, la lisibilité à 240×240, l'absence de filigrane/logo/charabia et l'absence de panneaux accidentels.
Inspectez la bannière, la couverture et l'icône à la taille finale. Ensuite, définissez chaque champ manual_review applicable dans 01-plan/pack.json sur true. Ne confirmez pas un champ que vous n'avez pas réellement examiné.
9. Valider et empaqueter
python <skill-dir>/scripts/sticker_pack.py validate --run-dir <run-dir> --strict
python <skill-dir>/scripts/sticker_pack.py package --run-dir <run-dir>
L'archive de téléchargement uniquement doit utiliser la liste blanche fixe du script et exclure les originaux, les artworks bruts, les masters, les prompts, les planches contact, l'état, les fichiers supplémentaires et les chemins absolus locaux. L'archive complète doit inclure les originaux identiques octet par octet, les sources, les plans, les prompts figés, le journal de génération nettoyé, les fichiers de soumission, la QA et la provenance, mais exclure l'état local uniquement et la récursion d'archive. Avertissez que l'archive complète peut conserver les EXIF/GPS d'origine et ne doit pas être partagée comme package de téléchargement public.
Si les droits ou une autre étape de soumission restent non résolus, créez uniquement un brouillon d'archive clairement marqué :
python <skill-dir>/scripts/sticker_pack.py package --run-dir <run-dir> --full-only
Cela produit <slug>-draft-full-archive.zip et met en quarantaine tout ZIP de soumission obsolète afin qu'il ne puisse pas être confondu avec un package prêt actuel.
Point de contrôle d'achèvement
Signalez le succès uniquement lorsque la validation et l'intégrité de l'archive sont réussies :
20/20 stickers réussisactifs de publication réussisréférences originales préservéesprofil de droits confirmédéclaration IA préparéestatut : ready-to-submit
Sinon, signalez draft/not-ready avec l'emplacement ou le point de contrôle exact ayant échoué. Fournissez toujours les chemins absolus vers les deux archives, le répertoire de soumission, le fichier de copie/signification et le rapport QA.
Routage des références
- Lisez
references/content-planning.mdpour chaque nouveau pack. - Lisez
references/prompt-templates.mdavant la génération d'images. - Lisez
references/wechat-publish-spec.mdavant la planification ou la validation des actifs de la plateforme. - Lisez
references/rights-and-ai.mdà chaque fois qu'une personne réelle, une image tierce, un droit d'auteur, un droit à l'image ou une divulgation d'IA est impliqué. - Utilisez
references/pack-schema.jsonlors de la création ou de la réparation depack.json.