Image To Image

Give an agent FalTools and a source image URL so it can generate a transformed image with Fal's image_to_image model.

Image To Image.

This example constructs FalTools() with enable_image_to_image=False, the toolkit default, so the image_to_image tool is unavailable as written. Apply the migration below before running it.

image_to_image.py
"""
Image To Image
=============================

Image To Image.
"""

from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.fal import FalTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    id="image-to-image",
    name="Image to Image Agent",
    tools=[FalTools()],
    markdown=True,
    instructions=[
        "You have to use the `image_to_image` tool to generate the image.",
        "You are an AI agent that can generate images using the Fal AI API.",
        "You will be given a prompt and an image URL.",
        "You have to return the image URL as provided, don't convert it to markdown or anything else.",
    ],
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "a cat dressed as a wizard with a background of a mystic forest. Make it look like 'https://fal.media/files/koala/Chls9L2ZnvuipUTEwlnJC.png'",
        stream=True,
    )

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno fal-client openai

Export environment variables

export FAL_API_KEY="your_fal_key_here"
export FAL_KEY="your_fal_key_here"
export OPENAI_API_KEY="your_openai_api_key_here"

Enable image-to-image

Replace tools=[FalTools()] with tools=[FalTools(enable_generate_media=False, enable_image_to_image=True)] in the saved file.

Run the example

Save the code above as image_to_image.py, then run:

python image_to_image.py

Full source: cookbook/02_agents/12_multimodal/image_to_image.py