Document API, make the implementation match the API, and update the same.

This commit is contained in:
2023-04-23 02:09:50 -07:00
parent 71afed326f
commit 7c0b2779f4
15 changed files with 707 additions and 310 deletions

View File

@ -9,23 +9,25 @@ let client = try StableDiffusionClient(connectionTarget: .host("127.0.0.1", port
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" }!
print("Loading random model...")
let modelInfo = modelListResponse.availableModels.randomElement()!
_ = try await client.modelService.loadModel(.with { request in
request.modelName = modelInfo.name
})
print("Loaded model.")
print("Loaded random model.")
print("Generating image...")
let request = SdGenerateImagesRequest.with {
$0.modelName = modelInfo.name
$0.outputImageFormat = .png
$0.prompt = "cat"
$0.imageCount = 1
$0.batchCount = 1
$0.batchSize = 1
}
let response = try await client.imageGenerationService.generateImage(request)
let response = try await client.imageGenerationService.generateImages(request)
let image = response.images.first!
try image.content.write(to: URL(filePath: "output.png"))
try image.data.write(to: URL(filePath: "output.png"))
print("Generated image to output.png")
exit(0)
} catch {