Minimal Test Shows gpt‑4.1 Ignores Explicit System‑Message Rules (Model: gpt‑4.1 via https://api.openai.com/v1/responses)

What software uses the parameters LLM Model LLM Endpoint? That is the likely fault.

Here is a Python script, using the Responses endpoint, and the “instructions” API parameter to place an initial guidance message, the same as were you to send another “system” message before “user” in the input.

"""documentation: httpx `OpenAI Responses` RESTful API call w instructions"""
import os
import httpx

payload = {
    "model": "gpt-4.1-2025-04-14",
    "instructions": "You are an AI assistant who can write a 3 word maximum response.",
    "input": [
        {
            "role": "user",
            "content": [
                {"type": "input_text", "text": "Paris is in what Region of France?"},
            ]
        }
    ],
    "tools": [],
    "text": {"format": {"type": "text"}},
    "temperature": 1,
    "top_p": 0.05,
    "stream": False,
    "max_output_tokens": 25,
    "store": False
}

try:
    with httpx.Client() as client:
        response = client.post(
            "https://api.openai.com/v1/responses",
            json=payload,
            headers={"Authorization": f"Bearer {os.environ['OPENAI_API_KEY']}"},
            timeout=60
        )
        response.raise_for_status()
        assistant_text = "".join(
            content["text"]
            for output in response.json().get("output", [])
            if output.get("type") == "message"
            for content in output.get("content", [])
            if content.get("type") == "output_text" and "text" in content
        )
        print(assistant_text)
except httpx.HTTPStatusError as e:
    print(f"HTTP error: {e.response.status_code}")
    print(f"Error body: {e.response.text}")
    raise

The AI uses its three words to answer.

Île-de-France

GPT-4o behaves the same, except provided a period at the end of the sentence.

Capture the API request that is actually being sent to the model, and you will likely discover the issue.