Commit Graph

11 Commits

Author SHA1 Message Date
Jeff Emmett 9eff93d275 fix: resize mask to match image dimensions for FLUX inpainting
The mask was generated at a fixed 768x1024 size but the actual page
image could be different dimensions, causing Fal.ai to return a 400
error. Now using sharp to resize the mask to match the image before
sending to the API.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 23:58:01 -05:00
Jeff Emmett f09b1cc0b9 feat: add text inpainting for zine page refinement
- Add TextSelectionCanvas component for drawing rectangle selections
- Add inpaint-text API endpoint using Fal.ai FLUX Pro Fill
- Integrate "Edit Text Region" UI in the refine step
- Users can now select text areas and replace them without regenerating the full page

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 19:11:20 -05:00
Jeff Emmett c6eb3e5363 fix: use synchronous Fal.ai endpoint for FLUX img2img
The queue polling was timing out. Switch to fal.run synchronous
endpoint which waits for the result directly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 19:59:51 -05:00
Jeff Emmett f78cf1d0cd feat: add FLUX img2img for zine page refinement
- Add Refine/Revise/Regenerate mode selection in zine creator
- Refine (0.25 strength): keeps most of image, minor tweaks
- Revise (0.5 strength): keeps composition, changes elements
- Regenerate: creates completely new image (existing behavior)
- Use Fal.ai FLUX dev model for img2img processing
- Better UX for iterative refinement without losing good work

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 16:44:26 -05:00
Jeff Emmett 3309f7e5de fix: restore RunPod proxy for Nano Banana image generation
Direct Gemini API calls are geo-blocked in Germany. Must use
RunPod US proxy endpoint to bypass the restriction.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 16:26:22 -05:00
Jeff Emmett e011fb0c46 fix: use correct Gemini image generation model and API
Replace deprecated Imagen 3 and RunPod proxy with direct Gemini
2.0 Flash Image Generation API call. Removes unused model functions
and simplifies the image generation flow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 15:05:26 -05:00
Jeff Emmett fd6f16f299 feat: add Imagen 3 as primary image generator
- Try Imagen 3 first (best quality, $0.03/image)
- Fall back to Gemini via RunPod if Imagen fails
- Uses 3:4 aspect ratio for portrait zine pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 13:08:46 -05:00
Jeff Emmett a5f067e5a6 feat: upgrade to gemini-2.0-flash-exp-image-generation model
- Use dedicated image generation model for better quality
- Add enhanced prompt instructions for better text rendering
- Use IMAGE-only responseModality for cleaner output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 12:29:33 -05:00
Jeff Emmett 956ebb6dc7 fix: use RunPod Gemini proxy in generate-page route
The route was calling Gemini directly instead of using the US proxy.
Now uses the same RunPod endpoint as mycro-zine to bypass geo-blocks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 02:01:24 -05:00
Jeff Emmett 12a147fd61 fix: rename MycoZine to MycroZine across zine pages
Updated all branding references from MycoZine to MycroZine for
consistency with the mycro-zine project naming convention.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 01:30:26 -05:00
Jeff Emmett 0743f6080d feat: add MycoZine - AI-powered mini-zine generator
- Add /zine landing page with topic input, style & tone selectors
- Add /zine/create page with full generation flow
- Add /zine/z/[id] shareable zine viewer
- Add API routes for outline generation, page creation, print layout
- Add Gemini AI integration for content generation
- Add Sharp for image processing and print layout creation
- Add punk zine styles (borders, text effects, xerox texture)
- Custom MycoFi styles: Mycelial style, Regenerative tone

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 01:16:53 -05:00