Mirage turns a store or product link into image ads. It researches the product, uses real reference photos, and saves the results on a canvas where you can request edits, add your own elements, export PNGs, or collect ads in campaigns.
The hosted app may hit provider or email quotas. Use your own keys for a reliable live test.
OpenAI chooses when to research, create, or edit. Firecrawl gathers store evidence, fal.ai Nano Banana 2 renders the finished ads, and Supabase stores projects, conversations, and private images. Generated ads are single images; text and images added separately on the canvas remain editable. Review product accuracy and ad copy before publishing.
Requires Node.js 24 and npm.
git clone https://github.com/VishnuK1947/mirage.git
cd mirage
npm ci
cp .env.example .env.local
npm run devOpen localhost:3000. The demo uses simulated generation and needs no API keys.
For real research and ad generation, create a Supabase project, apply the migrations, and configure Auth and private Storage as described in the backend setup guide. Add your Supabase URL, publishable key, and server-only secret key to .env.local, along with your own OPENAI_API_KEY, FAL_KEY, and FIRECRAWL_API_KEY. OPENROUTER_API_KEY is optional for Jev claim review. Set APP_ORIGIN=http://127.0.0.1:3000; follow the deployment guide for background jobs. Provider calls may consume credits.
