From ec08c15c2f3621467ee8577d7fcb1599c8d1f53a Mon Sep 17 00:00:00 2001 From: Xsidz Date: Sun, 16 Aug 2026 23:52:15 +0530 Subject: [PATCH 1/2] fix(types): make ResponseOutputText.text Optional to accept null from API Fixes #3063: some models (gpt-oss-safeguard-120b) return output_text content items with text: null. The strict str annotation caused pydantic to reject the payload. Changed to Optional[str] = None. --- src/openai/types/responses/response_output_text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openai/types/responses/response_output_text.py b/src/openai/types/responses/response_output_text.py index 7bcfe59c4d..be04a904fe 100644 --- a/src/openai/types/responses/response_output_text.py +++ b/src/openai/types/responses/response_output_text.py @@ -122,7 +122,7 @@ class ResponseOutputText(BaseModel): annotations: List[Annotation] """The annotations of the text output.""" - text: str + text: Optional[str] = None """The text output from the model.""" type: Literal["output_text"] From c944d033b571a6ca8d791784988c48a5cc70a5ab Mon Sep 17 00:00:00 2001 From: Xsidz Date: Mon, 17 Aug 2026 00:07:12 +0530 Subject: [PATCH 2/2] fix(types): make BetaResponseOutputText.text Optional to match responses/ counterpart --- src/openai/types/beta/beta_response_output_text.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openai/types/beta/beta_response_output_text.py b/src/openai/types/beta/beta_response_output_text.py index b17471ea68..50b20d5495 100644 --- a/src/openai/types/beta/beta_response_output_text.py +++ b/src/openai/types/beta/beta_response_output_text.py @@ -122,7 +122,7 @@ class BetaResponseOutputText(BaseModel): annotations: List[Annotation] """The annotations of the text output.""" - text: str + text: Optional[str] = None """The text output from the model.""" type: Literal["output_text"]