Görüntü Üretici OpenAI Delphi (5 / 5)

· Özellikler

OpenAI API, bir istem ve/veya bir girdi görüntüsü verildiğinde, modelin yeni bir görüntü üretmesine olanak tanır. Images API, görüntülerle etkileşim için üç yöntem sağlar:

1. Bir metin istemine dayalı olarak sıfırdan görüntü oluşturma
2. Yeni bir metin istemine dayalı olarak mevcut bir görüntünün düzenlemelerini oluşturma
3. Mevcut bir görüntünün varyasyonlarını oluşturma

Görüntü Üretici Delphi Örneği

OpenAI API, bir istem kullanarak yeni bir görüntü oluşturmak için aşağıdaki yöntemlere sahiptir.

- prompt: (Zorunlu) İstenen görüntü(ler)in metin açıklaması. Maksimum uzunluk 1000 karakterdir.

- n: Üretilecek görüntü sayısı. 1 ile 10 arasında olmalıdır.

- size: Üretilen görüntülerin boyutu. 256x256, 512x512 veya 1024x1024'ten biri olmalıdır.

- response_format: Üretilen görüntülerin döndürüldüğü biçim. url veya b64_json'dan biri olmalıdır.

user: Son kullanıcınızı temsil eden ve OpenAI'nin kötüye kullanımı izlemesine ve tespit etmesine yardımcı olabilecek benzersiz bir tanımlayıcı.


Aşağıda, bir istem verildiğinde bir görüntü üreten basit bir delphi örneği bulabilirsiniz.

procedure TFRMOpenAIImages.DoCreateImage(const aPrompt: string);
var
  oRequest: TsgcOpenAIClass_Request_Image;
  oResponse: TsgcOpenAIClass_Response_Image;
  oStream: TBytesStream;
  oPNG : TPngImage;
begin
  oRequest := TsgcOpenAIClass_Request_Image.Create;
  Try
    oRequest.Prompt := aPrompt;
    oRequest.ResponseFormat := 'b64_json';
    oResponse := OpenAI.CreateImage(oRequest);
    Try
      if Length(oResponse.Data) > 0 then
      begin
        oStream := TBytesStream.Create(DecodeBase64(AnsiString(oResponse.Data[0].B64_json)));
        Try
          oPNG := TPngImage.Create;
          Try
            oPNG.LoadFromStream(oStream);
            Image1.Picture.Assign(oPNG);
          Finally
            oPNG.Free;
          End;
        Finally
          oStream.free;
        End;
      end;
    Finally
      oResponse.Free;
    End;
  Finally
    oRequest.Free;
  End;
end; 

Aşağıda, sgcWebSockets kütüphanesiyle oluşturulmuş windows için derlenmiş demoyu bulabilirsiniz.