Advanced AI-Powered Image Editing with ChatGPT-image-1 Integration
A sophisticated AI-powered image editing platform showcasing the latest in AI image generation technology, featuring OpenAI's ChatGPT-image-1, Stability AI, and Recraft AI integrations with an intuitive mask-based editing interface.
- OpenAI ChatGPT-image-1: Latest image generation model (April 2025)
- Stability AI: Stable Diffusion integration
- Recraft AI: Advanced AI image generation
- Extensible Provider Pattern: Easy to add new AI services
- Mask-Based Editing: Paint areas to modify with precision
- Floating Toolbar: Draggable, collapsible interface
- Edge-to-Edge Canvas: Maximum workspace utilization
- Real-time Preview: Instant feedback on edits
- Export Options: PNG/JPG with quality controls
- Dark Theme: Professional editing environment
- Glassmorphism Design: Modern, semi-transparent UI elements
- Responsive Layout: Works on desktop and mobile
- Auto-docking: Smart toolbar positioning
- Undo/Redo: Full history management
- Supabase Authentication: Secure user management
- Row Level Security: Data protection
- API Key Protection: Server-side security
- Stripe Integration: Token-based billing
- File Storage: Secure image management
- Node.js 18.0 or higher
- npm or yarn
- API keys for AI providers
- Supabase project
- Stripe account (for payments)
-
Clone the repository
git clone https://github.com/your-username/ipaintai.git cd ipaintai -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Fill in your API keys in
.env.local:# AI Provider Keys OPENAI_API_KEY=sk-your-openai-key STABILITY_API_KEY=sk-your-stability-key RECRAFT_API_KEY=your-recraft-key # Supabase Configuration NEXT_PUBLIC_SUPABASE_URL=your-supabase-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-key # Stripe Configuration STRIPE_SECRET_KEY=sk_test_your-stripe-key NEXT_PUBLIC_STRIPE_PUBLIC_KEY=pk_test_your-stripe-key
-
Set up the database
npm run db:migrate
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
iPaintAI is built with a modern, scalable architecture:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β External β
β (Next.js) β β (API Routes) β β Services β
βββββββββββββββββββ€ βββββββββββββββββββ€ βββββββββββββββββββ€
β β’ Canvas Editor β β β’ Image API β β β’ OpenAI β
β β’ Auth UI βββββΊβ β’ Auth Routes βββββΊβ β’ Stability AI β
β β’ File Upload β β β’ Stripe API β β β’ Recraft AI β
β β’ Result View β β β’ Storage API β β β’ Stripe β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
β
βββββββββββββββββββ
β Supabase β
β Database β
βββββββββββββββββββ€
β β’ User Auth β
β β’ Image Storage β
β β’ Edit History β
β β’ Token Trackingβ
βββββββββββββββββββ
- Canvas System: HTML5 Canvas with dual-layer architecture
- Provider Pattern: Unified interface for multiple AI services
- Floating UI: Draggable, responsive toolbar system
- Authentication: Supabase Auth with SSR support
- File Management: Secure upload and storage system
POST /api/mask-edit-image
{
"imageUrl": "string",
"maskDataUrl": "string",
"prompt": "string",
"provider": "openai" | "stability" | "recraft"
}interface ImageProvider {
generateImage(params: GenerationParams): Promise<GenerationResult>
validateInput(params: GenerationParams): ValidationResult
getCapabilities(): ProviderCapabilities
}ipaintai/
βββ app/ # Next.js App Router
β βββ api/ # API routes
β βββ components/ # Shared components
β βββ image-mask-editor/ # Main editor interface
βββ lib/ # Utilities and configurations
β βββ providers/ # AI provider implementations
β βββ supabase/ # Database configuration
βββ memory-bank/ # Project documentation
βββ supabase/ # Database migrations
-
Create provider class
// lib/providers/NewProvider.ts export class NewProvider implements ImageProvider { async generateImage(params: GenerationParams) { // Implementation } }
-
Register in factory
// lib/providers/ImageProviderFactory.ts case 'new-provider': return new NewProvider();
-
Update configuration
// lib/config.ts export const AI_PROVIDERS = { 'new-provider': { name: 'New Provider', ... } }
npm run test # Run unit tests
npm run test:e2e # Run end-to-end tests
npm run lint # Check code style
npm run type-check # TypeScript validationWe welcome contributions from the community! Please see our Contributing Guidelines for details.
- π Bug Reports: Help us identify and fix issues
- β¨ Feature Requests: Suggest new functionality
- π§ Code Contributions: Implement features or fix bugs
- π Documentation: Improve guides and examples
- π§ͺ Testing: Add test coverage
- π¨ UI/UX: Enhance the user interface
- Complete OpenAI ChatGPT-image-1 integration
- Mobile optimization and touch support
- Performance optimization for large images
- Comprehensive testing framework
- Additional AI provider integrations
- Advanced canvas features (zoom, layers)
- Keyboard shortcuts and accessibility
- Batch processing capabilities
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test them
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
- Development Only: Contains security vulnerabilities
- API Key Protection: Never expose keys in frontend code
- No Production Deployment: Requires security hardening
See our Security Policy for details on:
- Reporting vulnerabilities
- Security best practices
- Production deployment considerations
- Get API key from OpenAI Platform
- Important: Requires organization verification for ChatGPT-image-1 access
- Visit OpenAI Image Generation Guide
- Create account at Stability AI
- Get API key from Account Keys
- Sign up at Recraft AI
- Generate API key from dashboard
- Functionality: 95% complete
- UI/UX: 98% complete with modern floating interface
- Technical Quality: 94% complete with clean architecture
- Documentation: 90% complete
- Security: POC-level, needs production hardening
- β Multi-provider AI integration (Stability AI, Recraft AI)
- β Advanced mask-based image editing
- β Modern floating toolbar interface
- β Complete authentication and user management
- β File upload, storage, and export
- β Responsive design and mobile support
- β OpenAI ChatGPT-image-1 provider implementation
- β Production security hardening
- β Comprehensive test coverage
- β Performance optimization for large images
- Core image editing functionality
- Multi-provider AI integration
- Modern UI with floating toolbar
- Authentication and user management
- OpenAI ChatGPT-image-1 integration
- Mobile optimization
- Advanced canvas features (zoom, pan, layers)
- Keyboard shortcuts and accessibility
- Performance optimizations
- Comprehensive testing
- Plugin system for extensibility
- Batch processing capabilities
- Advanced export options
- Collaboration features
Floating Toolbar Interface
- Draggable positioning anywhere on screen
- Auto-docking to screen edges
- Collapsible design with glassmorphism effects
AI-Powered Editing
- Paint masks to define edit areas
- Multiple AI providers for different styles
- Real-time preview and comparison
Professional Workflow
- Undo/redo with full history
- Export in multiple formats
- Seamless AI result integration
- GitHub Discussions: Ask questions and share ideas
- Issues: Report bugs and request features
- Pull Requests: Contribute code and improvements
- Discord (coming soon): Real-time community chat
We believe in recognizing our contributors:
- All contributors listed in the README
- Significant contributions highlighted in releases
- Community spotlight in discussions
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for ChatGPT-image-1 and API access
- Stability AI for Stable Diffusion integration
- Recraft AI for advanced image generation
- Supabase for backend infrastructure
- Next.js team for the excellent framework
- Community contributors for their valuable input
- Documentation: Check our comprehensive guides
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Ask questions and get help
- Security Issues: Follow our Security Policy
Built with β€οΈ by the iPaintAI community
π Star this repo β’ π Report Bug β’ β¨ Request Feature β’ π¬ Discussions