09/32proof of conceptBrand-Compliant Social Assets
Social Asset Engine
A brief and a source document become on-brand social assets with captions.
What it solves
Turning a long source document into social posts by hand is where brand rules slip. This writes the copy to each template’s limits and rejects any render where text overflows.
How it runs
Five steps, input to output
Goes inA brief and a source document
- 01
Ingest
The source document is read alongside the brief.
- 02
Write
The writer agent drafts slot copy and English captions inside each template’s character budgets.
- 03
Design
HTML templates render to PNG at 1080x1350 from the brand tokens.
- 04
Audit
Every render passes an overflow check. Failures get a fix and a new audit, then go to a person.
- 05
Publish
Passing assets go into a review deck and a zip with captions. The rest are listed for review.
Comes outOn-brand social assets at 1080x1350 with English captions, packaged in a review deck
What it does
Takes a brief plus a source document and produces on-brand social assets at 1080x1350 with English captions, rendered from HTML templates against brand tokens.
Every render passes an overflow check before it is accepted.
Three decisions
What shaped the build
Brand values live in one file
All colours, fonts and spacing come from brand.json. Nothing is hardcoded in a template.
No render is accepted unchecked
Every render passes the overflow check before it is accepted, and an asset passes only when all of its renders do.
Retries are capped, then a person looks
The audit loop shortens copy or changes the image treatment a limited number of times. What still fails goes to a needs-review section.
Built with
8 parts
- Anthropic SDK
- writer agent
- Playwright
- HTML to PNG render
- brand.json
- colour + type tokens
- overflow_check
- render gate
- PyMuPDF
- source ingestion
- python-pptx · docx
- review deck out
- FastAPI · Uvicorn
- portal API
- Docker · Railway
- host + /data volume