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 向けコンパイル済みデモを示します。
