A modern web application for generating, editing, and organizing images with the Chutes AI platform. It combines AI workflows with a local visual editor built with Vue 3, TypeScript, and Tailwind CSS.
| Image Generation | Inpaint/Enhance | Library | Settings | Editor |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
- Image Generation: Create high-quality images using advanced AI models like Z Image Turbo, Qwen Image, FLUX.1 Dev, and more.
- Image Editing: Edit existing images with specialized models like Qwen Image Edit.
- Inpaint/Enhance: Locally enhance and edit images by drawing masks and using AI-powered inpainting with ONNX models in the browser.
- Visual Editor: A fully-featured graphical editor for creating designs with text, shapes, images, layers, groups, and frames. Projects are saved locally and can be reopened later.
- Start from a blank canvas, a template, an example layout, or a recent project
- Layer management with drag-and-drop reordering, visibility, locking, grouping, and ungrouping
- Text tools with formatting and text effects
- Shape tools including rectangles, circles, ellipses, stars, polygons, arrows, arcs, wedges, rings, lines, and paths
- Image import from your library, crop mode, and image filters
- Snapping, multi-selection, zoom controls, undo/redo, and context menus
- Color panel with 540+ curated colors from Coolors.co
- Gradient support with multiple categories
- Auto-save every 5 minutes with thumbnail generation
- Export to PNG, JPG, WebP, or ZIP project archives
- Automatic migration of older projects that still embed base64 images
- Personal Library: Store and manage all your generated content locally.
- Intuitive Interface: A tabbed workspace for Generate/Edit, Inpaint/Enhance, Editor, Library, and Settings.
- Multi-language Support: Available in Spanish and English.
- Local Storage: Uses SQLite/OPFS to save content without needing a server, with legacy IndexedDB migration support.
- Real-time Notifications: Receive immediate feedback on your generation progress.
- Prompt Optimization: Some models support automatic prompt enhancement for better results.
- Image Generation: β Working
- Image Editing: β Working
- Inpaint/Enhance: β Working
- Visual Editor: β Working
- Video Generation: Not Implemented
- Text to Speech: Not Implemented
Note: Some models may be outdated. If you find any model that doesn't work properly, please report it.
- Framework: Vue 3 with Composition API
- Language: TypeScript
- Bundler: Vite
- Styles: Tailwind CSS with shadcn/ui components
- State Management: Pinia
- Internationalization: vue-i18n
- Icons: Lucide Vue Next
- Notifications: vue-sonner
- Storage: IndexedDB with idb
- UI Components: Radix UI with class-variance-authority
- Canvas: Konva with vue-konva
- Color Extraction: extract-colors
- Clone the repository:
git clone <repository-url>
cd pixeo- Install dependencies:
npm install
# or
bun install- Start the development server:
npm run dev
# or
bun run dev- Open your browser at
http://localhost:5173
npm run dev- Start the development servernpm run build- Build the application for productionnpm run preview- Preview the production buildnpm run lint- Run ESLint to verify code
- Go to the Settings tab
- Enter your Chutes AI API key
- The application will automatically verify your available quota
- Select the Generate/Edit tab
- Choose the mode: Image or Edit
- Select an available model
- Configure resolution and advanced parameters
- Write your prompt
- (Optional) Enable "Optimize Prompt" if available for the selected model
- Click "Generate"
- Go to the Library tab and zoom into any generated image
- Click the Enhance button in the zoom modal
- The image will load into the Inpaint/Enhance tab
- Draw masks on areas you want to enhance or modify
- Adjust brush size as needed
- The AI will process the image locally in your browser using ONNX models
- Compare original and enhanced versions with the toggle
- Download the enhanced result
The Visual Editor lets you build designs locally with templates, layers, and editable objects.
- Select the Editor tab
- Choose a blank canvas, a template, an example layout, or a recent project
- Add elements from the toolbar or side panels:
- Text: Add and edit text with fonts, size, alignment, styling, and effects
- Shapes: Create rectangles, circles, ellipses, stars, polygons, arrows, arcs, wedges, rings, and lines
- Images: Import images from your library, then crop or filter them when needed
- Use the layers panel or the right-click menu to reorder, duplicate, group, ungroup, lock, hide, or delete elements
- Customize colors using:
- Built-in color picker
- 540+ curated colors from Coolors.co
- Gradient fills
- Recent colors from your document
- Adjust zoom and snapping for precision work
- Export your design as PNG, JPG, WebP, or ZIP
- Save your project to the Library for later editing
- The editor also auto-saves every 5 minutes and migrates older base64-based projects when they are opened
Editor Features:
- Layer management with visibility, locking, grouping, and multi-selection
- Undo/Redo functionality
- Auto-save with thumbnail generation
- Canvas settings (size, background color, background image)
- Position and size controls
- Crop mode for images
- Template gallery and recent projects
Some models support automatic prompt optimization through specialized AI experts. When enabled, the original prompt is analyzed and rewritten to enhance visual details, properly handle text content in images, and specify artistic style appropriately.
This feature is available for the following models:
- qwen-image - General image prompt enhancer
- qwen-image-2512 - Portrait-focused image prompt enhancer
- qwen-image-edit-2509 - Edit prompt enhancer
- qwen-image-edit-2511 - Edit prompt enhancer (v2)
- z-image-turbo - Visionary artist prompt enhancer
The optimization configuration is located in src/config/optimize_prompts.json.
- The Library tab shows all your generated content and saved projects
- View and edit saved editor projects directly from the library
- Use zoom to view complete details
- Download content individually
- Export all content as ZIP
- Clear the current session
src/
βββ components/ # Reusable Vue components
β βββ generate/ # Generation components
β βββ editor/ # Visual Editor components
β β βββ sidebar/ # Editor sidebar panels (colors, layers, elements, etc.)
β β βββ properties/ # Property editors for each layer type
β βββ inpaint/ # Inpaint/enhance components
β βββ library/ # Library components
β βββ settings/ # Settings components
β βββ ui/ # Reusable UI components
βββ config/ # Model and resolution configurations
β βββ styles/ # Style galleries for different models
βββ i18n/ # Internationalization files
βββ lib/ # Utilities and helpers
βββ services/ # API services (Chutes AI) and inpaint processor
βββ stores/ # Global state with Pinia
βββ types/ # TypeScript definitions
- Z Image Turbo
- Hunyuan Image 3
- Qwen Image / Qwen Image 2512
- HiDream
- FLUX.1 Dev
- JuggernautXL
- Chroma
- iLustMix
- Neta Lumina
- And more...
- Qwen Image Edit 2509/2511
The application supports Spanish and English. Translation files are located in src/i18n/.
- Responsive Design: Works on desktop and mobile
- Dark/Light Theme: Switch between modes with the button in the top bar
- Offline Storage: Works without internet connection (except for generating content)
- Editor Persistence: Projects are stored locally in SQLite/OPFS with thumbnails and project assets
- Quota Management: Monitor your API usage in real-time
- Detailed Logging: Log all operations in settings
Models are configured in src/config/models_data.ts. Each model includes:
- API endpoint
- Available parameters
- Supported resolutions
- Parameter mapping
- Add the configuration in
models_data.ts - Update exports in
models.ts - Restart the application
See src/config/custom_resolutions.md to learn how to define custom resolutions.
The editor includes 540+ curated colors from Coolors.co, organized by tone. See src/stores/colors.ts and coolors-co.md for details.
The editor supports gradient fills organized by category (cold, warm, monochrome, iridescent). See src/stores/gradients.ts for configuration.
This project is based on the original idea from chutes-img-ui.
This application is vibe coded, which means it was built quickly and practically to fulfill its purpose. As such, it may not be properly optimized and could contain code that doesn't follow development best practices. Any improvement or optimization is welcome.




