# Daily Newsletter Cover Prompt

Use this prompt to generate the DALL-E base image for each press review cover. **Do NOT include text in the DALL-E prompt** — readable text is added post-generation via ImageMagick (see below).

## DALL-E Prompt

```
Square 1024x1024 isometric miniature 3D cartoon of [CITY] at a 45° top-down angle for the daily newsletter cover. Spotlight Manneken Pis wearing [DAILY_COSTUME_DESCRIPTION], holding any props from the outfit. Surround him with [KEY_NEWS_ELEMENTS — e.g., EU Berlaymont under security, emergency shelter tents, cultural highlights]. Keep soft PBR materials, gentle sunlit lighting, and atmospheric details that reflect the current forecast (today: [WEATHER_DESCRIPTION], [TEMPERATURE] °C). Place everything on a single floating city block above a clean pastel background. IMPORTANT: The top 10% of the image should be clean sky — do NOT attempt to render any text or numbers in the image.
```

## Post-Generation: Text Overlay (ImageMagick)

After generating the DALL-E image, use ImageMagick to add a text banner:

```
convert <dalle-output.png> \
  -background '#0406A8' -fill white \
  -gravity north -splice 0x130 \
  -font Helvetica-Bold -pointsize 48 -annotate +0+28 '[CITY]' \
  -font Helvetica -pointsize 26 -annotate +0+78 '[DATE] | [WEATHER] | [TEMP_RANGE]'
```

The header banner shows: city name, date, weather description, and temperature range.

## Full Automation Script

Run this single command — it handles DALL-E + text overlay + frontmatter:
```
node /root/.openclaw/workspace/scripts/generate-newsletter-cover.mjs YYYY-MM-DD
```

## Usage Notes
- Swap in the day's costume (from the costume generator) and the main news hooks (troops/police, concerts, ambulances, art events, etc.).
- The DALL-E prompt describes weather through the scene's atmosphere (cloud cover, lighting), not by rendering text.
- The temperature shown is extracted from wttr.in and displayed as "[min] to [max] degrees".
- Save the resulting PNG to `site/public/news/covers/YYYY/MM/YYYY-MM-DD-cover.png` and set `image: '/news/covers/YYYY/MM/YYYY-MM-DD-cover.png'` in every language version of the press review so Astro's OG tags pick it up.
