Files
stable-diffusion-rpc/Sources/StableDiffusionServer/ImageGenerationService.swift
2023-04-22 14:52:27 -07:00

19 lines
618 B
Swift

import Foundation
import GRPC
import StableDiffusionProtos
class ImageGenerationServiceProvider: SdImageGenerationServiceAsyncProvider {
private let modelManager: ModelManager
init(modelManager: ModelManager) {
self.modelManager = modelManager
}
func generateImage(request: SdGenerateImagesRequest, context: GRPCAsyncServerCallContext) async throws -> SdGenerateImagesResponse {
guard let state = await modelManager.getModelState(name: request.modelName) else {
throw SdServerError.modelNotFound
}
return try await state.generate(request)
}
}