
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
A modern desktop OCR (Optical Character Recognition) application built with Tauri, React, and Tesseract. This is a rewrite of the Tesseract-macOS app using modern web technologies and Rust.
🖼️ Multiple Input Methods
🔍 Advanced OCR
🎨 Advanced Image Processing
🤖 AI-Powered Features
📝 Text Management
🎨 Modern UI/UX
(Coming soon)
Imagio/
├── src/ # React frontend source code
│ ├── App.tsx # Application shell orchestrating feature modules
│ ├── components/ # Reusable UI building blocks (toolbar, status, overlays)
│ ├── features/ # Feature-oriented folders (ocr, promptOptimization, imageGeneration)
│ │ ├── ocr/
│ │ │ ├── components/ # OCR-specific panels and advanced controls
│ │ │ └── useOcrProcessing.ts
│ │ ├── promptOptimization/
│ │ │ ├── components/ # Prompt settings and optimized prompt panels
│ │ │ └── usePromptOptimization.ts
│ │ └── imageGeneration/
│ │ └── useImageGeneration.ts
│ ├── hooks/ # Cross-cutting hooks (config loading, keyboard shortcuts)
│ ├── utils/ # API clients for OCR-adjacent services
│ └── main.tsx # React entry point
├── src-tauri/ # Tauri/Rust backend
│ ├── src/
│ │ ├── lib.rs # OCR bindings and command handlers
│ │ └── main.rs # Tauri entry point
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
The React layer now follows a feature-first structure:
src/components and stay presentation-only.src/hooks) encapsulate cross-cutting concerns such as config loading and keyboard shortcuts.App.tsx acts as a lightweight coordinator, composing features via the hooks and UI primitives.
## 🎯 Usage
### Basic OCR Workflow
1. **Select an Image**
- Click "📁 Select Image" (⌘O) to choose an image file
- OR click "📸 Take Screenshot" (⌘⇧S) to capture a screenshot
- OR drag & drop an image file directly
2. **Adjust Processing** (Optional)
- Click "⚙️ Show Advanced" (⌘A) to reveal processing controls
- Configure LLM settings for prompt optimization
- OR manually adjust OCR preprocessing parameters
- Choose recognition language
3. **Extract Text**
- OCR automatically runs when an image is selected
- View the extracted text in the middle panel
- Edit the text if needed
4. **Export Results**
- Click "📋 Copy" (⌘C) to copy text to clipboard
- Click "💾 Save" (⌘S) to save as a text file
### AI Image Generation Workflow
1. **Optimize Prompt**
- After extracting text, configure your desired image style
- Add additional description (optional)
- Click "✨ Generate Prompt" to generate an optimized prompt using LLM
2. **Generate Image**
- Review and edit the optimized prompt if needed
- Select your desired aspect ratio (16:9, 1:1, etc.)
- Click "🎨 Generate Image" to create an image using FLUX Pro 1.1 Ultra
- Wait for the generation to complete (usually 10-30 seconds)
- View the generated image in the right panel
**Note:** Image generation requires a valid BFL API key configured in `public/config.local.json`
## ⌨️ Keyboard Shortcuts
- `⌘O` - Open image file
- `⌘⇧S` - Take screenshot
- `⌘↵` - Extract text (when image loaded)
- `⌘C` - Copy text to clipboard (when text available)
- `⌘S` - Save text to file (when text available)
- `⌘A` - Toggle advanced settings (when no text)
## 📦 Supported Image Formats
- PNG
- JPG/JPEG
- GIF
- BMP
- TIFF
- WebP
## 🌍 Supported Languages
- 🇬🇧 English (eng)
- 🇨🇳 Chinese Simplified (chi_sim)
- 🇹🇼 Chinese Traditional (chi_tra)
- 🇯🇵 Japanese (jpn)
- 🇰🇷 Korean (kor)
- 🇫🇷 French (fra)
- 🇩🇪 German (deu)
- 🇪🇸 Spanish (spa)
*Note: Additional language packs can be installed via Tesseract*
## 🏗️ Building
### Development
```bash
npm run tauri:dev
npm run tauri:build
The built application will be available in src-tauri/target/release/bundle/.
Create a public/config.local.json file (this path is .gitignored) to store your API credentials without committing them:
{
"llm": {
"apiBaseUrl": "https://api.openai.com/v1",
"apiKey": "sk-your-key",
"modelName": "gpt-4"
},
"bflApiKey": "your-bfl-api-key-here"
}
Configuration Options:
llm.apiBaseUrl: LLM API endpoint (default: http://127.0.0.1:11434/v1 for local Ollama)llm.apiKey: Your LLM API key (optional for local models like Ollama)llm.modelName: Model name to use (e.g., llama3.1:8b, gpt-4)bflApiKey: Your Black Forest Labs API key for FLUX image generationThe app will merge these values with its defaults at startup. Keep this file local—never add it to git.
Imagio/
├── src/ # React frontend source code
│ ├── App.tsx # Main application component
│ ├── App.css # Application styles
│ └── main.tsx # React entry point
├── src-tauri/ # Tauri/Rust backend
│ ├── src/
│ │ ├── lib.rs # Main Rust code with OCR functionality
│ │ └── main.rs # Tauri entry point
│ ├── Cargo.toml # Rust dependencies
│ ├── tauri.conf.json # Tauri configuration
│ └── icons/ # App icons
├── index.html # HTML entry point
├── package.json # Node.js dependencies
├── vite.config.ts # Vite configuration
├── README.md # This file
└── FEATURES.md # Feature tracking document
tauri-plugin-dialog - File picker and dialogstauri-plugin-fs - Filesystem accesstauri-plugin-log - Logging utilitiesSee FEATURES.md for detailed feature implementation progress.
All core features are implemented and functional. The app now matches and exceeds the original Tesseract-macOS feature set.
MIT License - see LICENSE file for details
All major issues have been resolved! ✅
Minor considerations:
See FEATURES.md for complete issue tracking.
Contributions are welcome! Please feel free to submit a Pull Request.
For questions or feedback, please open an issue on GitHub.
FAQs
Tauri-based OCR and Image Generation App for macOS
The npm package imagio receives a total of 1 weekly downloads. As such, imagio popularity was classified as not popular.
We found that imagio demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.