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

画像生成

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

メリット

  • 必要に応じて迅速に画像を生成できる、カスタム画像生成を提供します。
  • Squidバックエンドコンテキストを使用して画像生成を保護し、リソースへの排他的アクセスを保証します。

動作の仕組み

画像ジェネレーターと対話するには、Squid Client SDK を使用してください。

Note

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

画像ジェネレーターの作成

画像ジェネレーターを作成するには、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 の詳細については、reference documentation を参照してください。

AI画像生成のセキュリティ

Squid AI画像ジェネレーターは管理者アクセスが必要なため、Squidバックエンドまたは他の管理者特権のある環境でのみ実行されるべきです。クライアントアプリケーションから Squidバックエンドに接続して画像ジェネレーターを実行する場合、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 agentslong-running AI conversations、および Query with AI functionality など、さまざまなAI機能を提供しています。Squid AI を使用して、強力なAIワークフローやアプリケーションを構築しましょう。