mirror of
https://github.com/GayPizzaSpecifications/stable-diffusion-rpc.git
synced 2025-08-03 05:30:54 +00:00
38 lines
1.1 KiB
Swift
38 lines
1.1 KiB
Swift
import Foundation
|
|
import GRPC
|
|
import NIO
|
|
import StableDiffusionProtos
|
|
import System
|
|
|
|
let client = try StableDiffusionClient(connectionTarget: .host("127.0.0.1", port: 4546), transportSecurity: .plaintext)
|
|
|
|
Task { @MainActor in
|
|
do {
|
|
let modelListResponse = try await client.modelService.listModels(.init())
|
|
print("Loading model...")
|
|
let modelInfo = modelListResponse.models.first { $0.name == "anything-4.5" }!
|
|
_ = try await client.modelService.loadModel(.with { request in
|
|
request.modelName = modelInfo.name
|
|
})
|
|
print("Loaded model.")
|
|
|
|
print("Generating image...")
|
|
let request = SdGenerateImagesRequest.with {
|
|
$0.modelName = modelInfo.name
|
|
$0.prompt = "cat"
|
|
$0.imageCount = 1
|
|
}
|
|
|
|
let response = try await client.imageGenerationService.generateImage(request)
|
|
let image = response.images.first!
|
|
try image.content.write(to: URL(filePath: "output.png"))
|
|
print("Generated image to output.png")
|
|
exit(0)
|
|
} catch {
|
|
print(error)
|
|
exit(1)
|
|
}
|
|
}
|
|
|
|
dispatchMain()
|