Skip to main content
Gather a company’s logos, design tokens, and website copy into one campaign brief. Your generator and renderer can reuse that brief across ads, social posts, and other formats. Start with a server-side API key from the Quickstart and your choice of generator and renderer. The example uses 10 credits for Brand, 10 for Styleguide, and 1 per successfully crawled page.

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:
Keep this on the server. Validate 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
Require a URL for each factual claim. Keep customer names, numerical claims, certifications, and comparisons out of the generated copy unless they are explicitly approved. Treat the extracted design system as evidence from the rendered site. A designer can approve or override the palette, typography, and preferred logo before the first campaign is rendered.

Generate the content

Ask your model or rules engine for a bounded object that the renderer controls:
Validate length, required sources, and prohibited terms before rendering. Keeping generation separate from layout makes it easier to:
  • 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
Verify the current requirements of each destination before publishing. Render with your own component system, canvas pipeline, or HTML-to-image service; Context.dev supplies the source context, not the final creative approval.

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
These IDs are application fields. An image scrape does not establish which SKU or variant an image represents. Keep unverified associations null and avoid pairing a red-product offer with an unrelated blue-product image. Have the generator return an approved asset ID, and resolve it through your registry in the renderer. If an optional asset fails to load, use a reviewed alternative or a layout that works without it. Keep the same policy for fonts: an unavailable custom font should fall back without hiding or clipping the headline. Record which fallback was rendered with the output version.

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.
Discovering an image, font, logo, or phrase does not grant permission to reuse it. Confirm trademark, copyright, font licensing, endorsement, and platform-policy requirements before publishing.

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.