How it works
Keep factual claims traceable to website content. Review generated headlines, concepts, and layouts before publishing.Gather brand context
Use three endpoints with distinct jobs:domain before interpolating it, and apply your own allowlist if users can submit arbitrary targets.
The TypeScript gather function preserves successful inputs when another call fails. The other tabs show the individual requests; apply the same independent error handling in your worker. A fulfilled call can still return missing fields or empty pages. Use a neutral theme or approved existing assets when visual inputs are absent, and require sourced or user-approved copy before generating factual claims.
Build a campaign brief
Do not pass a raw crawl directly to a generator. First distill a compact, reviewable brief:TypeScript model
Generate the content
Ask your model or rules engine for a bounded object that the renderer controls:- enforce safe zones and text limits;
- update platform dimensions without changing the prompt;
- render the same concept across multiple sizes;
- reject unsupported claims before they appear in an image;
- compare output against a stable snapshot.
Render each format
Reuse one approved concept across formats while keeping each format’s content contract explicit. Knowlify uses brand assets in generated videos; the same source bundle can support still and moving creative.
Platform dimensions change. Store them as configuration instead of embedding them in generation logic:
TypeScript renderer
Keep product imagery attached to the right variant
Use Product extraction or page images to gather candidates, then save a reviewed asset registry:Approved asset model
Review the assets
Automate checks before human review:- Every factual claim has an approved source URL.
- The chosen logo variant has enough contrast against its background.
- Text stays inside the safe area and does not overflow at any size.
- Remote images load successfully and have sufficient resolution.
- Fonts have a licensed, loadable source and a tested fallback.
- Color contrast meets your accessibility target.
- Generated copy contains no unapproved customer, legal, security, or performance claims.
- Each output records the campaign-brief version and source timestamp.
Refresh the brief
Cache the gathered bundle and refresh it intentionally. When the website changes, generate a diff and ask an editor to approve changes to the campaign brief instead of silently changing active creative.Monitor website changes
Detect source changes before refreshing the brief.
API stability
Plan for response changes and schema upgrades.
Branded documents
Reuse approved brand decisions in decks and client deliverables.
Responsible use
Review legal and policy requirements before publishing.