An open API service indexing awesome lists of open source software.

https://github.com/kikugo/isitadinosaur

A Streamlit app using Google's Gemini models to analyze images.
https://github.com/kikugo/isitadinosaur

ai asyncio gemini generative-ai google-ai image-analysis image-processing machine-learning object-detection python streamlit web-app

Last synced: about 2 months ago
JSON representation

A Streamlit app using Google's Gemini models to analyze images.

Awesome Lists containing this project

README

          

# ISITADINOSAUR

_Is it Jurassic or just a pic? Let our image checker decide!_

## What's this?!

This app takes an image as input and uses AI (Google's Gemini 2.0 Flash) to determine if a dinosaur is present, providing a humorous response. It's built with Python and Streamlit, and now features asynchronous processing for improved responsiveness!

## Features

* **Dinosaur Detection (Humorous):** The app analyzes your image and generates a funny response about whether a dinosaur appears to be present.
* **Multiple Prompt Styles:** Prompts are dynamically generated by AI (Gemini 2.0 Flash Lite), providing endless variety!
* **User-Selectable Dinosaur Personalities:** Choose a dinosaur personality (Grumpy T-Rex, Silly Stegosaurus, etc.) to influence the tone of the response.
* **Image-Based Prompt Modification:** The prompt is subtly adjusted based on the content of your image, making the responses more relevant.
* **Dinosaur Facts:** Learn a random dinosaur fact after each analysis!
* **User-Submitted Captions:** Add your own funny caption to the image.
* **Sound Effects (Optional):** A fun sound effect plays after the response (can be muted).
* **WebP Support:** Supports JPG, JPEG, PNG, and WebP image formats.
* **Serious Mode (Object Detection):** Switch to "Serious Mode" to identify the main objects in the image instead of getting a humorous dinosaur response.
* **Asynchronous Processing**: The app is now more smooth and responsive.

## Tech Stack

* Python
* Streamlit
* Google Gemini (2.0 Flash and 2.0 Flash Lite)
* asyncio

## How to Run (Locally)

1. **Clone the repository:**
```bash
git clone
cd ISITADINOSAUR
```
(Replace `` with the actual URL of your GitHub repository.)

2. **Install dependencies:**
```bash
pip install -r requirements.txt
```

3. **Create a `.env` file:**
* Create a file named `.env` in the project's root directory.
* Add your Google Gemini API key to the `.env` file:
```
GOOGLE_API_KEY=your_actual_api_key_here
```
(Replace `your_actual_api_key_here` with your key.)

4. **Run the app:**
```bash
streamlit run app.py
```

## Roadmap

* [ ] Explore LangChain integration.
* [x] Implement asynchronous processing for improved responsiveness.
* [x] Add "Serious Mode" for actual object detection.
* [x] Switch to Gemini 2.0 Flash and Flash Lite models.