@@ -628,6 +628,29 @@ def end_workflow(item: WorkflowItem):
628628 )
629629 produced_items .add (ctx .generated_image_item .id )
630630 yield ThreadItemAddedEvent (item = ctx .generated_image_item )
631+ elif event .type == "response.image_generation_call.partial_image" :
632+ if not ctx .generated_image_item :
633+ continue
634+
635+ url = await converter .base64_image_to_url (
636+ image_id = event .item_id ,
637+ base64_image = event .partial_image_b64 ,
638+ partial_image_index = event .partial_image_index ,
639+ )
640+ progress = converter .partial_image_index_to_progress (
641+ event .partial_image_index
642+ )
643+
644+ ctx .generated_image_item .image = GeneratedImage (
645+ id = event .item_id , url = url
646+ )
647+
648+ yield ThreadItemUpdatedEvent (
649+ item_id = ctx .generated_image_item .id ,
650+ update = GeneratedImageUpdated (
651+ image = ctx .generated_image_item .image , progress = progress
652+ ),
653+ )
631654 elif event .type == "response.reasoning_summary_text.delta" :
632655 if not ctx .workflow_item :
633656 continue
@@ -719,29 +742,6 @@ def end_workflow(item: WorkflowItem):
719742 yield ThreadItemDoneEvent (item = ctx .generated_image_item )
720743
721744 ctx .generated_image_item = None
722- elif event .type == "response.image_generation_call.partial_image" :
723- if not ctx .generated_image_item :
724- continue
725-
726- url = await converter .base64_image_to_url (
727- image_id = event .item_id ,
728- base64_image = event .partial_image_b64 ,
729- partial_image_index = event .partial_image_index ,
730- )
731- progress = converter .partial_image_index_to_progress (
732- event .partial_image_index
733- )
734-
735- ctx .generated_image_item .image = GeneratedImage (
736- id = event .item_id , url = url
737- )
738-
739- yield ThreadItemUpdatedEvent (
740- item_id = ctx .generated_image_item .id ,
741- update = GeneratedImageUpdated (
742- image = ctx .generated_image_item .image , progress = progress
743- ),
744- )
745745
746746 except (InputGuardrailTripwireTriggered , OutputGuardrailTripwireTriggered ):
747747 for item_id in produced_items :
0 commit comments