@@ -1035,14 +1035,25 @@ func TranslateStreamChunk(eventData []byte, model string, chunkID string, create
10351035 }
10361036 return newErrorResponse (errMsg ), true
10371037
1038+ case "response.image_generation_call.partial_image" :
1039+ // 渐进式预览帧:客户端通过 metadata.image_partial_images = N
1040+ // 让上游在终稿之前发 N 张中间帧。每帧 partial_image_b64 字段都是
1041+ // 一张完整的 base64 PNG,按图像生成的 SSE 顺序到达。
1042+ // 这里和终稿走同样的落盘路径,作为 markdown image 注入 content delta;
1043+ // 客户端可以收到一系列   。
1044+ if b64 := gjson .GetBytes (eventData , "partial_image_b64" ).String (); b64 != "" {
1045+ return newContentChunk (chunkID , model , created , imageMarkdownFromBase64 (b64 )), false
1046+ }
1047+ return nil , false
1048+
10381049 case "response.content_part.done" ,
10391050 "response.created" , "response.in_progress" ,
10401051 "response.output_item.added" , "response.content_part.added" ,
10411052 "response.reasoning_summary_text.done" ,
10421053 "response.reasoning.encrypted_content.delta" , "response.reasoning.encrypted_content.done" ,
10431054 "response.reasoning_summary_part.added" , "response.reasoning_summary_part.done" ,
10441055 "response.image_generation_call.in_progress" , "response.image_generation_call.generating" ,
1045- "response.image_generation_call.partial_image" , "response.image_generation_call. completed" :
1056+ "response.image_generation_call.completed" :
10461057 return nil , false
10471058
10481059 default :
@@ -1147,14 +1158,21 @@ func (st *StreamTranslator) Translate(eventData []byte) ([]byte, bool) {
11471158 }
11481159 return newErrorResponse (errMsg ), true
11491160
1161+ case "response.image_generation_call.partial_image" :
1162+ // 渐进式预览帧:见 stateless Translate 路径的同名 case 说明。
1163+ if b64 := gjson .GetBytes (eventData , "partial_image_b64" ).String (); b64 != "" {
1164+ return newContentChunk (st .ChunkID , st .Model , st .Created , imageMarkdownFromBase64 (b64 )), false
1165+ }
1166+ return nil , false
1167+
11501168 case "response.content_part.done" ,
11511169 "response.created" , "response.in_progress" ,
11521170 "response.content_part.added" ,
11531171 "response.reasoning_summary_text.done" ,
11541172 "response.reasoning.encrypted_content.delta" , "response.reasoning.encrypted_content.done" ,
11551173 "response.reasoning_summary_part.added" , "response.reasoning_summary_part.done" ,
11561174 "response.image_generation_call.in_progress" , "response.image_generation_call.generating" ,
1157- "response.image_generation_call.partial_image" , "response.image_generation_call. completed" :
1175+ "response.image_generation_call.completed" :
11581176 return nil , false
11591177
11601178 default :
0 commit comments