// @DataContract
export class QueryBase
{
// @DataMember(Order=1)
public skip?: number;
// @DataMember(Order=2)
public take?: number;
// @DataMember(Order=3)
public orderBy: string;
// @DataMember(Order=4)
public orderByDesc: string;
// @DataMember(Order=5)
public include: string;
// @DataMember(Order=6)
public fields: string;
// @DataMember(Order=7)
public meta: { [index:string]: string; };
public constructor(init?: Partial<QueryBase>) { (Object as any).assign(this, init); }
}
export class QueryDb<T> extends QueryBase
{
public constructor(init?: Partial<QueryDb<T>>) { super(init); (Object as any).assign(this, init); }
}
export enum ComfySampler
{
euler = 'euler',
euler_cfg_pp = 'euler_cfg_pp',
euler_ancestral = 'euler_ancestral',
euler_ancestral_cfg_pp = 'euler_ancestral_cfg_pp',
huen = 'huen',
huenpp2 = 'huenpp2',
dpm_2 = 'dpm_2',
dpm_2_ancestral = 'dpm_2_ancestral',
lms = 'lms',
dpm_fast = 'dpm_fast',
dpm_adaptive = 'dpm_adaptive',
dpmpp_2s_ancestral = 'dpmpp_2s_ancestral',
dpmpp_sde = 'dpmpp_sde',
dpmpp_sde_gpu = 'dpmpp_sde_gpu',
dpmpp_2m = 'dpmpp_2m',
dpmpp_2m_sde = 'dpmpp_2m_sde',
dpmpp_2m_sde_gpu = 'dpmpp_2m_sde_gpu',
dpmpp_3m_sde = 'dpmpp_3m_sde',
dpmpp_3m_sde_gpu = 'dpmpp_3m_sde_gpu',
ddpm = 'ddpm',
lcm = 'lcm',
ddim = 'ddim',
uni_pc = 'uni_pc',
uni_pc_bh2 = 'uni_pc_bh2',
}
export enum ModelType
{
TextToImage = 'TextToImage',
TextEncoder = 'TextEncoder',
ImageUpscale = 'ImageUpscale',
TextToSpeech = 'TextToSpeech',
TextToAudio = 'TextToAudio',
SpeechToText = 'SpeechToText',
ImageToText = 'ImageToText',
ImageToImage = 'ImageToImage',
ImageWithMask = 'ImageWithMask',
VAE = 'VAE',
}
export class ProviderModelDefaults
{
public id: string;
public apiModels: { [index:string]: string; } = {};
public url: string;
public quality?: number;
public aspectRatio: string;
public cfgScale?: number;
public scheduler: string;
public sampler?: ComfySampler;
public width?: number;
public height?: number;
public steps?: number;
public negativePrompt: string;
public modelType?: ModelType;
public constructor(init?: Partial<ProviderModelDefaults>) { (Object as any).assign(this, init); }
}
export class QueryGenerationModelSettings extends QueryDb<ProviderModelDefaults>
{
public id: string;
public constructor(init?: Partial<QueryGenerationModelSettings>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class AuditBase
{
// @DataMember(Order=1)
public createdDate: string;
// @DataMember(Order=2)
// @Required()
public createdBy: string;
// @DataMember(Order=3)
public modifiedDate: string;
// @DataMember(Order=4)
// @Required()
public modifiedBy: string;
// @DataMember(Order=5)
public deletedDate?: string;
// @DataMember(Order=6)
public deletedBy: string;
public constructor(init?: Partial<AuditBase>) { (Object as any).assign(this, init); }
}
export class Artifact extends AuditBase
{
public id: number;
// @References("typeof(BlazorDiffusion.ServiceModel.Creative)")
public creativeId: number;
public fileName: string;
public filePath: string;
public contentType: string;
public contentLength: number;
public width: number;
public height: number;
public seed: number;
public prompt: string;
public nsfw?: boolean;
public averageHash?: number;
public perceptualHash?: number;
public differenceHash?: number;
public background?: string;
public lqip?: string;
public quality: number;
public likesCount: number;
public albumsCount: number;
public downloadsCount: number;
public searchCount: number;
public temporalScore: number;
public score: number;
public rank: number;
public refId: string;
public versions: { [index:string]: string; } = {};
public constructor(init?: Partial<Artifact>) { super(init); (Object as any).assign(this, init); }
}
export class ArtifactResult extends Artifact
{
public userPrompt: string;
public artistNames: string[] = [];
public modifierNames: string[] = [];
public primaryArtifactId?: number;
public ownerRef: string;
public similarity?: number;
public constructor(init?: Partial<ArtifactResult>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class QueryResponse<T>
{
// @DataMember(Order=1)
public offset: number;
// @DataMember(Order=2)
public total: number;
// @DataMember(Order=3)
public results: ArtifactResult[];
// @DataMember(Order=4)
public meta: { [index:string]: string; };
// @DataMember(Order=5)
public responseStatus: ResponseStatus;
public constructor(init?: Partial<QueryResponse<T>>) { (Object as any).assign(this, init); }
}
TypeScript QueryGenerationModelSettings DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/QueryGenerationModelSettings HTTP/1.1
Host: blazordiffusion.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"id":"String","skip":0,"take":0,"orderBy":"String","orderByDesc":"String","include":"String","fields":"String","meta":{"String":"String"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"offset":0,"total":0,"results":[{"id":"String","apiModels":{"String":"String"},"url":"String","quality":0,"aspectRatio":"String","cfgScale":0,"scheduler":"String","sampler":"euler","width":0,"height":0,"steps":0,"negativePrompt":"String","modelType":"TextToImage"}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}