オリジナル「AIサービス」の作り方⑨~画像を作る(画像生成)~
AIの利用シーンとしては画像生成が多いのではないでしょうか?
そんな画像生成、もちろんOpen AI APIでもできます!
まずは、APIリファレンスを見てみます・・・
※表示はchromeの日本語翻訳をしました。
https://platform.openai.com/docs/api-reference/images/create
【 画像生成 】
■ 「画像生成」基本の使い方
・ エンドポイントは、「https://api.openai.com/v1 /images/generations」。
・ 「prompt」キーに生成したい画像の内容を、テキストで指定するようです。
// Request parameters
$data = array(
'prompt' => 'ネコ'
);
※ ちなみに、promptを「可愛い猫」にしたら、「content_policy_violation(コンテンツポリシー違反)」という警告エラーがでました。
なんのポリシー違反なのか、さっぱりわからない・・・
色々なワードを使って、ぜひ、どんな画像が作られるのか試してみてください!
■ おおまかなキー名と意味
※文章はリファレンスからの引用を含む
・ prompt
希望する画像のテキストによる説明。最大長は の場合は 1000 文字dall-e-2、 の場合は 4000 文字ですdall-e-3。
⇒ 日本語で入力できるのですがあまり思ったイメージにはなりません。
・model
画像生成に使用するモデル
⇒ デフォルトがdall-e-2で、dall-e-3の場合で、下記のsize指定が違うようです。The size is not supported by this model.というエラーになりました。
⇒ 画像の仕上がりがどれくらいちがうのか?
・・・これは、結構、驚くべきレベルで違ってきます・・・絶対dall-e-3のほうがいい!!・・・記事下部に追加で違い検証を記載しています。
・n
生成する画像の数。1 から 10 までの範囲で指定する必要があります。
・size
生成された画像のサイズ
⇒ 256x256、512x512、1024x1024(dall-e-2用)
⇒ 1024x1024、1792x1024、1024x1792(dall-e-3用)
とあるのですが、これ以外だとダメなのでしょうか?
ちょっと試してみます。
300x200にすると、下記のエラーが・・・
'300x200' is not one of ['256x256', '512x512', '1024x1024', '1024x1792', '1792x1024'] -
【 画像編集 】
⇒ 私の理解が正しいなら、透過処理(またはマスク画像を別に用意)して、そのマスク部分以外をプロンプトで修正するというちょっと面倒なAPI。
【 画像のバリエーションを作成する 】
※ リファレンスに「The image object」という項目がある→これは、返答(レスポンス)でやってくるデータ構造の説明のようです。
と、まぁそんな感じです。
【 追加検証など 】
■ 画像生成でdall-e-2とdall-e-3の品質の違い
両方同じプロンプト「1024x1024」「ロボットが絵を書いている」で出力しました。圧倒的な違いがありました。