AWSのAIサービス Amazon Bedrockでイメージ生成を試してみた。といっても技術的なことはほぼやっていない。この記事自体が、どーでもいい⚪︎ソみたいなものだ。だから読まなくていいですが、⚪︎ソみたいな理由は読んでもらえればわかります。

 

やったこと

マネコンにログイン後、Amazon Bedrockに遷移。(IAMの権限はある状態)
お手軽に各種モデルを試すことができる「プレイグラウンド」を使ってみる。使用開始前にモデルの使用をリクエストするが、10月以降はリクエストせずとも使用可能になるというようなメッセージが表示されていた。とりあえずリクエストすると即座に承認される。

画像を生成・いじるためAmazon Novaモデルを選択する。

 

Bedrock

 

実は最初、既存の画像を編集させてみようと、あるモノクロのイラスト画像をアップロードした。単純に透明度30%で色がけして欲しかっただけなのだが、命令文が日本語でも英語でも、結果は無残なものになった。よくもここまでグロテスクな画像にしてくれたなお前、的な。あんなおぞましい画像はとても公開できない。こんなところに、AIの闇を感じる。

ちなみに「オリジナルの描画は変えないでくれ」と英語で指示したところ、美少女がちょこんと座っている場面(オリジナル画像とはまったく異なる) + 「色鉛筆」で構成された画像が生成されてしまった。美少女がそこそこ可愛かったから一瞬DLしようかと思ったが、「いらんだろ」と我にかえってやめた。こんなことを繰り返していると発狂しそうになる。

まぁ、「餅は餅屋」の通り、単純な画像編集なら画像加工ソフト or サービスを使え、ということだろう。

 

ということで編集はやめて生成に切り替えた。デフォルトでは3個画像が生成されるため、1に設定しておく。最初は日本語で指示してみた。英語の方が期待値を得られやすいのは認識していたが、どうなるのか結果を見たかったので。プロンプト(命令文)は以下。

 

渋谷のスクランブル交差点をベースにしてサイバーパンクっぽいイラストを描いて

 

すると…

 

 

Bedrock

 

非常に残念な結果になった。

 

「ちげーじゃんかよ!サイバーパンクはどこに行ったんだよ!!」

 

ということで、やっぱり英文で指示してみる。

 

Create A cyberpunk-style illustration based on Shibuya’s Scramble Crossing.

(illustrationを作れというのは変なので、後でillustration imageに変えた。細かいことは気にしないようだが)

 

すると。

 

Bedrock

Bedrock

一応、それっぽい画像が生成された。しかし、cyberpunk風というよりvaporwave風だね。確かに両者は被るところはあるけど、もう一歩踏み込んで欲しい。

 

同じ命令を繰り返したらどうなるか。

 

Bedrock

Bedrock

 

うーん、「これしか出来んのか」的な…。看板の文字が中国語っぽいのもなんかね。

バリエーションを生成してみたが。

 

Bedrock

 

「君、もういいよ」。

….。

 

やはり、抽象的な概念をテキストで指示するのは限界があるな、という感想。

とはいえ、世の中にはすでにAI生成によるコンテンツが溢れかえっている。それに対して言いたいことはいくつかあるが、本題からそれるので今はやめておく。

 

ちなみに実行後はAPIリクエスト(awscli)の構文が生成され、参照できる。以下は英文で一から生成を指示したときの構文でシンプルだが、画像をアップロードして編集させたときのリクエストは、画像データをテキストに変換するためbody部分が膨大になった。

 

aws bedrock-runtime invoke-model \
--model-id amazon.nova-canvas-v1:0 \
--body "{\"textToImageParams\":{\"text\":\"Create A cyberpunk-style illustration based on Shibuya's Scramble Crossing.\"},\"taskType\":\"TEXT_IMAGE\",\"imageGenerationConfig\":{\"cfgScale\":6.5,\"seed\":12,\"width\":1024,\"height\":816,\"numberOfImages\":1}}" \
--cli-binary-format raw-in-base64-out \
 \
--region ap-northeast-1 \
invoke-model-output.txt

 

ということで特に技術的に深いことは何もやっておらず、遊んでみただけ的な内容で⚪︎ソみたいだという理由がわかっていただけたと思うが、もちろんBedrockが⚪︎ソと言いたいわけではない。今度はコード生成なんぞを試してみたい。