Gpt-4o-mini doesn't follow instructions on Web search

No matter what instructions related to output structure - mini just doesn’t listen. I input this to instructions

Respond with this EXACT structure:

|||ANSWER|||
<markdown reply in Target language (≤200 words); no HTML>;

|||MEMORY|||
<revised memory (≤100-words)>;

|||NAME|||
<contextual name (≤30 chars) or blank>;

If input is disallowed, say so in |||ANSWER|||;
"""

(I do not want json output) .. non-mini models follow with no issues, gpt-4o, gpt-4.1 - no issue what so ever. Once I switch to a mini it just disregards instructions completely and returns just a plain text. I tried inserting the instructions even as a system/ developer input, I tried not limiting any tools calls, high context size, nothing helps unless I change the model.

The questions coming in are super easy just simple weather questions I don’t need more expensive model, how can I fix this?

def use_gpt_online(prompts, locale):
    is_sk = locale == "sk"

    return gpt_client.responses.create(
        model="gpt-4o",
        instructions=prompts[0],
        input=prompts[1],
        stream=True,
        max_tool_calls=1,
        tool_choice="auto",
        tools=[
            {
                "type": "web_search_preview",
                "search_context_size": "low",
                "user_location": {
                    "type": "approximate",
                    "country": "SK" if is_sk else "CZ",
                    "city": "Bratislava" if is_sk else "Prague",
                    "region": "Bratislava" if is_sk else "Prague",
                    "timezone": "Europe/Bratislava" if is_sk else "Europe/Prague",
                },
            }
        ],
        max_output_tokens=1500,
    )