Agent with Image Input
Send image input to an AwsBedrock agent with amazon.nova-pro-v1:0.
AWS Bedrock supports image input with models like amazon.nova-pro-v1:0. You can use this to analyze images and get information about them.
Code
from pathlib import Path
from agno.agent import Agent
from agno.media import Image
from agno.models.aws import AwsBedrock
from agno.tools.websearch import WebSearchTools
agent = Agent(
model=AwsBedrock(id="amazon.nova-pro-v1:0"),
tools=[WebSearchTools()],
markdown=True,
)
image_path = Path(__file__).parent.joinpath("sample.jpg")
# Read the image file content as bytes
with open(image_path, "rb") as img_file:
image_bytes = img_file.read()
agent.print_response(
"Tell me about this image and give me the latest news about it.",
images=[
Image(content=image_bytes, format="jpeg"),
],
)Usage
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateSet your AWS Credentials
export AWS_ACCESS_KEY_ID=***
export AWS_SECRET_ACCESS_KEY=***
export AWS_REGION=***Install dependencies
uv pip install -U boto3 ddgs agnoAdd an Image
Place an image file named sample.jpg in the same directory as your script.
Run Agent
python image_agent.py