apps/blog/blog/scripts/generate-agent-icon.mjs generates 512x512 Discord-ready
profile icons for each agent. It uses the same image generation providers and
env vars as the blog's generate-images.mjs.
cd apps/blog/blog
node scripts/generate-agent-icon.mjs <agent-name>
Override the provider with IMAGE_MODEL:
IMAGE_MODEL=gemini-3-pro node scripts/generate-agent-icon.mjs journalist
| Variable | Provider |
|---|---|
OPENAI_API_KEY |
OpenAI (gpt-image-1.5) |
GEMINI_API_KEY |
Gemini 3 Pro / 2.5 Flash / 2.0 Flash |
BFL_API_KEY |
Black Forest Labs (Flux 2 Max) |
IMAGE_MODEL |
Provider selector (default: openai) |
Images are saved to apps/blog/blog/public/images/agent-<name>.png.
All agent icons share a consistent visual theme — each agent is represented by a geometric animal portrait on a dark charcoal background with bright accent colors. The animals are chosen to reflect each agent's role.
| Agent | Animal | Why |
|---|---|---|
| Journalist | Owl | Observation, wisdom, nocturnal vigilance |
| Publisher | Lion | Authority, leadership, commanding presence |
| Analyst | Fox | Curiosity, sharp analysis, cunning |
| Synthesizer | Octopus | Multi-armed, connects many sources at once |
| Researcher | Bloodhound | Relentless pursuit, nose for details |
| Reviewer | Hawk | Piercing eye, catches what others miss |
| QA | Beaver | Meticulous builder, structural integrity |
| Security Auditor | Pangolin | Natural armor, defensive posture |