Skip to content

Can not send BinaryContent to "gpt-4.1-mini" on AzureOpenAI #2511

@sugawarayss

Description

@sugawarayss

Initial Checks

Description

i facing issue about it is not working BinaryContent with AzureOpenAI "gpt-4.1-mini" model .

Agent.run have user_prompt string(written in japanese) and 9 image files (base64 encoded content).
gpt-4.1-mini model is not include BinaryContent in request_tokens like following Usage information.

does pydantic-ai not support "gpt-4.1-mini"? or my code is not something bad???

When i use "gpt-4o-mini" model

Usage(
    requests=1,
    request_tokens=78480,
    response_tokens=124,
    total_tokens=78604,
    details={'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0, 'cached_tokens': 0}
)

When i use "gpt-4.1-mini" model

Usage(
    requests=1,
    request_tokens=2889,  # it is not include BinaryContent????
    response_tokens=17,
    total_tokens=2906,
    details={'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0, 'cached_tokens': 0}
)

Example Code

model = OpenAIModel(
    model_name=MY_AZURE_DEPLOYMENT_NAME,  # deploy model:"gpt-4.1-mini" with model_ver: "2025-04-14"
    provider=AzureProvider(
        azure_endpoint=MY_AZURE_ENDPOINT,
        api_key=MY_AZURE_API_KEY,
        api_version=MY_AZURE_API_VERSION,  # "2024-10-21"
)
my_agent = Agent(
    model=model,
    system_prompt=MY_SYSTEM_PROMPT,
    output_type=MyResultPydanticModel,
)

binary_contents: list[BinaryContent] = [BinaryContent(data=file.content, media_type=str(file.mime_type)) for file in params.files]
user_prompt = [
    USER_PROMPT_TEMPLATE,
    *binary_contents,
]
agent_run: AgentRunResult[Any] = await my_agent.run(user_prompt=user_prompt)

print(f"{agent_run.usage()}")

Python, Pydantic AI & LLM client version

Python: 3.13.1
Pydantic: 2.11.3
Pydantic-ai: 0.6.2
Model: gpt-4.1-mini(AzureOpenAI)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions