@@ -131,6 +131,9 @@ public async Task<MemoryStream> GenerateImage(string prompt, CancellationToken t
131131
132132 var filename = response . RequestMessage . RequestUri . PathAndQuery . Split ( "/images/" ) [ 1 ] ;
133133
134+ var pngBytes = await response . Content . ReadAsByteArrayAsync ( token ) ;
135+ var pngStream = new MemoryStream ( pngBytes ) ;
136+
134137 var frameBytes = new List < byte [ ] > ( capacity : requestPayload . steps ) ;
135138 for ( int step = 0 ; step < requestPayload . steps ; step ++ )
136139 {
@@ -140,6 +143,9 @@ public async Task<MemoryStream> GenerateImage(string prompt, CancellationToken t
140143 }
141144
142145 using var first = SixLabors . ImageSharp . Image . Load < Rgba32 > ( frameBytes [ 0 ] ) ;
146+
147+ first . Metadata . GetGifMetadata ( ) . RepeatCount = 0 ;
148+
143149 for ( int i = 1 ; i < frameBytes . Count ; i ++ )
144150 {
145151 using var img = SixLabors . ImageSharp . Image . Load < Rgba32 > ( frameBytes [ i ] ) ;
@@ -149,7 +155,7 @@ public async Task<MemoryStream> GenerateImage(string prompt, CancellationToken t
149155 foreach ( var frame in first . Frames )
150156 {
151157 var meta = frame . Metadata . GetGifMetadata ( ) ;
152- meta . FrameDelay = 6 ;
158+ meta . FrameDelay = 25 ;
153159 meta . DisposalMethod = GifDisposalMethod . RestoreToBackground ;
154160 }
155161
@@ -161,9 +167,6 @@ public async Task<MemoryStream> GenerateImage(string prompt, CancellationToken t
161167 } , token ) ;
162168 gifStream . Position = 0 ;
163169
164- var pngBytes = await response . Content . ReadAsByteArrayAsync ( token ) ;
165- var pngStream = new MemoryStream ( pngBytes ) ;
166-
167170 return ( gifStream , pngStream ) ;
168171 }
169172 }
0 commit comments