AI in the Kitchen: Building a Recipe Builder with Gemini and Python

Highly skilled Data Test Automation professional with over 10 years of experience in data quality assurance and software testing. Proven ability to design, execute, and automate testing across the entire SDLC (Software Development Life Cycle) utilizing Agile and Waterfall methodologies. Expertise in End-to-End DWBI project testing and experience working in GCP, AWS, and Azure cloud environments. Proficient in SQL and Python scripting for data test automation.
In today’s fast-paced world, where time is precious and creativity in the kitchen can often take a backseat, what if you could simply take a photo of the vegetables in your fridge, share it with an AI, and get a delicious recipe tailored to those ingredients? Sounds like a dream, right? With the power of Gemini AI and Streamlit, this dream can become a reality. In this blog, I’ll walk you through how to build a Recipe Builder app that turns your fridge ingredients into culinary masterpieces.
The Recipe Builder App
The Recipe Builder app we’re building will allow users to:
Take a photo of the vegetables or ingredients in their fridge (or upload an existing image).
Provide an optional text prompt (e.g., "Make a vegetarian dish" or "Suggest a quick dinner recipe").
Generate a recipe based on the image and prompt using Gemini AI.
Let’s dive into the code and see how it works!
Step 1: Setting Up the Environment
Before we start coding, we need to set up our environment. Here’s what you’ll need:
Python installed on your machine.
A Google Cloud API key for Gemini AI (you can get this from the Google AI studio).
Install the required Python libraries.
Run the following commands to install the necessary libraries:
pip install streamlit python-dotenv google-generativeai
Step 2: Writing the Code
Here’s the complete code for our Recipe Builder app:
from dotenv import load_dotenv
load_dotenv()
import streamlit as st
import os
from PIL import Image
import google.generativeai as genai
genai.configure(api_key=os.getenv("GENAI_API_KEY"))
#gemini call
def get_gemini_response(input,image):
model = genai.GenerativeModel('gemini-2.0-flash')
if input!="":
response = model.generate_content([input,image])
else:
response = model.generate_content(image)
return response.text
##initialize streamlit app
st.set_page_config(page_title="Gemini Recipe Builder")
st.header("Gemini Recipe Builder")
input=st.text_input("Input Prompt: ",key="input")
uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
image=""
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption="Uploaded Image.", use_column_width=True)
submit=st.button("Gnerate Recipe")
## Button click
if submit:
response=get_gemini_response(input,image)
st.subheader("The Response text:")
st.write(response)
Github:
https://github.com/vipinputhanveetil/gemini_recipe_builder
Step 3: Breaking Down the Code
Environment Setup:
We use
dotenvto load environment variables, including the Gemini API key.The
google-generativeailibrary is used to interact with the Gemini AI model.
Gemini AI Configuration:
- The
genai.configurefunction sets up the API key for Gemini.
- The
Streamlit App:
The app has a title (
Gemini Recipe Builder) and a header.Users can input a text prompt and upload an image of ingredients.
The
get_gemini_responsefunction sends the input and image to the Gemini model and retrieves the generated recipe.
Image Handling:
- The app uses the
PILlibrary to open and display the uploaded image.
- The app uses the
Recipe Generation:
- When the user clicks the "Generate Recipe" button, the app sends the input and image to Gemini AI and displays the generated recipe.
Step 4: Running the App
To run the app, save the code in a file (e.g., recipe_builder.py) and run the following command in your terminal:
streamlit run gemini_recipe_builder.py
This will start the Streamlit app, and you can access it in your browser at http://localhost:8504.
Step 5: Testing the App
Take a photo of the vegetables or ingredients in your fridge (or upload an existing image).
Optionally, provide a text prompt like "Make a pasta dish" or "Suggest a quick dinner recipe."
Click "Generate Recipe" and watch as Gemini AI creates a recipe tailored to your ingredients!



Why This App is Useful
Personalized Recipes: The app generates recipes based on the ingredients you have, reducing food waste and inspiring creativity in the kitchen.
Ease of Use: Simply take a photo of your fridge contents, and let AI do the rest.
AI-Powered: Gemini AI ensures that the recipes are relevant and tailored to your inputs.
Time-Saving: No more searching for recipes—just snap a photo and get cooking!
Future Enhancements
This app is just the beginning! Here are some ideas to make it even better:
Add dietary preferences (e.g., vegan, gluten-free).
Include step-by-step cooking instructions.
Integrate a shopping list generator for missing ingredients.
Allow users to save and share their favorite recipes.
Conclusion
Building a Recipe Builder with Gemini AI and Streamlit is a fun and practical way to explore the capabilities of generative AI. With just a few lines of code, you can create an app that helps people cook delicious meals using the ingredients they already have. Whether you’re a beginner or an experienced developer, this project is a great way to dive into the world of AI and web development.




