Use when publishing Instagram carousels from HTML files — covers export to PNG at 1080x1350px via Playwright and upload via Upload-Post API. Includes contrast check checklist before export.
Use when publishing Instagram carousels from HTML files — covers export to PNG at 1080x1350px via Playwright and upload via Upload-Post API. Includes contrast check checklist before export.
Instagram Carousel Publisher
Full pipeline: HTML carousel → PNG slides (1080×1350px) → Instagram via Upload-Post API.
Pre-publish Checklist (run before every export)
Before exporting slides, verify:
Text on light backgrounds (#F4F0EB) uses #0D0B12 or #4a4540 — never light gray
Text on dark backgrounds (#0D0B12) uses #fff or rgba(255,255,255,0.72) minimum — never below 0.5 opacity for body copy
Text on gradient slides uses #fff or rgba(255,255,255,0.75) minimum
Tag labels: #00C8FF on light, #7DE8FF on dark, rgba(255,255,255,0.6) on gradient
Progress bar label: rgba(0,0,0,0.3) on light, rgba(255,255,255,0.4) on dark
CTA keyword on slide 7 is readable (white text on #0075A8 background or dark text on white pill)
Slide 7 has no swipe arrow, full progress bar (100%)
Note: media_size_bytes in the status only reflects the first image — not a reliable indicator that the carousel failed. Check the post URL directly.
Scheduled post
Add --schedule "2026-04-15T08:00:00Z" to post at a specific time (Paris timezone auto-applied).
Caption format (melekbuilds standard)
[Hook 1 phrase — reprend le titre slide 1].
[Phrase de valeur].
Commente [MOT-CLÉ] 👇 je t'envoie [le skill / le guide / le template] gratuitement.
Emoji autorisés dans la caption (Instagram les affiche bien), mais évite les caractères Unicode spéciaux dans les scripts Python (encode error sur Windows cp1252).