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