O que EP Insignia faz?
Converte uma URL de imagem de origem nos dois arquivos de insígnia que o EP espera e faz upload para
s3://prod-ep-cmh-insignia (conta AWS do EP 405995789491, região us-east-2).
Convenções, seguindo os arquivos já existentes no bucket:
- Chave:
<prefix>.pnge<prefix>.jpgna raiz do bucket, onde<prefix>é o prefixo do cliente EP (minúsculo, ex.:audubonpd,alexanderncsheriff). - Ambos são 512x512. A insígnia é cortada, redimensionada para caber, e centralizada com uma pequena margem.
- PNG tem fundo transparente. JPG tem fundo branco.
- Os tipos de conteúdo são
image/pngeimage/jpeg. O bucket usa BucketOwnerEnforced, então não configure ACLs.
Entradas
- URL de origem. Se o usuário não forneceu uma, peça por ela. Um caminho de arquivo local também funciona.
- Prefixo do cliente. Se não foi fornecido, peça por ele. Não adivinhe a partir do nome da agência. Normalize para minúsculo e rejeite qualquer caractere que não seja
a-z 0-9 - _.
Passos
1. Processar a imagem
Use um diretório de trabalho limpo no scratchpad (ou mktemp -d), então execute:
uv run -q <skill_dir>/scripts/process_insignia.py "<url>" "<prefix>" "<workdir>"
uv instala as dependências dos metadados inline do script. Na primeira execução da remoção de fundo por IA, um modelo de ~180 MB é baixado para ~/.u2net.
O modo de fundo padrão (--bg auto) funciona assim:
- Se a origem já tem fundo transparente, ele é mantido como está.
- Se a borda for uma única cor sólida (normalmente branca), apenas o fundo conectado às bordas é removido. Letras ou detalhes brancos dentro do emblema são preservados.
- Caso contrário, usa segmentação por IA (rembg
isnet-general-use).
Opções de substituição: --bg ai, --bg flood e --bg none forçam um modo. --margin N define o preenchimento em px (padrão 4).
Se o download falhar com 403 ou 429, ou se a URL for um SVG ou uma página web em vez de uma imagem, informe o usuário e peça um link direto para a imagem. Eles também podem baixar o arquivo eles mesmos e passar o caminho local.
2. Revisar antes do upload
Gere uma prévia do PNG sobre uma cor contrastante, ao lado do JPG:
convert \( <workdir>/<prefix>.png -background '#c33' -flatten \) <workdir>/<prefix>.jpg +append <workdir>/preview.png
Abra preview.png com a ferramenta de Leitura e verifique:
- Nenhum fundo residual (halo, caixa ou franja no lado vermelho).
- Nenhuma parte faltando da insígnia (buracos onde o branco interno foi removido, ou texto que foi cortado).
- É a agência correta.
Se o resultado estiver incorreto, execute novamente com um modo --bg diferente. Mostre a prévia ao usuário, junto com o método de fundo informado pelo script e qualquer aviso sobre imagem de origem pequena.
3. Verificar acesso AWS e arquivos existentes
aws sts get-caller-identity --query Account --output text # esperado: 405995789491
aws s3 ls s3://prod-ep-cmh-insignia/<prefix>.
Se <prefix>.png ou <prefix>.jpg já existir, informe o usuário. Este é um bucket de produção, portanto, obtenha confirmação explícita antes de sobrescrever. Faça backup dos arquivos existentes primeiro:
aws s3 cp s3://prod-ep-cmh-insignia/<prefix>.png <workdir>/backup/<prefix>.png
aws s3 cp s3://prod-ep-cmh-insignia/<prefix>.jpg <workdir>/backup/<prefix>.jpg
Mesmo quando nada existir ainda, confirme o upload com o usuário após mostrar a prévia.
4. Upload
aws s3 cp <workdir>/<prefix>.png s3://prod-ep-cmh-insignia/<prefix>.png --content-type image/png
aws s3 cp <workdir>/<prefix>.jpg s3://prod-ep-cmh-insignia/<prefix>.jpg --content-type image/jpeg
Verifique o upload com aws s3 ls s3://prod-ep-cmh-insignia/<prefix>., então informe ambas as chaves S3, seus tamanhos e onde os backups foram salvos.