- New /api/generate-image endpoint that returns base64 directly
- Uses RunPod proxy to bypass geo-restrictions
- Enables canvas-website MycroZine tool to generate images
- Includes CORS headers for cross-origin requests
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fixed print-layout API to return correct URL format (?print=true instead of /print)
- Modified print endpoint to only force download when &download=true is added
- Updated create page and share page to use download parameter for download button
- Print preview now renders properly as an image
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use RunPod serverless endpoint (US-based) to bypass EU geo-restrictions
- Add RUNPOD_API_KEY and RUNPOD_GEMINI_ENDPOINT_ID env vars
- Add fallback to direct Gemini API if RunPod not configured
- Endpoint ID: ntqjz8cdsth42i
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add overall progress bar with percentage during page generation
- Add per-page progress indicators with checkmarks for completed pages
- Show current page title/type while generating
- Create styled placeholder images with actual page content when
AI image generation is geo-blocked
- Style placeholders match selected zine style (punk, minimal, etc.)
- Add cache-busting timestamps to force image reload
- Update worker to return helpful error for geo-blocking
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Created gemini-proxy worker to route requests through US edge
- Updated generate-page to use proxy for bypassing geo-restrictions
- Gemini image generation is blocked in Germany, proxy routes through US
Worker URL: https://gemini-proxy.jeffemmett.workers.dev🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed from /api/zine/[id]/image/p1.png to /api/zine/[id]?image=p1
to match the actual API route handler.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use gemini-2.0-flash-exp with responseModalities: ["TEXT", "IMAGE"]
- Remove invalid responseMimeType and non-existent model names
- Simplify to single model with placeholder fallback
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The gemini-1.5-flash model is not available in the v1beta API.
Updated to gemini-2.0-flash for outline generation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>