Blazor Diffusion

<back to all web services

UpdateCreative

Creatives
Requires Authentication

// @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 Artist extends AuditBase
{
    public id: number;
    public firstName?: string;
    public lastName: string;
    public yearDied?: number;
    public type?: string[];
    public score: number;
    public rank: number;

    public constructor(init?: Partial<Artist>) { super(init); (Object as any).assign(this, init); }
}

// @ValidateRequest(Validator="HasRole(`Moderator`)")
export class CreativeArtist
{
    public id: number;
    // @References("typeof(BlazorDiffusion.ServiceModel.Creative)")
    public creativeId: number;

    // @References("typeof(BlazorDiffusion.ServiceModel.Artist)")
    public artistId: number;

    public artist: Artist;

    public constructor(init?: Partial<CreativeArtist>) { (Object as any).assign(this, init); }
}

export class Modifier extends AuditBase
{
    public id: number;
    public name: string;
    public category: string;
    public description?: string;
    public score: number;
    public rank: number;

    public constructor(init?: Partial<Modifier>) { super(init); (Object as any).assign(this, init); }
}

export class CreativeModifier
{
    public id: number;
    // @References("typeof(BlazorDiffusion.ServiceModel.Creative)")
    public creativeId: number;

    // @References("typeof(BlazorDiffusion.ServiceModel.Modifier)")
    public modifierId: number;

    public modifier: Modifier;

    public constructor(init?: Partial<CreativeModifier>) { (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 Creative extends AuditBase
{
    public id: number;
    public userPrompt: string;
    public prompt: string;
    public images: number;
    public width: number;
    public height: number;
    public steps: number;
    public curatedArtifactId?: number;
    public primaryArtifactId?: number;
    public artistNames: string[] = [];
    public modifierNames: string[] = [];
    public artists: CreativeArtist[] = [];
    public modifiers: CreativeModifier[] = [];
    public artifacts: Artifact[] = [];
    public error?: string;
    public ownerId?: number;
    public ownerRef?: string;
    public key?: string;
    public curated: boolean;
    public rating?: number;
    public private: boolean;
    public score: number;
    public rank: number;
    public refId: string;
    public requestId: string;
    public engineId: string;

    public constructor(init?: Partial<Creative>) { super(init); (Object as any).assign(this, init); }
}

// @ValidateRequest(Validator="IsAuthenticated")
export class UpdateCreative implements IPatchDb<Creative>
{
    public id: number;
    public primaryArtifactId?: number;
    public unpinPrimaryArtifact?: boolean;

    public constructor(init?: Partial<UpdateCreative>) { (Object as any).assign(this, init); }
}

TypeScript UpdateCreative DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /xml/reply/UpdateCreative HTTP/1.1 
Host: blazordiffusion.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateCreative xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BlazorDiffusion.ServiceModel">
  <Id>0</Id>
  <PrimaryArtifactId>0</PrimaryArtifactId>
  <UnpinPrimaryArtifact>false</UnpinPrimaryArtifact>
</UpdateCreative>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Creative xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BlazorDiffusion.ServiceModel">
  <CreatedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedDate>
  <CreatedBy xmlns="http://schemas.servicestack.net/types">String</CreatedBy>
  <ModifiedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</ModifiedDate>
  <ModifiedBy xmlns="http://schemas.servicestack.net/types">String</ModifiedBy>
  <DeletedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</DeletedDate>
  <DeletedBy xmlns="http://schemas.servicestack.net/types">String</DeletedBy>
  <Artifacts>
    <Artifact>
      <CreatedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedDate>
      <CreatedBy xmlns="http://schemas.servicestack.net/types">String</CreatedBy>
      <ModifiedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</ModifiedDate>
      <ModifiedBy xmlns="http://schemas.servicestack.net/types">String</ModifiedBy>
      <DeletedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</DeletedDate>
      <DeletedBy xmlns="http://schemas.servicestack.net/types">String</DeletedBy>
      <AlbumsCount>0</AlbumsCount>
      <AverageHash>0</AverageHash>
      <Background>String</Background>
      <ContentLength>0</ContentLength>
      <ContentType>String</ContentType>
      <CreativeId>0</CreativeId>
      <DifferenceHash>0</DifferenceHash>
      <DownloadsCount>0</DownloadsCount>
      <FileName>String</FileName>
      <FilePath>String</FilePath>
      <Height>0</Height>
      <Id>0</Id>
      <LikesCount>0</LikesCount>
      <Lqip>String</Lqip>
      <Nsfw>false</Nsfw>
      <PerceptualHash>0</PerceptualHash>
      <Prompt>String</Prompt>
      <Quality>0</Quality>
      <Rank>0</Rank>
      <RefId>String</RefId>
      <Score>0</Score>
      <SearchCount>0</SearchCount>
      <Seed>0</Seed>
      <TemporalScore>0</TemporalScore>
      <Versions xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Versions>
      <Width>0</Width>
    </Artifact>
  </Artifacts>
  <ArtistNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </ArtistNames>
  <Artists>
    <CreativeArtist>
      <Artist>
        <CreatedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedDate>
        <CreatedBy xmlns="http://schemas.servicestack.net/types">String</CreatedBy>
        <ModifiedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</ModifiedDate>
        <ModifiedBy xmlns="http://schemas.servicestack.net/types">String</ModifiedBy>
        <DeletedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</DeletedDate>
        <DeletedBy xmlns="http://schemas.servicestack.net/types">String</DeletedBy>
        <FirstName>String</FirstName>
        <Id>0</Id>
        <LastName>String</LastName>
        <Rank>0</Rank>
        <Score>0</Score>
        <Type xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </Type>
        <YearDied>0</YearDied>
      </Artist>
      <ArtistId>0</ArtistId>
      <CreativeId>0</CreativeId>
      <Id>0</Id>
    </CreativeArtist>
  </Artists>
  <Curated>false</Curated>
  <CuratedArtifactId>0</CuratedArtifactId>
  <EngineId>String</EngineId>
  <Error>String</Error>
  <Height>0</Height>
  <Id>0</Id>
  <Images>0</Images>
  <Key>String</Key>
  <ModifierNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </ModifierNames>
  <Modifiers>
    <CreativeModifier>
      <CreativeId>0</CreativeId>
      <Id>0</Id>
      <Modifier>
        <CreatedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedDate>
        <CreatedBy xmlns="http://schemas.servicestack.net/types">String</CreatedBy>
        <ModifiedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</ModifiedDate>
        <ModifiedBy xmlns="http://schemas.servicestack.net/types">String</ModifiedBy>
        <DeletedDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</DeletedDate>
        <DeletedBy xmlns="http://schemas.servicestack.net/types">String</DeletedBy>
        <Category>String</Category>
        <Description>String</Description>
        <Id>0</Id>
        <Name>String</Name>
        <Rank>0</Rank>
        <Score>0</Score>
      </Modifier>
      <ModifierId>0</ModifierId>
    </CreativeModifier>
  </Modifiers>
  <OwnerId>0</OwnerId>
  <OwnerRef>String</OwnerRef>
  <PrimaryArtifactId>0</PrimaryArtifactId>
  <Private>false</Private>
  <Prompt>String</Prompt>
  <Rank>0</Rank>
  <Rating>0</Rating>
  <RefId>String</RefId>
  <RequestId>String</RequestId>
  <Score>0</Score>
  <Steps>0</Steps>
  <UserPrompt>String</UserPrompt>
  <Width>0</Width>
</Creative>