import Foundation
import ServiceStack
public class QueryGenerationModelSettings : QueryDb<ProviderModelDefaults>
{
public var id:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case id
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
id = try container.decodeIfPresent(String.self, forKey: .id)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if id != nil { try container.encode(id, forKey: .id) }
}
}
public class ProviderModelDefaults : Codable
{
public var id:String
public var apiModels:[String:String] = [:]
public var url:String
public var quality:Double?
public var aspectRatio:String
public var cfgScale:Double?
public var scheduler:String
public var sampler:ComfySampler?
public var width:Int?
public var height:Int?
public var steps:Int?
public var negativePrompt:String
public var modelType:ModelType?
required public init(){}
}
public enum ComfySampler : String, Codable
{
case euler
case euler_cfg_pp
case euler_ancestral
case euler_ancestral_cfg_pp
case huen
case huenpp2
case dpm_2
case dpm_2_ancestral
case lms
case dpm_fast
case dpm_adaptive
case dpmpp_2s_ancestral
case dpmpp_sde
case dpmpp_sde_gpu
case dpmpp_2m
case dpmpp_2m_sde
case dpmpp_2m_sde_gpu
case dpmpp_3m_sde
case dpmpp_3m_sde_gpu
case ddpm
case lcm
case ddim
case uni_pc
case uni_pc_bh2
}
public enum ModelType : String, Codable
{
case TextToImage
case TextEncoder
case ImageUpscale
case TextToSpeech
case TextToAudio
case SpeechToText
case ImageToText
case ImageToImage
case ImageWithMask
case VAE
}
public class ArtifactResult : Artifact
{
public var userPrompt:String
public var artistNames:[String] = []
public var modifierNames:[String] = []
public var primaryArtifactId:Int?
public var ownerRef:String
public var similarity:Double?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case userPrompt
case artistNames
case modifierNames
case primaryArtifactId
case ownerRef
case similarity
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
userPrompt = try container.decodeIfPresent(String.self, forKey: .userPrompt)
artistNames = try container.decodeIfPresent([String].self, forKey: .artistNames) ?? []
modifierNames = try container.decodeIfPresent([String].self, forKey: .modifierNames) ?? []
primaryArtifactId = try container.decodeIfPresent(Int.self, forKey: .primaryArtifactId)
ownerRef = try container.decodeIfPresent(String.self, forKey: .ownerRef)
similarity = try container.decodeIfPresent(Double.self, forKey: .similarity)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if userPrompt != nil { try container.encode(userPrompt, forKey: .userPrompt) }
if artistNames.count > 0 { try container.encode(artistNames, forKey: .artistNames) }
if modifierNames.count > 0 { try container.encode(modifierNames, forKey: .modifierNames) }
if primaryArtifactId != nil { try container.encode(primaryArtifactId, forKey: .primaryArtifactId) }
if ownerRef != nil { try container.encode(ownerRef, forKey: .ownerRef) }
if similarity != nil { try container.encode(similarity, forKey: .similarity) }
}
}
public class Artifact : AuditBase
{
public var id:Int
// @References(typeof(Creative))
public var creativeId:Int
public var fileName:String
public var filePath:String
public var contentType:String
public var contentLength:Int
public var width:Int
public var height:Int
public var seed:UInt64
public var prompt:String
public var nsfw:Bool?
public var averageHash:Int?
public var perceptualHash:Int?
public var differenceHash:Int?
public var background:String
public var lqip:String
public var quality:Int
public var likesCount:Int
public var albumsCount:Int
public var downloadsCount:Int
public var searchCount:Int
public var temporalScore:Int
public var score:Int
public var rank:Int
public var refId:String
public var versions:[String:String] = [:]
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case id
case creativeId
case fileName
case filePath
case contentType
case contentLength
case width
case height
case seed
case prompt
case nsfw
case averageHash
case perceptualHash
case differenceHash
case background
case lqip
case quality
case likesCount
case albumsCount
case downloadsCount
case searchCount
case temporalScore
case score
case rank
case refId
case versions
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
id = try container.decodeIfPresent(Int.self, forKey: .id)
creativeId = try container.decodeIfPresent(Int.self, forKey: .creativeId)
fileName = try container.decodeIfPresent(String.self, forKey: .fileName)
filePath = try container.decodeIfPresent(String.self, forKey: .filePath)
contentType = try container.decodeIfPresent(String.self, forKey: .contentType)
contentLength = try container.decodeIfPresent(Int.self, forKey: .contentLength)
width = try container.decodeIfPresent(Int.self, forKey: .width)
height = try container.decodeIfPresent(Int.self, forKey: .height)
seed = try container.decodeIfPresent(UInt64.self, forKey: .seed)
prompt = try container.decodeIfPresent(String.self, forKey: .prompt)
nsfw = try container.decodeIfPresent(Bool.self, forKey: .nsfw)
averageHash = try container.decodeIfPresent(Int.self, forKey: .averageHash)
perceptualHash = try container.decodeIfPresent(Int.self, forKey: .perceptualHash)
differenceHash = try container.decodeIfPresent(Int.self, forKey: .differenceHash)
background = try container.decodeIfPresent(String.self, forKey: .background)
lqip = try container.decodeIfPresent(String.self, forKey: .lqip)
quality = try container.decodeIfPresent(Int.self, forKey: .quality)
likesCount = try container.decodeIfPresent(Int.self, forKey: .likesCount)
albumsCount = try container.decodeIfPresent(Int.self, forKey: .albumsCount)
downloadsCount = try container.decodeIfPresent(Int.self, forKey: .downloadsCount)
searchCount = try container.decodeIfPresent(Int.self, forKey: .searchCount)
temporalScore = try container.decodeIfPresent(Int.self, forKey: .temporalScore)
score = try container.decodeIfPresent(Int.self, forKey: .score)
rank = try container.decodeIfPresent(Int.self, forKey: .rank)
refId = try container.decodeIfPresent(String.self, forKey: .refId)
versions = try container.decodeIfPresent([String:String].self, forKey: .versions) ?? [:]
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if id != nil { try container.encode(id, forKey: .id) }
if creativeId != nil { try container.encode(creativeId, forKey: .creativeId) }
if fileName != nil { try container.encode(fileName, forKey: .fileName) }
if filePath != nil { try container.encode(filePath, forKey: .filePath) }
if contentType != nil { try container.encode(contentType, forKey: .contentType) }
if contentLength != nil { try container.encode(contentLength, forKey: .contentLength) }
if width != nil { try container.encode(width, forKey: .width) }
if height != nil { try container.encode(height, forKey: .height) }
if seed != nil { try container.encode(seed, forKey: .seed) }
if prompt != nil { try container.encode(prompt, forKey: .prompt) }
if nsfw != nil { try container.encode(nsfw, forKey: .nsfw) }
if averageHash != nil { try container.encode(averageHash, forKey: .averageHash) }
if perceptualHash != nil { try container.encode(perceptualHash, forKey: .perceptualHash) }
if differenceHash != nil { try container.encode(differenceHash, forKey: .differenceHash) }
if background != nil { try container.encode(background, forKey: .background) }
if lqip != nil { try container.encode(lqip, forKey: .lqip) }
if quality != nil { try container.encode(quality, forKey: .quality) }
if likesCount != nil { try container.encode(likesCount, forKey: .likesCount) }
if albumsCount != nil { try container.encode(albumsCount, forKey: .albumsCount) }
if downloadsCount != nil { try container.encode(downloadsCount, forKey: .downloadsCount) }
if searchCount != nil { try container.encode(searchCount, forKey: .searchCount) }
if temporalScore != nil { try container.encode(temporalScore, forKey: .temporalScore) }
if score != nil { try container.encode(score, forKey: .score) }
if rank != nil { try container.encode(rank, forKey: .rank) }
if refId != nil { try container.encode(refId, forKey: .refId) }
if versions.count > 0 { try container.encode(versions, forKey: .versions) }
}
}
Swift QueryGenerationModelSettings DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/QueryGenerationModelSettings HTTP/1.1
Host: blazordiffusion.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<QueryGenerationModelSettings xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AiServer.ServiceModel">
<Skip xmlns="http://schemas.servicestack.net/types">0</Skip>
<Take xmlns="http://schemas.servicestack.net/types">0</Take>
<OrderBy xmlns="http://schemas.servicestack.net/types">String</OrderBy>
<OrderByDesc xmlns="http://schemas.servicestack.net/types">String</OrderByDesc>
<Include xmlns="http://schemas.servicestack.net/types">String</Include>
<Fields xmlns="http://schemas.servicestack.net/types">String</Fields>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<Id>String</Id>
</QueryGenerationModelSettings>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <QueryResponseOfProviderModelDefaultsHzAs4VeO xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Offset>0</Offset> <Total>0</Total> <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/AiServer.ServiceModel.Types"> <d2p1:ProviderModelDefaults> <d2p1:ApiModels xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d4p1:KeyValueOfstringstring> <d4p1:Key>String</d4p1:Key> <d4p1:Value>String</d4p1:Value> </d4p1:KeyValueOfstringstring> </d2p1:ApiModels> <d2p1:AspectRatio>String</d2p1:AspectRatio> <d2p1:CfgScale>0</d2p1:CfgScale> <d2p1:Height>0</d2p1:Height> <d2p1:Id>String</d2p1:Id> <d2p1:ModelType>TextToImage</d2p1:ModelType> <d2p1:NegativePrompt>String</d2p1:NegativePrompt> <d2p1:Quality>0</d2p1:Quality> <d2p1:Sampler>euler</d2p1:Sampler> <d2p1:Scheduler>String</d2p1:Scheduler> <d2p1:Steps>0</d2p1:Steps> <d2p1:Url>String</d2p1:Url> <d2p1:Width>0</d2p1:Width> </d2p1:ProviderModelDefaults> </Results> <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </Meta> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </Meta> </ResponseError> </Errors> <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </Meta> </ResponseStatus> </QueryResponseOfProviderModelDefaultsHzAs4VeO>