Open-source implementation of Pomelli project by Google
108
stars
7
commits
TypeScript
primary language
Aug 2, 2026
updated
Open-source alternative to Google's Pomelli. Paste any website URL → get an editable Brand DNA, on-brand campaign concepts, platform-specific creatives, AI product photography, and short-form videos. Self-hosted, single-user, no auth, no cloud queues — runs locally on SQLite.
All AI calls (text, vision, image, image-edit, video) route through a single provider: MuAPI. Free sandbox keys are available for testing.
gpt-5-nano (text + vision) merges with CSS-extracted colors / fonts / logo into an editable brand profile.nano-banana-edit for brand consistency.nano-banana-2-edit with the product photo and brand logo as references.seedance-lite-i2v. 480p / 720p / 1080p. Aspect ratio inherits from the source frame, so 9:16 stories drop right in.git clone https://github.com/SamurAIGPT/Open-Pomelli.git
cd Open-Pomelli
cp .env.example .env
# Fill MUAPI_API_KEY (sandbox keys are free at muapi.ai)
npm install
npx playwright install chromium
npx prisma db push
npm run dev
Open http://localhost:3000 and paste a website URL.
dev.db file, zero-config)src/lib/muapi.ts)No Postgres, Redis, BullMQ, or Docker required. No auth, no OAuth. One-machine, one-user.
| Capability | Endpoint |
|---|---|
| File upload | POST /upload_file (multipart) |
| Text + vision | POST /gpt-5-nano |
| Image generation | POST /nano-banana, POST /nano-banana-edit |
| Premium image (Photo Studio) | POST /nano-banana-2, POST /nano-banana-2-edit |
| Image-to-video | POST /seedance-lite-i2v |
| Text-to-video | POST /seedance-lite-t2v |
| Result polling | GET /predictions/{request_id}/result |
Auth is sent via the x-api-key header.
src/
app/
page.tsx # URL input + entry points
brand/[id]/ # editable Brand DNA
brand/[id]/campaigns/new/ # goal picker
brand/[id]/photo-studio/ # brand-aware product photography
campaign/[id]/ # 4 concepts + asset generation
asset/[id]/edit/ # canvas editor
photo-studio/ # standalone product photography
animate/ # image-to-video
api/ # all server routes
lib/
muapi.ts # the only MuAPI client
scraper.ts # Playwright site scraper
brand-analyzer.ts # text + vision DNA orchestrator
campaign-generator.ts # 6 goals → 4 concepts
asset-generator.ts # copy + image per asset
platforms.ts # 8-platform catalog
layout.ts # canvas overlay schema
photo-styles.ts # 6 categories × 5 styles
photo-studio.ts # photoshoot orchestrator
animate.ts # i2v orchestrator
colors.ts, prisma.ts # utils
prisma/schema.prisma # BrandDNA, Campaign, Asset, Photoshoot, Animation
src/lib/muapi.ts — never fetch MuAPI elsewhere.PRs welcome — see CONTRIBUTING.md.
MIT — see LICENSE.
7 commits
TypeScript
99.8%
Open-source implementation of Pomelli project by Google
108
stars
7
commits
TypeScript
primary language
Aug 2, 2026
updated
Open-source alternative to Google's Pomelli. Paste any website URL → get an editable Brand DNA, on-brand campaign concepts, platform-specific creatives, AI product photography, and short-form videos. Self-hosted, single-user, no auth, no cloud queues — runs locally on SQLite.
All AI calls (text, vision, image, image-edit, video) route through a single provider: MuAPI. Free sandbox keys are available for testing.
gpt-5-nano (text + vision) merges with CSS-extracted colors / fonts / logo into an editable brand profile.nano-banana-edit for brand consistency.nano-banana-2-edit with the product photo and brand logo as references.seedance-lite-i2v. 480p / 720p / 1080p. Aspect ratio inherits from the source frame, so 9:16 stories drop right in.git clone https://github.com/SamurAIGPT/Open-Pomelli.git
cd Open-Pomelli
cp .env.example .env
# Fill MUAPI_API_KEY (sandbox keys are free at muapi.ai)
npm install
npx playwright install chromium
npx prisma db push
npm run dev
Open http://localhost:3000 and paste a website URL.
dev.db file, zero-config)src/lib/muapi.ts)No Postgres, Redis, BullMQ, or Docker required. No auth, no OAuth. One-machine, one-user.
| Capability | Endpoint |
|---|---|
| File upload | POST /upload_file (multipart) |
| Text + vision | POST /gpt-5-nano |
| Image generation | POST /nano-banana, POST /nano-banana-edit |
| Premium image (Photo Studio) | POST /nano-banana-2, POST /nano-banana-2-edit |
| Image-to-video | POST /seedance-lite-i2v |
| Text-to-video | POST /seedance-lite-t2v |
| Result polling | GET /predictions/{request_id}/result |
Auth is sent via the x-api-key header.
src/
app/
page.tsx # URL input + entry points
brand/[id]/ # editable Brand DNA
brand/[id]/campaigns/new/ # goal picker
brand/[id]/photo-studio/ # brand-aware product photography
campaign/[id]/ # 4 concepts + asset generation
asset/[id]/edit/ # canvas editor
photo-studio/ # standalone product photography
animate/ # image-to-video
api/ # all server routes
lib/
muapi.ts # the only MuAPI client
scraper.ts # Playwright site scraper
brand-analyzer.ts # text + vision DNA orchestrator
campaign-generator.ts # 6 goals → 4 concepts
asset-generator.ts # copy + image per asset
platforms.ts # 8-platform catalog
layout.ts # canvas overlay schema
photo-styles.ts # 6 categories × 5 styles
photo-studio.ts # photoshoot orchestrator
animate.ts # i2v orchestrator
colors.ts, prisma.ts # utils
prisma/schema.prisma # BrandDNA, Campaign, Asset, Photoshoot, Animation
src/lib/muapi.ts — never fetch MuAPI elsewhere.PRs welcome — see CONTRIBUTING.md.
MIT — see LICENSE.
7 commits
TypeScript
99.8%