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

画像生成

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

利点

  • 必要に応じて素早く画像を作成できる、オーダーメイドの画像生成を提供します。
  • Squid backend context を使用して画像生成を保護し、リソースへの排他的なアクセスを確保します。

仕組み

画像ジェネレーターとやり取りするには、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 つのパラメータを受け取ります。生成する画像の文字列プロンプトと、画像生成のオプションを含む options オブジェクトです。この関数は、生成された画像の URL を返します。

以下の例は、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 の詳細は、reference documentation を参照してください。

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 ワークフローとアプリケーションを構築しましょう。