title | emoji | colorFrom | colorTo | sdk | sdk_version | app_file | pinned | license | short_description |
---|---|---|---|---|---|---|---|---|---|
Photo Journel Assistant |
📉 |
purple |
green |
streamlit |
1.40.2 |
app.py |
false |
mit |
Photo Journel Assistant |
The Photo Journal Assistant is a Streamlit-based app that helps you transform your daily experiences into personalized journal entries using photos. Upload your images, and the app will generate captions, extract metadata, and craft a cohesive and reflective journal entry.
- Uses the BLIP Image Captioning model from Salesforce to generate meaningful captions for uploaded images.
- Captions are tailored based on a given prompt, such as describing the image's essence or context.
- Extracts EXIF metadata from images, such as:
- Date Taken: The timestamp when the photo was captured.
- Location: Latitude and longitude if GPS data is available.
- Displays human-readable formats for easy understanding.
- Combines image captions and metadata to create a reflective, personalized journal entry.
- Powered by Google Gemini AI, it crafts immersive and engaging narratives using a creative writing prompt.
- Outputs the journal entry in plain text format.
- Users can download and save their generated journals.
- Try the app live: Photo Journal Assistant (Live)
-
Clone the Repository:
git clone https://github.com/your-username/photo-journal-assistant.git cd photo-journal-assistant
-
Install Dependencies:
pip install -r requirements.txt
-
Set Up Environment Variables:
- Create a
.env
file in the root directory. - Add your Google Generative AI API key:
GENAI_API_KEY=your_api_key
- Create a
-
Run the App:
streamlit run app.py
- Launch the app in your browser.
- Upload your photos in supported formats (JPG, JPEG, PNG).
- View the generated captions and metadata for each photo.
- Read and download your personalized journal entry.
-
Image Captioning:
- The BLIP model generates captions based on the content of the image and a specified prompt.
-
Metadata Extraction:
- Extracts EXIF metadata, including GPS coordinates.
- Decodes GPS data into a human-readable location format.
-
Journal Writing:
- Google Gemini AI synthesizes captions and metadata into a cohesive narrative.
- Reflects on transitions, emotions, and highlights of the day.
- Streamlit: For building the user interface.
- Pillow: For image processing and metadata extraction.
- Transformers: For loading and running the BLIP model.
- google-generativeai: For accessing Google Gemini AI capabilities.
- Python-dotenv: For managing API keys securely.
Feel free to submit pull requests or open issues for improvements and bug fixes. Let’s make journaling with AI even better!
This project is licensed under the MIT License. See the LICENSE
file for more details.