From a53e4bad96b7d182cbe36371e6408e6c4ac5612a Mon Sep 17 00:00:00 2001 From: Carsten Date: Tue, 13 Jan 2026 12:15:15 +0100 Subject: [PATCH 1/2] fix(response): check for empty text --- src/openai/types/responses/response.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/openai/types/responses/response.py b/src/openai/types/responses/response.py index 6bac7d65de..77cc29b97c 100644 --- a/src/openai/types/responses/response.py +++ b/src/openai/types/responses/response.py @@ -315,6 +315,10 @@ def output_text(self) -> str: if output.type == "message": for content in output.content: if content.type == "output_text": + # can be occasionally empty even if type is string, so we need to check for that + # see issue https://github.com/openai/openai-python/issues/2822 + if not content.text: + continue texts.append(content.text) return "".join(texts) From 6e445e03722379da10f99808c9c8057b3a7f823b Mon Sep 17 00:00:00 2001 From: Carsten Date: Tue, 13 Jan 2026 12:18:26 +0100 Subject: [PATCH 2/2] fix: explicit check for None --- src/openai/types/responses/response.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openai/types/responses/response.py b/src/openai/types/responses/response.py index 77cc29b97c..d28baf18bb 100644 --- a/src/openai/types/responses/response.py +++ b/src/openai/types/responses/response.py @@ -317,7 +317,7 @@ def output_text(self) -> str: if content.type == "output_text": # can be occasionally empty even if type is string, so we need to check for that # see issue https://github.com/openai/openai-python/issues/2822 - if not content.text: + if content.text is None: # type: ignore continue texts.append(content.text)