Construir Pacote de Figurinhas WeChat
Crie uma produção completa de ponta a ponta de 20 figurinas a partir de imagem(ns) de referência. Preserve os originais, gere cada figurinha separadamente, prepare os assets de publicação do WeChat, valide e empacote.
Habilidade complementar e ferramentas necessárias
Antes de gerar imagens, leia e siga completamente a habilidade imagegen instalada. Use seu caminho de geração de imagem integrado por padrão. Não mude silenciosamente para fallback de CLI/API.
Use:
image_genintegrado para a âncora do personagem, 20 artworks de figurinha independentes, banner, capa e ícone;view_imagepara inspeção de referências e QA visual;scripts/sticker_pack.pypara recebimento determinístico, composição de texto, validação, folha de contato e empacotamento;- Fontes oficiais WeChat/Tencent para atualizar regras de publicação sensíveis ao tempo.
Resolva <skill-dir> para o diretório que contém este SKILL.md; não assuma que o diretório de trabalho do workspace é o diretório da habilidade.
Contrato inegociável
- Produza exatamente 20 figurinas finais, numeradas
01.pnga20.png. - Gere as 20 artworks de figurinha com 20 chamadas distintas do
image_genintegrado. Nunca use colagem, imagem multi-painel, folha de contato, uma chamada comnou artwork duplicada como substituto. - Gere uma âncora de personagem separada, sem texto. A âncora não conta para as 20.
- Preserve cada arquivo de referência fornecido byte por byte com seu nome de arquivo original, extensão, EXIF, tamanho e SHA-256. Nunca sobrescreva, transcodifique, recorte ou remova a cópia arquivada.
- Preserve cada artwork bruta gerada em alta resolução aceita e cada mestre final em alta resolução. Mantenha saídas de retentativas rejeitadas sob
versions/quando forem úteis para auditoria, mas nunca as substitua por um slot aceito. - Mantenha folhas de contato apenas sob preview/revisão; nunca as coloque no pacote de submissão.
- Não invente propriedade, direitos autorais, consentimento de retrato, divulgação de IA ou status de aprovação.
- Marque a execução como
ready-to-submitsomente quando todas as 20 figurinas, assets de publicação, metadados, portões de revisão manual e portões de direitos passarem.
Contrato de entrada e padrões pessoais
Exija apenas uma ou mais imagens de referência para execuções normais de propriedade própria. Carregue assets/creator-profile.json para os padrões reutilizáveis deste usuário.
Se copyright_holder estiver em branco, faça uma pergunta de integração para o nome exato do detentor dos direitos autorais/submissor real, salve-o no perfil e continue. Nunca substitua a identidade do mantenedor do repositório por outro usuário.
Aplique o detentor de direitos autorais e as seleções de publicação salvos. Defina os booleanos de direitos e retrato da execução atual explicitamente após inspecionar a referência. Para uma autoreferência fornecida privadamente, trate a invocação como a atestação do usuário apenas quando não houver informações contrárias. Se a imagem for de uma figura pública, trabalho de terceiros, artwork baixado, IP de marca visível ou uma pessoa cujo consentimento não esteja claro, faça uma pergunta concisa sobre direitos antes de declarar o pacote pronto para submissão.
Se várias imagens mostrarem claramente o mesmo sujeito, combine-as como referências de identidade. Se mostrarem sujeitos primários diferentes e o sujeito pretendido não estiver claro, faça uma pergunta de seleção de sujeito.
Estrutura de saída
Crie um novo diretório de execução sob output/wechat-sticker-pack/<slug>-<timestamp>/:
00-reference-originals/ entradas do usuário intactas + hashes
01-plan/ pack.json, CSV do plano, bíblia do personagem/estilo, prompts
02-source-assets/
character-anchor.png
generated-raw/stickers/ 20 saídas intactas do imagegen
generated-raw/assets/ fontes do banner, capa, ícone
generated-masters/ 20 mestres em alta resolução com texto composto
03-submission/
stickers/ 01.png ... 20.png
assets/ banner, capa transparente, ícone transparente
metadata/ cópia pública, significados, declaração de direitos/IA
qa/ QA JSON/TXT e hashes
04-preview/contact-sheet.png
archives/<slug>-submission.zip
archives/<slug>-full-archive.zip ou <slug>-draft-full-archive.zip
state.json estado apenas local; excluir dos arquivos
Fluxo de trabalho
1. Atualizar regras da plataforma
Leia references/wechat-publish-spec.md. Navegue pela Plataforma Oficial de Figurinhas WeChat e pelo código de recurso oficial atual antes de cada execução de produção quando o acesso à internet estiver disponível. Se um requisito suportado tiver mudado, registre changed-unsupported, pare antes da geração e atualize a habilidade e os testes antes de retomar; nunca reivindique compatibilidade alterando apenas os metadados da execução.
Se as regras atuais não puderem ser verificadas, continue apenas como um rascunho com o snapshot datado e registre rules_status: snapshot-unverified mais a data real da verificação. Para uma mudança detectada, registre rules_change_details; o script bloqueia a geração até que a habilidade seja atualizada.
2. Inspecionar referências e estabelecer direitos
Inspecione cada referência com view_image. Rotule as funções explicitamente: referência de identidade, referência de roupa opcional, referência de estilo opcional.
Construa uma bíblia do personagem a partir de características visíveis e não sensíveis apenas. Não infira ocupação, saúde, relacionamentos, etnia ou personalidade da aparência.
Use os padrões pessoais de assets/creator-profile.json a menos que a solicitação atual os substitua. Siga references/rights-and-ai.md.
3. Planejar exatamente 20 figurinas
Leia references/content-planning.md antes de escrever o plano. Crie um pack.json congelado que corresponda a references/pack-schema.json e contenha:
- nome do álbum atual, introdução, direitos autorais, seleções de plataforma e campos de direitos/IA;
- exatamente 20 entradas únicas com IDs
01–20; - intenção única, texto exato, palavra de significado, expressão, pose/ação, adereço, enquadramento, zona de texto e prompt de arte;
- uma bíblia do personagem, bíblia de estilo, lista de evitação compartilhada, um prompt de âncora e prompts de asset de publicação.
Não reutilize as frases fixas do pacote anterior automaticamente. Honre as frases fornecidas pelo usuário primeiro, depois preencha dinamicamente as funções de comunicação restantes.
Copie o modelo de perfil para o plano de execução e inicialize a execução:
python <skill-dir>/scripts/sticker_pack.py init \
--run-dir <run-dir> \
--spec <prepared-pack.json> \
--reference <reference-image> [--reference <image> ...]
4. Gerar e registrar uma âncora do personagem
Use a(s) referência(s) original(is) para gerar uma âncora de personagem Q-version neutra, sem texto. Preserve características de identidade visíveis chave e uma roupa simplificada. Mantenha um fundo de produção simples e sem adereços, palavras, logotipos, assinatura, borda ou marca d'água.
Salve o prompt de âncora congelado exato como texto UTF-8, depois registre o arquivo gerado:
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. Gerar 20 artworks de figurinha independentes, sem texto
Leia references/prompt-templates.md. Para cada item do plano congelado:
- Chame o
image_genintegrado uma vez com a(s) referência(s) original(is) mais a mesma âncora do personagem. - Repita as invariantes compartilhadas de identidade e estilo.
- Altere apenas a expressão planejada, pose/ação, adereço, enquadramento e zona de texto reservada.
- Gere uma artwork quadrada independente sem palavras ou marcas semelhantes a texto.
- Inspecione identidade, ação, corte, fundo, texto disperso, marca d'água e conformidade de uma única imagem.
- Importe a imagem bruta aceita:
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>
Política de retentativa:
- retente uma falha de ferramenta uma vez com o mesmo prompt;
- execute uma correção de prompt direcionada para desvio de identidade, ação errada, corte, texto disperso ou saída multi-painel;
- use referência(s) + âncora + melhor tentativa para uma terceira tentativa direcionada;
- pare após três tentativas falhas para um slot, termine o trabalho seguro restante e marque a execução como rascunho/não-pronta. Nunca preencha a lacuna com uma duplicata.
6. Compor texto exato e arquivos de figurinha para publicação
Use o renderizador determinístico em vez de confiar em letras chinesas geradas:
python <skill-dir>/scripts/sticker_pack.py render-stickers --run-dir <run-dir>
O renderizador preserva arquivos raw do imagegen, cria mestres em alta resolução com o texto planejado exato, produz PNGs de upload 240×240, remove EXIF derivado e escreve um recibo contendo texto, code points, fonte, hash de origem, hash de saída e layout.
Se o renderizador não conseguir encaixar o texto exato de forma legível, revise apenas o texto ou layout daquele item do plano antes de renderizar; nunca trunque silenciosamente ou reduza abaixo do mínimo.
7. Gerar assets de publicação
Gere três assets distintos com chamadas integradas separadas:
- banner detalhado: cena de história opaca colorida, sem texto/números, sem fundo branco ou transparente;
- capa do álbum: metade frontal/corpo inteiro reconhecível em um fundo de chroma key perfeitamente plano, sem texto ou contorno branco;
- ícone de chat: cabeça frontal apenas no mesmo chroma key plano, sem mãos, texto, decoração, contorno branco ou moldura.
Escolha uma cor chave ausente do sujeito: #00ff00 por padrão, ou #ff00ff quando o sujeito/roupa contiver verde. Congele essa escolha tanto nos prompts de asset quanto no comando de remoção.
Remova o chroma key da capa/ícone com o auxiliar exigido pela habilidade imagegen. Valide o resultado alfa; repita uma vez com --edge-contract 1 apenas se uma franja permanecer.
Importe as saídas chroma intactas antes da remoção, depois importe o banner aceito e a capa/ícone já transparentes:
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 visual e portões manuais
Crie a folha de contato interna:
python <skill-dir>/scripts/sticker_pack.py contact-sheet --run-dir <run-dir>
Inspecione as 20 figurinas finais individualmente e na folha. Verifique consistência do personagem, texto visível exato, ações/silhuetas únicas, legibilidade em 240×240, sem marca d'água/logotipo/garatujas e sem painéis acidentais.
Inspecione banner, capa e ícone no tamanho final. Em seguida, defina cada campo manual_review aplicável em 01-plan/pack.json como true. Não confirme um campo que você não revisou de fato.
9. Validar e empacotar
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>
O arquivo apenas para upload deve usar a lista de permissões fixa do script e excluir originais, arte bruta, mestres, prompts, folhas de contato, estado, arquivos extras e caminhos absolutos locais. O arquivo completo deve incluir originais byte-idênticos, fontes, planos, prompts congelados, o registro de geração saneado, arquivos de submissão, QA e proveniência, mas excluir estado apenas local e recursão de arquivo. Avise que o arquivo completo pode reter EXIF/GPS original e não deve ser compartilhado como o pacote de upload público.
Se direitos ou outro portão de submissão permanecerem não resolvidos, crie apenas um rascunho de arquivo claramente marcado:
python <skill-dir>/scripts/sticker_pack.py package --run-dir <run-dir> --full-only
Isso produz <slug>-draft-full-archive.zip e coloca em quarentena qualquer ZIP de submissão obsoleto para que não seja confundido com um pacote pronto atual.
Portão de conclusão
Relate sucesso apenas quando a validação e a integridade do arquivo passarem:
20/20 figurinas aprovadasassets de publicação aprovadosreferências originais preservadasperfil de direitos confirmadodeclaração de IA preparadastatus: ready-to-submit
Caso contrário, relate draft/not-ready com o slot ou portão exato que falhou. Sempre forneça caminhos absolutos para ambos os arquivos, o diretório de submissão, o arquivo de cópia/significado e o relatório de QA.
Roteamento de referências
- Leia
references/content-planning.mdpara cada novo pacote. - Leia
references/prompt-templates.mdantes da geração de imagens. - Leia
references/wechat-publish-spec.mdantes do planejamento ou validação de assets da plataforma. - Leia
references/rights-and-ai.mdsempre que uma pessoa real, imagem de terceiros, direitos autorais, direito de retrato ou divulgação de IA estiver envolvida. - Use
references/pack-schema.jsonao criar ou repararpack.json.