@@ -291,7 +291,7 @@ public override async Task<OnnxImage> GenerateImageAsync(PromptOptions promptOpt
291291 /// <param name="progressCallback">The progress callback.</param>
292292 /// <param name="cancellationToken">The cancellation token.</param>
293293 /// <returns></returns>
294- public override async IAsyncEnumerable < OnnxImage > GenerateImageBatchAsync ( BatchOptions batchOptions , PromptOptions promptOptions , SchedulerOptions schedulerOptions = default , ControlNetModel controlNet = default , Action < DiffusionProgress > progressCallback = null , [ EnumeratorCancellation ] CancellationToken cancellationToken = default )
294+ public override async IAsyncEnumerable < BatchImageResult > GenerateImageBatchAsync ( BatchOptions batchOptions , PromptOptions promptOptions , SchedulerOptions schedulerOptions = default , ControlNetModel controlNet = default , Action < DiffusionProgress > progressCallback = null , [ EnumeratorCancellation ] CancellationToken cancellationToken = default )
295295 {
296296 var diffuseBatchTime = _logger ? . LogBegin ( "Batch Diffuser starting..." ) ;
297297 var options = GetSchedulerOptionsOrDefault ( schedulerOptions ) ;
@@ -316,7 +316,7 @@ public override async IAsyncEnumerable<OnnxImage> GenerateImageBatchAsync(BatchO
316316 foreach ( var batchSchedulerOption in batchSchedulerOptions )
317317 {
318318 var tensorResult = await DiffuseImageAsync ( diffuser , promptOptions , batchSchedulerOption , promptEmbeddings , performGuidance , progressCallback , cancellationToken ) ;
319- yield return new OnnxImage ( tensorResult ) ;
319+ yield return new BatchImageResult ( batchSchedulerOption , new OnnxImage ( tensorResult ) ) ;
320320 batchIndex ++ ;
321321 }
322322
@@ -367,7 +367,7 @@ public override async Task<OnnxVideo> GenerateVideoAsync(PromptOptions promptOpt
367367 /// <param name="progressCallback">The progress callback.</param>
368368 /// <param name="cancellationToken">The cancellation token.</param>
369369 /// <returns></returns>
370- public override async IAsyncEnumerable < OnnxVideo > GenerateVideoBatchAsync ( BatchOptions batchOptions , PromptOptions promptOptions , SchedulerOptions schedulerOptions = default , ControlNetModel controlNet = default , Action < DiffusionProgress > progressCallback = null , [ EnumeratorCancellation ] CancellationToken cancellationToken = default )
370+ public override async IAsyncEnumerable < BatchVideoResult > GenerateVideoBatchAsync ( BatchOptions batchOptions , PromptOptions promptOptions , SchedulerOptions schedulerOptions = default , ControlNetModel controlNet = default , Action < DiffusionProgress > progressCallback = null , [ EnumeratorCancellation ] CancellationToken cancellationToken = default )
371371 {
372372 var diffuseBatchTime = _logger ? . LogBegin ( "Batch Diffuser starting..." ) ;
373373 var options = GetSchedulerOptionsOrDefault ( schedulerOptions ) ;
@@ -392,11 +392,11 @@ public override async IAsyncEnumerable<OnnxVideo> GenerateVideoBatchAsync(BatchO
392392 foreach ( var batchSchedulerOption in batchSchedulerOptions )
393393 {
394394 var frames = new List < OnnxImage > ( ) ;
395- await foreach ( var frameTensor in DiffuseVideoAsync ( diffuser , promptOptions , options , promptEmbeddings , performGuidance , progressCallback , cancellationToken ) )
395+ await foreach ( var frameTensor in DiffuseVideoAsync ( diffuser , promptOptions , batchSchedulerOption , promptEmbeddings , performGuidance , progressCallback , cancellationToken ) )
396396 {
397397 frames . Add ( new OnnxImage ( frameTensor ) ) ;
398398 }
399- yield return new OnnxVideo ( promptOptions . InputVideo . Info , frames ) ;
399+ yield return new BatchVideoResult ( batchSchedulerOption , new OnnxVideo ( promptOptions . InputVideo . Info , frames ) ) ;
400400 batchIndex ++ ;
401401 }
402402
0 commit comments