Open5

Open AIの画像生成APIを試す

kurehajimekurehajime

普通に生成

まずは普通に生成してみる。
「江戸時代にタイムトラベルした23世紀の旅行者」

import openai
response = openai.Image.create(
    prompt="23rd century traveler who time-traveled to the Edo period.",
    n=1,
    size="512x512"
)
results = response['data']
for item in results:
    print(item['url'])

微妙…だがAPIで画像が作れることは確認できた。
ちなみに画像サイズは256x256、512x512、1024x1024の三択。

kurehajimekurehajime

画像の一部に挿入

元画像

元画像の一部を消去した画像

この2枚を読み込ませた上で「月面に立つ二足歩行のウサギの写真」と注文する。

import openai
response = openai.Image.create_edit(
    image=open("base.png", "rb"),
    mask=open("mask.png", "rb"),
    prompt="Pictures of bipedal rabbits standing on the moon.",
    n=1,
    size="512x512"
)
results = response['data']
for item in results:
    print(item['url'])

うーん、ギリギリ二本足で立ってると言えなくもない感じ。

kurehajimekurehajime

バリエーション違いを生成

元となる画像を用意する。
これはガチへこみしてるピエロの画像。

これのバリエーション違いを生成する。

import openai
response = openai.Image.create_variation(
    image=open("original.png", "rb"),
    n=1,
    size="512x512"
)
results = response['data']
for item in results:
    print(item['url'])

忍者っぽくなった。

うーんドキュメントには

Learn how to generate or manipulate images with our DALL·E models

と書いてるけど、ひょっとしてAPIとして公開されてるのはDALL·E2じゃなくてその前バージョンなのかな?