Multimodal Team
Legacy Slack multimodal team with vision analysis and deprecated DALL-E image generation
Part of the Slack interface examples. Follow the setup guide.
DALL-E models are deprecated. This DalleTools example is retained as a legacy reference and no longer runs against the current OpenAI API. Use OpenAITools with GPT Image 2 in Image Generation Agent.
Code
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.os.app import AgentOS
from agno.os.interfaces.slack import Slack
from agno.team import Team
from agno.tools.dalle import DalleTools
from agno.tools.websearch import WebSearchTools
vision_analyst = Agent(
name="Vision Analyst",
model=OpenAIChat(id="gpt-5.4-mini"),
role="Analyzes images, files, and visual content in detail.",
instructions=[
"You are an expert visual analyst.",
"When given an image, describe it thoroughly: subjects, colors, composition, text, mood.",
"When given files (CSV, code, text), analyze their content and provide insights.",
"Always format with markdown: bold, italics, bullet points.",
],
markdown=True,
)
creative_agent = Agent(
name="Creative Agent",
model=OpenAIChat(id="gpt-5.4-mini"),
role="Generates images with DALL-E and searches the web.",
tools=[DalleTools(), WebSearchTools()],
instructions=[
"You are a creative assistant with image generation abilities.",
"Use DALL-E to generate images when asked.",
"Use web search when you need reference information.",
"Describe generated images briefly after creation.",
],
markdown=True,
)
multimodal_team = Team(
name="Multimodal Team",
mode="coordinate",
model=OpenAIChat(id="gpt-5.4-mini"),
members=[vision_analyst, creative_agent],
instructions=[
"Route image analysis and file analysis tasks to Vision Analyst.",
"Route image generation and web search tasks to Creative Agent.",
"If the user sends an image and asks to recreate/modify it, first ask Vision Analyst to describe it, then ask Creative Agent to generate a new version.",
],
show_members_responses=False,
markdown=True,
)
agent_os = AgentOS(
teams=[multimodal_team],
interfaces=[
Slack(
team=multimodal_team,
streaming=True,
reply_to_mentions_only=True,
suggested_prompts=[
{
"title": "Analyze",
"message": "Send me an image and I'll analyze it in detail",
},
{
"title": "Generate",
"message": "Generate an image of a sunset over mountains",
},
{"title": "Search", "message": "Search for the latest AI art trends"},
],
)
],
)
app = agent_os.get_app()
if __name__ == "__main__":
agent_os.serve(app="multimodal_team:app", reload=True)Current Alternative
The source above uses removed DALL-E models and is preserved for reference. Replace DalleTools with the GPT Image 2 pattern in Image Generation Agent before adapting the surrounding Slack integration.
Key Features
- Coordinated Multi-Agent Team: A coordinator routes tasks to specialized members based on the request type
- Vision Analysis: The Vision Analyst processes images and files shared in Slack using the model's multimodal capabilities
- Legacy Image Generation: The pinned Creative Agent used DALL-E and web search for reference material
- Suggested Prompts: Configured for the adapter's legacy
assistant_thread_startedhandler. See the current-app limitation before relying on automatic prompt display.