WhatsApp Image Generation Agent (Model-based)
WhatsApp agent that generates images using Gemini's built-in capabilities
Code
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.google import Gemini
from agno.os.app import AgentOS
from agno.os.interfaces.whatsapp import Whatsapp
agent_db = SqliteDb(db_file="tmp/persistent_memory.db")
image_agent = Agent(
id="image_generation_model",
db=agent_db,
model=Gemini(
id="gemini-3-pro-image",
response_modalities=["Text", "Image"],
),
add_history_to_context=True,
num_history_runs=3,
)
agent_os = AgentOS(
agents=[image_agent],
interfaces=[Whatsapp(agent=image_agent)],
)
app = agent_os.get_app()
if __name__ == "__main__":
agent_os.serve(app="image_generation_model:app", reload=True)Usage
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateSet Environment Variables
export WHATSAPP_ACCESS_TOKEN=your_access_token
export WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id
export WHATSAPP_VERIFY_TOKEN=your_verify_token
export WHATSAPP_APP_SECRET=your_app_secret
export GOOGLE_API_KEY=your_google_api_keySee the WhatsApp setup guide for how to get these values from the Meta Developer Dashboard.
Install dependencies
uv pip install -U "agno[os]" google-genaiRun Example
python image_generation_model.pyKey Features
- Direct Image Generation: Gemini with native image generation
- Text-to-Image: Converts descriptions into visual content
- Multimodal Responses: Generates both text and images
- WhatsApp Integration: Sends images directly through WhatsApp