When:
Model: gpt-5.5
Endpoint: Chat Completions
response_format/text.format: json_schema
Symptom:
GPT-5.5, Chat Completions: AI model is producing its output JSON in the wrong order, disobeying the schema, and only on Chat Completions, not Responses. This ruins the chain-of-thought necessary for quality decision-making.
GPT-5.5, Responses: AI model is not given a logit enforcement of when it is in a string or out, and produces unescaped double-quotes, and breaks out of the JSON. Even the playground parser knows it is bad JSON, because it doesn’t highlight.
AI diagnoses itself:
Chat Completions - wrong
Responses - correct (but damaged output with unescaped quotes)
{
"contains_person": false,
"is_known_person": false,
"name": "none",
"unencumbered": true,
"justification": "["contains_person", "is_known_person", "name", "unencumbered", "justification", "release_to_user"]",
"release_to_user": true
}
Chat Completions, GPT-5.4 - Correct
{
"contains_person": false,
"is_known_person": false,
"name": "none",
"unencumbered": true,
"justification": "['contains_person', 'is_known_person', 'name', 'unencumbered', 'justification', 'release_to_user']",
"release_to_user": true
}
Responses, GPT-5.4 - AI is again able to produce bad JSON in its answer.
Moderation-like json_schema being used
{
"name": "likeness_result",
"strict": true,
"schema": {
"type": "object",
"properties": {
"contains_person": {
"type": "boolean",
"description": "True if the image contains a person. The first field, in fields that must be created in this schema's ordering."
},
"is_known_person": {
"type": "boolean",
"description": "True if the person is recognized as a known individual."
},
"name": {
"type": "string",
"description": "The full name of the recognized person. If no person or unidentified unknown person, must be from [none, unknown].",
"minLength": 0
},
"unencumbered": {
"type": "boolean",
"description": "True if this person's likeness is free from legal claim for new representations and true if there is no problem. Always true if no person is present."
},
"justification": {
"type": "string",
"description": "Explanation of the reasoning, evidence, and findings used to determine whether a person is present, whether they are identifiable or known, and whether the likeness is unencumbered."
},
"release_to_user": {
"type": "boolean",
"description": "True if OpenAI should provide the output image to a user of AI image services. False if the image should be withheld due to policy, legal, safety, likeness, or rights concerns."
}
},
"required": [
"contains_person",
"is_known_person",
"name",
"unencumbered",
"justification",
"release_to_user"
],
"additionalProperties": false
}
}
Additionally, developer functions are denied on Chat Completions with GPT-5.5 and GPT-5.4. If intentional, this is abhorrent.

