A React application that compares image reframing capabilities between two AI models:
- FAL.AI Image Editing - Preserves subject position with smart cropping
- Ideogram V3 - Creative expansion and reframing
- 🖼️ Drag & Drop Upload - Easy image upload with preview
- 📐 Multiple Presets - Square, landscape, portrait, and wide formats
- 🎛️ Custom Dimensions - Set your own width and height
- 🔄 Side-by-Side Comparison - See both AI results simultaneously
- 📊 Generation History - Track and review past generations
- 💾 Persistent Storage - History saved locally via JSON file
- Node.js 18+
- npm
-
Clone the repository
git clone https://github.com/Topsort/reframe-comparison.git cd reframe-comparison
-
Install dependencies
npm install
-
Start the application
npm run dev
This starts both the React frontend (http://localhost:5173) and Express backend (http://localhost:3001) concurrently.
npm run dev
- Start both frontend and backend serversnpm run client
- Start only the React frontendnpm run server
- Start only the Express backendnpm run build
- Build for productionnpm run lint
- Run ESLint
- Upload an image using the drag-and-drop interface
- Choose dimensions from presets or set custom values
- Click "Compare Reframing" to process with both AI models
- View results side-by-side with the original image
- Browse history of all previous generations
The app uses FAL.AI APIs:
fal-ai/image-editing/reframe
- Smart cropping that preserves subjectsfal-ai/ideogram/v3/reframe
- Creative expansion and reframing
Custom dimensions are automatically mapped to the closest supported format for each API.
- Frontend: React + Vite with drag-and-drop file handling
- Backend: Express server for history persistence
- Storage: Local JSON file (
public/history.json
) - APIs: Concurrent calls to both AI models with error handling
Generation history is automatically saved to public/history.json
and persists between sessions. You can also:
- Load custom history files
- Clear all history
- Export history by copying the JSON file
This tool is designed for local development and testing only.