画像生成
プロンプトに基づいてカスタム画像を生成
利点
- 必要に応じて画像を素早く作成できる、特注(bespoke)の画像生成を提供します。
- Squid backend コンテキストを使用して画像生成を保護し、リソースへの排他的なアクセスを確保します。
仕組み
画像ジェネレーターとやり取りするには、Squid Client SDK を使用します。
Squid AI 画像ジェネレーターには admin アクセスが必要です。そのため、メソッドは Squid backend、またはアプリケーションの API key にアクセスできる別の admin 環境で実行する必要があります。
画像ジェネレーターを作成する
画像ジェネレーターを作成するには、Squid AI の .image() メソッドを使用します。
const imageGenerator = this.squid.ai().image();
次に、generate() メソッドを使ってこの画像生成インスタンスを使用できます。generate() は 2 つのパラメーターを受け取ります。生成したい画像の文字列プロンプトと、画像生成のオプションを含む AiGenerateImageOptions 型です。この関数は、生成された画像の URL に解決される promise を返します。
次の例は、generate() を使用して画像を生成する方法を示しています。
const options: AiGenerateImageOptions = {
modelName: 'dall-e-3',
quality: 'standard',
size: '1024x1024',
numberOfImagesToGenerate: 1,
};
const imageUrl = await imageGenerator.generate('a pirate ship', options);
AiGenerateImageOptions の詳細は、リファレンスドキュメント を参照してください。
AI 画像生成を保護する
Squid AI 画像ジェネレーターには admin アクセスが必要なため、Squid backend または admin 権限を持つ別の環境でのみ実行するべきです。Squid backend に接続されたクライアントアプリケーションから画像ジェネレーターを実行する場合、Executable を使用してフロントエンドからバックエンド関数をトリガーできます。次の Executable 関数は、ユーザーが認証されている場合にのみ画像を生成します。
import { executable, SquidService } from '@squidcloud/backend';
import { AiGenerateImageOptions } from '@squidcloud/client';
@executable()
async generateImage(prompt: string): Promise<string | Error> {
if (!this.isAuthenticated()) {
return Error('Access denied');
}
const options: AiGenerateImageOptions = {
modelName: 'dall-e-3',
quality: 'standard',
size: '1024x1024',
numberOfImagesToGenerate: 1,
};
return await this.squid
.ai()
.image()
.generate(prompt, options);
}
画像から背景を削除する
画像生成に加えて、Squid は背景削除機能も提供します。この機能を使うことで画像の背景を削除でき、被写体を分離しやすくなります。
この機能を使用するには、画像ジェネレーターインスタンスで removeBackground() メソッドを呼び出し、処理したいファイルを渡します。
await this.squid.ai().image().removeBackground(IMAGE_FILE_TO_PROCESS);
次のステップ
Squid AI は、custom AI agents や Query with AI functionality を含む多くの AI 機能を提供します。Squid AI を使って強力な AI ワークフローとアプリケーションを構築しましょう。