Artify is a versatile and user-friendly tool that applies artistic styles to images using cutting-edge AI. It supports both CLI and UI-based interfaces and integrates seamlessly with Hugging Face, Docker, and Kubernetes for scalability and ease of deployment.
- 🎨 AI-Powered Style Transfer: Transform your images using pre-trained style models (e.g., Impressionism, Abstract, Surrealism).
- 💻 Command-Line Interface (CLI): Automate your workflows with a robust CLI.
- 🌐 Streamlit UI: Upload images, choose styles, and generate styled results interactively.
- 🔧 Logging: Transparent and detailed logging for all operations.
- 🚀 Hugging Face Integration: Automatically download required models for styles.
- 🐳 Docker & Kubernetes (in the future): Containerized for easy deployment and scalability.
Artify is designed for users and developers who want to quickly apply artistic styles to images. It combines the power of deep learning (via PyTorch and Transformers) with a streamlined user experience.
- Python 3.8+
- Miniconda or pip (preferred for environment setup)
- NVIDIA GPU with CUDA (optional but recommended)
- Docker and Kubernetes (in progress)
-
Clone the repository:
git clone https://github.com/ClueSec/artify.git cd artify
-
Install dependencies:
conda create -n artify python=3.10 -y conda activate artify pip install -r requirements.txt
-
Set up the environment variables:
- Add your Hugging Face token to
.env
:HF_TOKEN=your_huggingface_api_token
- Add your Hugging Face token to
The CLI provides automation for style transfer:
python interface/CLIHandler.py --content <path_to_content_image> \
--style_category <style_category> \
--output <path_to_output_image>
python interface/CLIHandler.py --content images/content/sample_content.jpg \
--style_category impressionism \
--output images/output/styled_image.jpg
Start the interactive Streamlit UI:
streamlit run interface/UIHandler.py
- Upload your content image.
- Select a style category (e.g., Impressionism).
- Generate the styled image and download it.
- Input: User uploads a content image and selects a style.
- Preprocessing:
- Image resizing and normalization.
- Pre-trained VGG-19 is used for feature extraction.
- Style Transfer:
- Models trained on specific artistic styles.
- Gram matrices for style features.
- Output: Styled image is generated and saved.
Build the Docker image:
docker build -t artify .
Run the container:
docker run -p 8501:8501 artify
This project is licensed under the MIT License. See LICENSE for details.