はじめに
2024年12月にAWSから新たに発表されたAmazon Novaシリーズのうち、画像生成に特化したAmazon Nova Canvasを試してみました。Amazon Nova Canvasは、テキストプロンプトから高品質な画像を生成できるAIモデルで、Amazon Bedrockを通じて利用できます。
この記事では、実際にプレイグラウンドでAmazon Nova Canvasを実際に試してみた様子を共有できればと思います。
プレイグラウンドを見てみる
早速モデルを有効化して、プレイグラウンドで確認してみたいと思います。
私はバージニア北部リージョンで実施しています。確認したところ、東京リージョンでも利用可能のようです。
Action を見てみると、単なる画像生成だけでなく画像編集(置換)も可能なことがわかります。
また、左のメニューにあまり聞き覚えのない項目がありました。
負のプロンプト とは
軽く調べたところ、AWSからプロンプトのベストプラクティスの紹介や負のプロンプトに関する説明がなされていました。
どうやら、画像生成モデルはプロンプトの否定を理解できないらしく、プロンプトに「~をしない」といった否定の指示が伝わらないそうです。具体的には、「バナナのない果物バスケット」というプロンプトを渡すと、バナナを含んだ果物バスケットが含まれるようです。
そのため、否定の指示を渡したいときに使うのが負のプロンプト(negativeText)を利用します。
プロンプト強度
プロンプトの影響度のことのようです。1.1~10の値をとり、この値が高いほどプロンプトへの忠実度が上がることになります。
実際に試してみる
以下のようなベースのプロンプトを決めて、各設定やプロンプトを調整してみたいと思います。
晴れた日の牧場の風景。馬や牛などがのどかに過ごしている。
なお、デフォルトで3枚の画像を生成する設定になっています。今回はデフォルトのまま3枚生成してもらうことにします。
特に調整なし
まずは、そのまま試してみました。数分後に以下のような画像を生成してくれました。青空をイメージしていましたが、「晴れ」という情報に引っ張られているのか、若干日が傾いている感じがしますね。
負のプロンプトを試す
青空にしたいので負のプロンプトに以下を追加してみます。本来は元のプロンプトに青空と指示すれば済む話な気はしますが…。ついでに山も消してみましょう。
朝焼け・夕焼け・山
山が消え、その代わり森が現れました。また、日の傾きは見られなくなりましたが、青空は見えません。以上より、私がイメージしていたものとは異なりますが、確かに負のプロンプトが効いていそうなのはわかります。
また、ちょうどいい具合に(?)、プロンプトを無視して馬しかいない画像が生成されました。プロンプト強度はデフォルトの6.5なのでたまに無視することがあるのかもしれません。
いったんプロンプトを改める
プロンプト強度をいじる前にこれまでのやり取りを踏まえてプロンプトを以下の通り修正しました。
晴れた日の牧場の風景。青空と草原が広がり、馬や牛などがのどかに過ごしている。構図は少し引き。
負のプロンプト:山・森・木
真ん中の画像の牛が何やら発光しているように見えますが、おおむねイメージしている画像になってきていると思います。また、ぱっと見牛ばっかりで馬がいないように見えますので、プロンプト強度を調整してどうなるか見てみたいと思います。
プロンプト強度の影響を見てみる
まずは、最大値の10にしてみます。
う、うーん...
馬がいないような気がしますが、違いが分かりません。皆さんどう判断しているのでしょうか。
いったん気を取り直して、続いて最小値の1.1にしてみたいと思います。
こちらはわかりやすく馬や牛がいなくなっていますね。オブジェクト(?)に関する指示が無視されているイメージなんでしょうか。
コストについて
AWS公式ページを参照すると、Amazon Nova Canvasのコストは以下の通りです。
| Amazon Nova モデル | 画像解像度 | 標準品質で生成された画像1枚あたりの価格 | プレミアム品質で生成された画像1枚あたりの価格 |
|---|---|---|---|
| Amazon Nova Canvas | 1024 x 1024 まで | USD 0.04 | USD 0.06 |
| Amazon Nova Canvas | 2048 x 2048 まで | USD 0.06 | USD 0.08 |
今回は1280×720の画像を15枚生成したのでざっと1ドル弱ほどになると思います。
Nova Canvasが出てくる以前から使うことのできたAmazon Titan Image Generatorは一回り安価のようですので、状況によって使い分けるのがよさそうですね。
おまけ
後日確認したところ、想定通りのコストになっていました。
おわりに
以上プレイグラウンドでのお試しでしたが、実際にNova Canvasを使って画像生成の様子を確認してみました。これは画像生成の際に限った話ではないですが、いろいろな解釈ができるような指示をするとほしい出力が得られないというのを痛感しました。また機会があれば、実際にコードから呼び出して使う使い方や、他の画像生成モデルとの比較をできればと思います。
ありがとうございました。







