MiniMax Tools

Demonstrates MiniMax video generation tools.

minimax_tools.py
"""
MiniMax Tools
=============================

Demonstrates MiniMax video generation tools.

The toolkit submits a text-to-video task to the MiniMax video generation API,
polls it until it reaches a terminal state, and returns the result as a Video
artifact.

Setup:
    export MINIMAX_API_KEY=***

Prompts to try:
    - "Generate a video of a paper boat crossing a moonlit lake"
    - "Create a 10 second video of a hot air balloon over a desert at sunrise"
"""

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.minimax import MiniMaxTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------

minimax_agent = Agent(
    name="MiniMax Video Generator Agent",
    model=OpenAIChat(id="gpt-5.6-luna"),
    tools=[
        MiniMaxTools(
            # Use region="cn_zh" for the mainland China endpoint.
            region="global_en",
            model="MiniMax-H3",
        )
    ],
    description="You are an AI agent that can generate videos using the MiniMax API.",
    instructions=[
        "When the user asks you to create a video, use the `generate_video` tool.",
        "Duration is given in whole seconds, from 4 through 15.",
        "Return the URL as raw to the user.",
        "Don't convert video URL to markdown or anything else.",
    ],
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    minimax_agent.print_response(
        "Generate a video of a paper boat crossing a moonlit lake"
    )

    # ---------------------------------------------------------------------------
    # More Examples
    # ---------------------------------------------------------------------------

    # Vertical 9:16 output at a specific duration.
    # minimax_agent.print_response(
    #     "Create a 10 second vertical video of a hot air balloon over a desert at sunrise"
    # )

The toolkit submits a remote job and polls for up to 600 seconds by default. It returns a Video artifact after a successful result; a timeout is not a remote cancellation. To obtain the URL without relying on the model's final wording, replace the final call with:

response = minimax_agent.run("Generate a video of a paper boat crossing a moonlit lake")
for video in response.videos or []:
    print(video.url)

region selects the endpoint and must match your provider account. Duration and resolution are sent to MiniMax for validation.

Run the Example

Set up your virtual environment

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

Install dependencies

uv pip install -U agno openai

Export your API keys

export MINIMAX_API_KEY="your_minimax_api_key_here"
export OPENAI_API_KEY="your_openai_api_key_here"

Run the example

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

python minimax_tools.py

Full source: cookbook/91_tools/minimax_tools.py