{"id":30171132,"url":"https://github.com/official-imvoiid/joycaption","last_synced_at":"2026-05-17T17:33:43.837Z","repository":{"id":306330456,"uuid":"1025809846","full_name":"official-imvoiid/Joycaption","owner":"official-imvoiid","description":"Joycaption optimized for windows ","archived":false,"fork":false,"pushed_at":"2025-07-24T21:34:40.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-11T21:52:01.408Z","etag":null,"topics":["aiml","batfile","caption-generation","captioning-images","captions","flux","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/official-imvoiid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-24T20:51:39.000Z","updated_at":"2025-07-24T21:34:44.000Z","dependencies_parsed_at":"2025-07-25T03:21:55.657Z","dependency_job_id":"2563551f-e44e-48da-acaa-2a3dfb7b6c63","html_url":"https://github.com/official-imvoiid/Joycaption","commit_stats":null,"previous_names":["official-imvoiid/joycaption"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/official-imvoiid/Joycaption","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/official-imvoiid%2FJoycaption","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/official-imvoiid%2FJoycaption/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/official-imvoiid%2FJoycaption/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/official-imvoiid%2FJoycaption/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/official-imvoiid","download_url":"https://codeload.github.com/official-imvoiid/Joycaption/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/official-imvoiid%2FJoycaption/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33147561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiml","batfile","caption-generation","captioning-images","captions","flux","windows"],"created_at":"2025-08-11T21:50:46.715Z","updated_at":"2026-05-17T17:33:43.831Z","avatar_url":"https://github.com/official-imvoiid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"##  JoyCaption - Windows Optimized\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Python](https://img.shields.io/badge/Python-3.8%2B-blue)](https://www.python.org/)\n[![Windows](https://img.shields.io/badge/Platform-Windows-blue)](https://www.microsoft.com/windows/)\n\nA Windows-optimized version of [JoyCaption](https://github.com/fpgaminer/joycaption/tree/main/gradio-app) that eliminates Linux-specific dependencies and provides a streamlined setup experience for Windows users.\n\n## 🎯 About JoyCaption\n\nJoyCaption is an image captioning Visual Language Model (VLM) being built from the ground up as a free, open, and uncensored model for the community to use in training Diffusion models. The model combines Meta-Llama-3.1-8B with Google's SigLIP vision encoder to provide high-quality image descriptions perfect for AI art generation and dataset preparation.\n\n## 🚀 Key Features\n\n- **Windows Native**: Removes `liger_kernel` dependency that requires `triton` (Linux-only)\n- **One-Click Setup**: Automated installation with batch files\n- **Portable Installation**: Self-contained Conda environment in `installedfiles/miniconda`\n- **Memory Optimization**: Multiple VRAM options (NF4, 8-bit, BF16)\n- **Easy Relocation**: Simple environment reconfiguration when moved\n- **High-Quality Captions**: Leverages Meta-Llama-3.1-8B for natural, detailed descriptions\n- **Gradio Interface**: User-friendly web interface for image captioning\n- **Batch Processing Ready**: Can be extended for batch image captioning workflows\n\n## 🔧 What's Different?\n\nThe original JoyCaption gradio app (`app.py`) requires `liger_kernel`, which depends on `triton` - a library that only works on Linux systems. This creates a significant barrier for Windows users who want to run JoyCaption locally.\n\n**Original Implementation Issues:**\n- Requires `liger_kernel` for memory optimization\n- `liger_kernel` depends on `triton` (Linux/CUDA specific)\n- Complex setup process for Windows users\n- Potential compatibility issues with Windows CUDA installations\n\n**Our Windows-Optimized Solution (`ImageCaption.py`):**\n- **Eliminates Linux dependencies**: No more `liger_kernel` or `triton` requirements\n- **Maintains full functionality**: All JoyCaption model capabilities preserved\n- **Improves Windows compatibility**: Native Windows operation without WSL or Linux subsystems\n- **Streamlined installation**: Automated setup with batch files\n- **Memory efficiency**: Alternative quantization methods for different VRAM levels\n\n## 📋 Requirements\n\n- **Operating System**: Windows 10/11 (64-bit)\n- **GPU**: NVIDIA GPU with CUDA support (recommended for optimal performance)\n- **VRAM**: Minimum 8GB (NF4 quantization), 12GB+ (8-bit), 16GB+ (BF16)\n- **Storage**: 20GB+ free disk space for model files and dependencies\n- **Internet**: Required for initial model download and setup\n\n## 🚀 Quick Start\n\n### 1. Download Conda\n```batch\nGetConda.bat\n```\nThis downloads and installs Miniconda to `installer_files\\Miniconda`.\n\n### 2. Set Environment\n```batch\nSetEnv.bat\n```\nConfigures the Conda environment paths. **Run this again if you move the folder to a new location.**\n\n### 3. Install Requirements\n```batch\nInstallRequirements.bat\n```\nCreates the Python environment and installs all required packages.\n\n### 4. Start the Application\n```batch\nStartTextCaptioner.bat\n```\nLaunches the JoyCaption interface.\n\n## 🛠️ Manual Operations\n\nFor advanced users who need to perform manual operations:\n\n```batch\nCmd.bat\n```\nOpens a preconfigured command prompt with all necessary Conda paths set.\n\n## 💾 Memory Usage Options\n\nThe application automatically selects the best quantization based on your available VRAM:\n\n| VRAM | Quantization | Description |\n|------|--------------|-------------|\n| 8GB+ | **NF4** | 4-bit quantization for low VRAM |\n| 12GB+ | **8-bit** | 8-bit quantization for medium VRAM |\n| 16GB+ | **BF16** | Brain Float 16 for high VRAM |\n\n## 📁 Project Structure\n\n```\nJoycaption/\n├── ImageCaption.py         # Main application (Windows optimized)\n├── GetConda.bat            # Download Conda installer\n├── SetEnv.bat              # Set environment variables\n├── InstallRequirements.bat # Install requirements\n├── StartTextCaptioner.bat  # Start the application\n├── Cmd.bat                 # Manual command prompt\n├── requirements.txt        # Python dependencies\n└── installer_files/        # Conda installation directory\n    └── Miniconda/          # Miniconda installation\n      └── pkgs              # All Miniconda Base Packages\n    └── Environments        # All Miniconda Envs\n```\n\n## 🔄 Moving the Installation\n\nIf you need to move the entire folder to a different location:\n\n1. Move the complete folder to the new location\n2. Run `SetEnv.bat` to reconfigure the environment paths\n3. Continue using the application normally\n\n## 🛠️ Troubleshooting\n\n### Common Issues\n\n**Environment not found after moving folder:**\n- Solution: Run `SetEnv.bat` to reconfigure paths\n\n**CUDA out of memory:**\n- Lower the quantization (use NF4 for lower VRAM)\n- Close other GPU-intensive applications\n\n**Import errors:**\n- Ensure all requirements are installed: run `InstallRequirements.bat`\n- Check that CUDA is properly installed\n\n### Manual Environment Reset\n\nIf you encounter issues, you can manually reset the environment:\n\n1. Delete the `installer_files` folder\n2. Run `GetConda.bat`\n3. Run `SetEnv.bat`\n4. Run `InstallRequirements.bat`\n\n## 📝 License\n\nThis project is licensed under the Apache License 2.0 - the same license as the original JoyCaption project. See the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **Original JoyCaption**: Created by [fpgaminer](https://github.com/fpgaminer/joycaption) - A groundbreaking open-source VLM for image captioning\n- **Built upon**: The gradio-app implementation from the original repository\n- **Model Components**: \n  - Meta-Llama-3.1-8B language model\n  - Google SigLIP vision encoder (siglip-so400m-patch14-384)\n- **Community**: Thanks to the AI/ML community for supporting open-source VLM development\n- **Windows Optimization**: Independently developed for improved Windows compatibility\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. Areas where contributions would be particularly helpful:\n\n- Performance optimizations\n- Additional quantization options\n- UI improvements\n- Documentation enhancements\n\n\n\n---\n\n**Note**: This is an independent optimization of the original JoyCaption project, focused specifically on improving Windows compatibility and ease of installation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofficial-imvoiid%2Fjoycaption","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fofficial-imvoiid%2Fjoycaption","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fofficial-imvoiid%2Fjoycaption/lists"}