Skip to content

Hero & Bento Visuals

Warm Editorial & Dark-Mode SaaS Hero Art Direction Prompt System

A reusable art-direction system: brand tokens, a master prompt with fixed lighting and camera, per-section variations, and a light/dark image swap that never loads both files.

Light + dark pairs

Works in Webflow Framer React Zero CLS

Customize before you copy

Platform

Showing the Webflow version

Claude prompt · production spec
Act as the art director of a premium SaaS brand. Build me a reusable art-direction system for AI-generated website imagery that works in a warm editorial light theme AND a dark theme.

Deliver:
1. Art tokens (JSON): palette with roles (cream #F6F4EF base, sand #B59E7A accent, charcoal #141413 ink, one muted accent), materials (paper, frosted glass, matte metal), light (single key light top-left 45°, warm rim), camera (isometric 30° or straight-on editorial), grain amount, and banned elements.
2. A master prompt TEMPLATE with slots: {subject}, {composition}, {theme: light|dark}, {aspect}. The light and dark versions keep the same lighting, camera and composition, and swap only surface and background values.
3. Ready prompts for: homepage hero (16:9), three feature illustrations (4:3), a blog cover (1.91:1) and an OG card background (1200×630, empty left half for text).
4. A negative prompt and a five-point consistency checklist to review every generated image against.
5. Export rules: 2× size, WebP/AVIF, file naming (hero-light@2x.webp / hero-dark@2x.webp), and the light/dark swap so a visitor downloads only the image for their colour scheme.

Write each prompt as one paragraph (subject → materials → light → camera → palette) with Midjourney v7 flags and a plain-language variant for other image models.

Target platform: Webflow.
- Build the structure as native Webflow Designer elements with Client-First class names (section_[name], [name]_component, [name]_item). No div soup from an HTML embed unless I ask for one.
- Hook every behaviour to custom attributes (data-gsap="…"), never to class names, so designers can restyle without breaking the script.
- Load GSAP through Webflow's built-in GSAP integration (Site settings) or the jsDelivr CDN tags, and put the init script in Page settings → Before </body> tag, wrapped in Webflow.push(() => { … }).
- Say which parts go in Designer styles, which in a page-head <style>, and which in the body script.
- Webflow's Image element can't switch sources by colour scheme, so use an Embed with <picture> and the two asset URLs (upload both images to Webflow Assets). If the site uses a manual dark-mode class instead of prefers-color-scheme, say so and I'll get the class-based version.

3-step implementation guide

  1. Step 1

    DOM & attribute setup

    Fill in the art tokens (palette, materials, one light rig, one camera) before you generate anything, and keep them in a file next to your prompts. Every future image starts from the same constants.

  2. Step 2

    Prompt Claude or drop in the snippet

    Paste the prompt to get the master template plus light and dark versions of each section prompt. Generate the light image first, then the dark one from the same seed and composition, and review both against the checklist.

  3. Step 3

    Mobile & Core Web Vitals check

    Ship both files through a colour-scheme <picture> (or the platform equivalent), then check in DevTools that each theme downloads only one image and that the hero stays your LCP element on mobile.

Building a full site like this?

Skip the manual setup — I ship complete Figma-to-Webflow & Framer builds in 5–10 business days, or can wire this exact interaction into your live site in 48 hours ($250).