メインコンテンツまでスキップ

画像生成

プロンプトに基づいてカスタム画像を生成

利点

  • 必要に応じて画像を素早く作成できる、特注(bespoke)の画像生成を提供します。
  • Squid backend コンテキストを使用して画像生成を保護し、リソースへの排他的なアクセスを確保します。

仕組み

画像ジェネレーターとやり取りするには、Squid Client SDK を使用します。

Note

Squid AI 画像ジェネレーターには admin アクセスが必要です。そのため、メソッドは Squid backend、またはアプリケーションの API key にアクセスできる別の admin 環境で実行する必要があります。

画像ジェネレーターを作成する

画像ジェネレーターを作成するには、Squid AI の .image() メソッドを使用します。

Backend code
const imageGenerator = this.squid.ai().image();

次に、generate() メソッドを使ってこの画像生成インスタンスを使用できます。generate() は 2 つのパラメーターを受け取ります。生成したい画像の文字列プロンプトと、画像生成のオプションを含む AiGenerateImageOptions 型です。この関数は、生成された画像の URL に解決される promise を返します。

次の例は、generate() を使用して画像を生成する方法を示しています。

Backend code
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 関数は、ユーザーが認証されている場合にのみ画像を生成します。

Backend code
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() メソッドを呼び出し、処理したいファイルを渡します。

Backend code
await this.squid.ai().image().removeBackground(IMAGE_FILE_TO_PROCESS);

次のステップ

Squid AI は、custom AI agentsQuery with AI functionality を含む多くの AI 機能を提供します。Squid AI を使って強力な AI ワークフローとアプリケーションを構築しましょう。