- Upload — drop in a file from your machine.
- AI generation — describe the image and let a configured AI model produce it, optionally using the existing image as a reference.
- Library — pick from images your organization has already uploaded or generated, reusable across experiments and projects.
<img> (or <picture>) replacement and are managed identically in the Changes panel.
Replacing an image
Open the Visual Editor and target the page you want to edit. Select the<img> element you want to replace.
In Manual mode, the property panel shows an Image group with three tabs: Upload, AI, and Library.
Upload tab
- Click the upload area (or drag-and-drop a file onto it).
- The new image appears as a live preview on the page, replacing the original.
- Click Use this image to accept, or Cancel to discard.
<picture> and srcset handling
Modern image markup often wraps an <img> in a <picture> element with multiple <source> candidates and a srcset attribute for responsive resolution selection. If you just replace the src, the browser will keep picking the original from srcset and your variation won’t show up.
The Visual Editor handles this automatically:
- The
srcsetattribute on the target<img>is removed. - Any
<source srcset>siblings inside a parent<picture>are removed. - The new image is the only candidate the browser sees.
srcset, <source> siblings, original src — to the pre-variation state.
AI tab
Type a description of the image you want and click Generate. The configured AI model returns one or more candidates that preview live on the page. Common useful prompt patterns:Photograph of a person using a laptop in a sunlit coffee shop, candid compositionFlat illustration of a chart trending upward, blue and orange paletteProduct hero of a stainless steel water bottle on a white background, soft shadows
- Use current image as reference — appears when the selected model supports it. The AI uses the existing image as a visual cue for composition/style. Useful for “keep the same scene but with a different background color” type requests.
- Model picker — appears when your org has more than one image model configured. See available models below.
- Aspect ratio and size — pulled from the original image so the replacement fits the existing layout. (You can still override by editing CSS dimensions in the Background & Border group.)
Library tab
The Library tab shows every image your organization has uploaded or accepted from AI generation, across all experiments and projects.- Grid view of thumbnails with newest first.
- Click a thumbnail to preview it as the new image; click Use this image to accept.
- Refresh icon at the top to re-fetch the library — useful if a teammate just uploaded an image.
- Image count in the header.
Quarantine indicator
AI-generated images that haven’t been accepted into a variation yet show a small orange dot badge. These are temporary — they live in a quarantine bucket and the storage lifecycle removes them after 7 days. A short legend at the bottom of the library explains the dot. Why quarantine? Image generation produces a lot of throwaway candidates. We don’t want every “let me try one more prompt” attempt to clutter your library forever. Once you accept a candidate into a variation, it gets promoted to permanent storage and the orange dot goes away.Available image models
The model used for AI generation is set by your org admin in AI Settings. The current options are:
Picking the right model is a tradeoff between cost, latency, and quality:
- Fastest / cheapest: Imagen 4 Fast, GPT Image 1 Mini.
- Best general quality: Imagen 4 Ultra, GPT Image 1, Gemini 3 Pro.
- Need reference image: any Gemini model.
Reverting an image change
To restore the original image:- Open the Changes panel at the bottom of the side panel.
- Find the row corresponding to the image change.
- Click Revert.
srcset / <picture> > source[srcset] removals the editor added when applying it. The element returns to exactly its pre-variation state.
Storage and privacy
Uploaded and AI-generated images are stored in GrowthBook’s image storage bucket, namespaced by your organization ID. They’re served from a CDN-fronted URL so SDKs can fetch them efficiently when delivering variations. A few specifics:- Permanent storage (accepted into a variation) lives at
<orgId>/visual-editor/. - Quarantine storage (AI candidates not yet accepted) lives at
gen/<orgId>/visual-editor/and is auto-cleared after 7 days. - Cross-org isolation — the library API only returns objects under your org’s prefix. Other organizations’ images are never visible.
- Image URLs are public in the sense that anyone with the URL can fetch the image. Don’t AI-generate images containing sensitive information.
Image-based experiment ideas
A few common patterns that move metrics:- Hero photography style: studio vs. lifestyle, person vs. product.
- Product framing: white background vs. in-use, single product vs. context.
- Illustration vs. photography for explainer sections.
- Color palette match: does an image that matches your brand palette outperform a contrasting one?
- Faces vs. objects: images with human faces often drive higher engagement, but the effect is category-specific.
Next steps
- AI mode — generate images as part of a larger AI-driven variation.
- Manual mode — full reference for the rest of the structured editor.
- Preview and QA — preview the variation before publishing.
- AI Integrations — provider setup and the full AI feature list.

