Sign in with Google to continue. Access is limited to approved teammates.
Start with rough thoughts. Foam asks clarifying questions and tightens the brief. Approve when it feels right, then generate. Progress saves privately — share via Library or Collections.
What’s the idea — a product update, a proof angle, or just a gut feel?
One thread per session. House Rules, attached refs, and prior turns stay in memory.
Updated as you talk — edit freely, then approve
Keep talking until the brief feels right, then approve before generating.
Sessions stay private. Collections and Library are how work becomes shared.
Analyzed once, saved on this device, fed into every generation.
Saved ads and references in one visual gallery. Like winners, open them in the Editor, save as anchors, or file into collections.
Group ads and references by campaign or theme. An item can belong to more than one collection. Mark a collection shareable for a feedback link.
No collections yet. Create one above, then add items from the gallery.
Choose a collection for this item.
Configure OpenAI image generation and edit House Rules — the single source of truth for brand identity and voice. Every Generate and AI assist reads the latest rules.
Appearance
Auto follows your system setting. Light and Dark use Foam's brand palette (lime signal, off-white, pale blue, deep navy, black).
OpenAI · image generation
Finished flat ads are generated with gpt-image-2, then uploaded to R2. Prefer the worker secret OPENAI_API_KEY; a Settings key is only a fallback for local use.
House Rules · Voice & Campaign
Single source of truth for voice. Generate and AI assist read these fields — nothing important should live only in a hard-coded prompt.
Brand identity · Visual system
Palette, lime, type, layouts, and proof primitives. Edit here — the Editor panel and generation prompts pull from these fields.