OpenAI による画像生成 Delphi(5 / 5)

· 機能

OpenAI API では、プロンプトおよび/または入力画像が与えられると、モデルが新しい画像を生成します。 Images API では、画像とやり取りするための 3 つのメソッドが提供されています。

1. テキストプロンプトに基づいてゼロから画像を作成
2. 新しいテキストプロンプトに基づいて既存の画像の編集を作成
3. 既存の画像のバリエーションを作成

Image Generator Delphi の例

OpenAI API には、プロンプトを使用して新しい画像を作成する以下のメソッドがあります。

- prompt:(必須)希望する画像のテキスト記述。最大長は 1000 文字です。

- n: 生成する画像の数。1〜10 の範囲で指定する必要があります。

- size: 生成される画像のサイズ。256x256、512x512、または 1024x1024 のいずれかを指定する必要があります。

- response_format: 生成された画像を返す形式。url または b64_json のいずれかを指定する必要があります。

user: エンドユーザーを表す一意の識別子。OpenAI が不正利用を監視・検出する際に役立ちます。


以下に、プロンプトから画像を生成する簡単な Delphi の例を示します。

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; 

以下に、sgcWebSockets ライブラリで構築された Windows 向けコンパイル済みデモを示します。