Pin scheduler
Pinterest via Postiz. 1 pin/day at 07:00 AEST. Interleave pins across live shoots.
Before auto-posting: confirm the VPS can reach
api.postiz.com, and rotate the Postiz API key (it was exposed in Drive). Until then, use the per-pin command below to post from your Mac.Sample data. Schedule built from example pins. Real pins come from
drafts/[shoot]/pins.md.Upcoming
Soft, natural, unfussy. The details that made this Greyleigh day feel like them. π andremeloniphotography.co
DSC_1310.jpg β links to the live blog
Postiz command
bash
source ~/.config/postiz/env
# 1) compress under Postiz's 10MB limit, then upload
sips -Z 3000 "<path-to>/DSC_1310.jpg" --out "/tmp/pinterest-upload/DSC_1310.jpg"
UPLOAD=$(postiz upload "/tmp/pinterest-upload/DSC_1310.jpg")
IMAGE_URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['path'])")
# 2) schedule the pin (link = the live blog URL)
postiz posts:create \
-c "Greyleigh Kiama wedding styling\n\nSoft, natural, unfussy. The details that made this Greyleigh day feel like them. π andremeloniphotography.co" \
-s "2026-07-17T07:00:00+10:00" \
--settings "{\"board\":[{\"value\":{\"id\":\"$POSTIZ_BOARD_ID\",\"name\":\"$POSTIZ_BOARD_NAME\"}}],\"link\":\"https://andremeloniphotography.co/blog/greyleigh-kiama-sofia-james\"}" \
-m "$IMAGE_URL" \
-i "$POSTIZ_PINTEREST_ID"Long tables, warm light, people who love them. The reception, told as it happened. π andremeloniphotography.co
DSC_1388.jpg β links to the live blog
Postiz command
bash
source ~/.config/postiz/env
# 1) compress under Postiz's 10MB limit, then upload
sips -Z 3000 "<path-to>/DSC_1388.jpg" --out "/tmp/pinterest-upload/DSC_1388.jpg"
UPLOAD=$(postiz upload "/tmp/pinterest-upload/DSC_1388.jpg")
IMAGE_URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['path'])")
# 2) schedule the pin (link = the live blog URL)
postiz posts:create \
-c "Reception at Greyleigh Kiama\n\nLong tables, warm light, people who love them. The reception, told as it happened. π andremeloniphotography.co" \
-s "2026-07-18T07:00:00+10:00" \
--settings "{\"board\":[{\"value\":{\"id\":\"$POSTIZ_BOARD_ID\",\"name\":\"$POSTIZ_BOARD_NAME\"}}],\"link\":\"https://andremeloniphotography.co/blog/greyleigh-kiama-sofia-james\"}" \
-m "$IMAGE_URL" \
-i "$POSTIZ_PINTEREST_ID"Ten quiet minutes away from the party. Sofia and James, Greyleigh Kiama. π andremeloniphotography.co
DSC_1442.jpg β links to the live blog
Postiz command
bash
source ~/.config/postiz/env
# 1) compress under Postiz's 10MB limit, then upload
sips -Z 3000 "<path-to>/DSC_1442.jpg" --out "/tmp/pinterest-upload/DSC_1442.jpg"
UPLOAD=$(postiz upload "/tmp/pinterest-upload/DSC_1442.jpg")
IMAGE_URL=$(echo "$UPLOAD" | python3 -c "import sys,json; print(json.load(sys.stdin)['path'])")
# 2) schedule the pin (link = the live blog URL)
postiz posts:create \
-c "South Coast wedding portraits\n\nTen quiet minutes away from the party. Sofia and James, Greyleigh Kiama. π andremeloniphotography.co" \
-s "2026-07-19T07:00:00+10:00" \
--settings "{\"board\":[{\"value\":{\"id\":\"$POSTIZ_BOARD_ID\",\"name\":\"$POSTIZ_BOARD_NAME\"}}],\"link\":\"https://andremeloniphotography.co/blog/greyleigh-kiama-sofia-james\"}" \
-m "$IMAGE_URL" \
-i "$POSTIZ_PINTEREST_ID"Posted (2) Β· never-repost
- DSC_1201.jpgGreyleigh Kiama Wedding: golden hour2026-07-14
- DSC_1247.jpgGreyleigh Kiama Wedding: the ceremony2026-07-15