A multi-agent AI system for automated digital ad creative generation using Google's Agent Development Kit (ADK) and Vertex AI.
This project creates an AI-powered system that automates the creation of digital ad creatives by orchestrating multiple specialized agents. The system takes a product description and target audience as input and generates both ad copy and visual creatives for different platforms.
The project uses a hybrid approach combining:
- Google ADK for agent orchestration and communication
- Vertex AI Imagen for image generation
- Gemini 2.5 Flash for text generation and multimodal processing
- Streamlit for the user interface
Our multi-agent system consists of:
- Root Agent - Main orchestrator that coordinates the workflow
- Copy Generator Agent - Generates persuasive ad copy
- Image Generator Agent - Creates base images using Vertex AI Imagen
- Ad Composer Agent - Combines copy and images into complete ad creatives
- Multi-Platform Support: Generates ads optimized for Facebook, Google, and TikTok
- Automated Workflow: End-to-end generation from brief to final creative
- Visual Intelligence: Platform-aware image generation with appropriate framing and composition
- Interactive UI: Streamlit-based interface for easy interaction
- Downloadable Assets: Generated ads and JSON exports
DevFestDC-AI-Challenge/
├── ad_creative_agent/ # Main agent system
│ ├── agent.py # Root orchestrator agent
│ └── sub_agents/ # Specialized sub-agents
│ ├── copy_generator/ # Ad copy generation
│ ├── image_generator/ # Image creation
│ └── ad_composer/ # Creative composition
├── streamlit_app.py # Web interface
├── ads/ # Final composed ad creatives
├── images/ # Generated base images
├── image_generation_VertexAI.py # Vertex AI integration
└── README.md # Project documentation
- Python 3.8+
- Google Cloud Project with Vertex AI enabled
- Google AI Studio API key
- Clone the repository:
git clone https://github.com/your-username/DevFestDC-AI-Challenge.git
cd DevFestDC-AI-Challenge- Install dependencies:
pip install google-adk
pip install streamlit- Set up environment variables in
.env:
GEMINI_API_KEY=your_gemini_api_key
GCP_PROJECT_ID=your_gcp_project_id
GCP_LOCATION=us-central1
GOOGLE_CLOUD_PROJECT=your_gcp_project_id
GOOGLE_CLOUD_LOCATION=global
GOOGLE_GENAI_USE_VERTEXAI=True- Authenticate with Google Cloud:
gcloud auth application-default loginLaunch the interactive web application:
streamlit run streamlit_app.py- Enter your product description
- Specify your target audience
- Select your marketing goal (Awareness, Consideration, Conversion)
- Click Generate Ads to create 3 variations per platform
- Download individual images or the complete ads JSON
Test the agent system using ADK's built-in web interface:
adk webThis provides a local web interface to interact directly with your agents for development and testing.
Use the ADK agents directly in your code:
from ad_creative_agent.agent import root_agent
# Initialize the root agent
response = root_agent.send_message(
"Generate ad copy and images for a fitness tracker targeting young professionals"
)- Google Agent Development Kit (ADK) - Agent framework
- Vertex AI Imagen - Image generation
- Gemini 2.5 Flash - Language model for copy generation
- Streamlit - Web interface
- Pillow (PIL) - Image processing
- Multi-agent system using Google ADK
- Ad copy generation
- Vertex AI Imagen integration for image generation
- Platform-aware visual prompt engineering
- Streamlit web interface
- Image composition and text overlay
- Downloadable assets
- LangGraph workflow orchestration
- Advanced evaluator agent with quality scoring
- Analytics agent with performance insights
- Feedback loop for iterative improvement
- A/B testing capabilities
This project was developed for the DevFest DC AI Challenge. Feel free to fork and extend the functionality!
- DevFest DC organizers for the AI Challenge
- Google Cloud for Vertex AI and ADK platform
- The open-source community for supporting libraries

