SwiftUI view that asynchronously loads and displays an OpenAI image from open API You just type in any your idea and AI will give you an art solution
- Multiplatform iOS, macOS, watchOS and tvOS
- Customizable in term of SwiftUI Image specs [renderingMode, resizable, antialiased...]
- Customizable in term of the transport layer [Loader]
- Based on interfaces not implementations
Where do I find my Secret API Key?
let apiKey = "your API KEY"
let endpoint = OpenAIImageEndpoint.get(with: apiKey)
let loader = OpenAIDefaultLoader(endpoint: endpoint)
OpenAIDefaultLoaderKey.defaultValue = loader
OpenAIAsyncImage(prompt: .constant("sun"))
.frame(width: 125, height: 125)
or with custom ViewBuilder
OpenAIAsyncImage(prompt: $imageText, size: .dpi1024){ state in
switch state{
case .loaded(let image) :
image
.resizable()
.scaledToFill()
case .loadError(let error) : Text(error.localizedDescription)
case .loading : ProgressView()
}
}
Param | Description |
---|---|
prompt | A text description of the desired image(s). The maximum length is 1000 characters |
size | The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024 |
tpl | Custom view builder tpl |
loader | Custom loader if you need something specific |
- You need to have Xcode 13 installed in order to have access to Documentation Compiler (DocC)
- Go to Product > Build Documentation or ⌃⇧⌘ D