Files
ai-florist/.env.example
Chaewon Lee 07e4eeaca3 refine: redesigned layout, flower cards, edit sync, and bouquet preview framing
* refine: move upload mode toggle to top and compact it

* refine: simplify upload layout and remove editorial numbers

* refine: unify flow continue bar and redesign result page layout

* refine: show bouquet flowers as scrollable cards on result page

* refine: add flip-to-Korean on result flower cards

* refine: improve result rationale and sync recipe on edit

* refine: shorten edit title and align bouquet image framing to 3:4
2026-06-14 17:21:20 +09:00

38 lines
1.3 KiB
Plaintext

# Gemini
GEMINI_API_KEY=
GEMINI_TEXT_MODEL=gemini-2.5-flash-lite
# Image generation
# IMAGE_PROVIDER: openai | gemini | mock
# mock = instant placeholder images, zero API calls (develop without burning quota)
IMAGE_PROVIDER=openai
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_IMAGE_MODEL=gpt-image-1
# Bouquet preview (generating flow)
OPENAI_IMAGE_SIZE=1024x1536
# Flower catalog batch (scripts/generate-flower-catalog.js) — portrait cards
OPENAI_IMAGE_CATALOG_SIZE=1024x1536
OPENAI_IMAGE_CATALOG_QUALITY=low
GEMINI_IMAGE_MODEL=gemini-3.1-flash-image
# Kakao REST API (shop search for /map)
KAKAO_REST_API_KEY=
# Kakao Maps JavaScript key (map display on /map — public, client-side)
PUBLIC_KAKAO_MAP_KEY=
# Supabase (server-side only)
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
SUPABASE_STORAGE_BUCKET=flower-bouquets
# Dev seed button: shown only when `npm run dev` (production build hides it).
# To mute during local dev, set DEV_SEED_MUTED = true in DevSeedButton.svelte.
# Replace static/dev/bouquet-{s,m,l}.jpg with real photos for richer UI previews.
# Flower catalog (result cards) — one-time batch, not per user request:
# npm run generate:flowers -- --dry-run
# npm run generate:flowers -- --missing-only
# npm run generate:flowers -- --ids 7,14
# Output: static/flowers/{flowerDB.id}.png