The article
Markdown/HTML with a lede, optional roster or stat strip, sourced sections, and a Sources list. Posted to your existing /api/admin/blog.
POST /v1/make { kind: "blog" }
Whoila is the make tool for publishers. One brief becomes the article, the 800×1200 jacket, and the 6×9 book — then those three artifacts go out through the endpoints on your own site.
Not a CMS.
Not a chat with an export button.
A publisher’s make bench.Whoila does not host your journal. Your journal stays on designforever.com, weddinghosts.com, or wherever you already publish. Whoila is the bench that makes the work and hits your API.
Markdown/HTML with a lede, optional roster or stat strip, sourced sections, and a Sources list. Posted to your existing /api/admin/blog.
POST /v1/make { kind: "blog" }
An 800×1200 cover as SVG + HTML5. Pushed to your thumbnail hook, or fetched from Whoila’s artifact URL.
GET /v1/jobs/:id/cover.svg
A 6×9 pamphlet: foil-rule cover, then the same body set as interiors. Binary on your PDF hook.
GET /v1/jobs/:id/book.pdf
Each product keeps its brand, its /blog, and its keys. Whoila is the shared make tool underneath.
The public journal at /blog. Whoila posts the article through x-vae-service-key, then the jacket and 6×9 book ride the same job. Same shape the in-house Make tool already used.
Planning stories, tool explainers, vendor notes. Whoila publishes with x-service-key to /api/admin/blog, and can POST the thumbnail and PDF to extra hooks you set in /admin.
Adapters for DesignForever and WeddingHosts. For everyone else: three signed webhooks — blog JSON, thumbnail bytes, PDF bytes. HMAC in X-Whoila-Signature.
# Make a piece for a connected site curl -X POST https://whoila.com/v1/make \ -H "Authorization: Bearer whl_live_…" \ -d '{"site":"designforever","kind":"blog","brief":"…"}' # Then publish article + jacket + book curl -X POST https://whoila.com/v1/jobs/JOB/publish \ -H "Authorization: Bearer whl_live_…"
Paying customers sign in with Google, connect a host, and paste their own blog / thumbnail / PDF endpoints. Agents use the same API.