【AI】DALL-EのAPIを使ってテキストから画像を生成してみる

DALL-EのAPIが使えるようになったって本当?
本当だよ。

今回はAIがテキストから画像を生成してくれるDALL-EのAPIを使って画像を生成するっていうことをやっていきます。

この記事でやること
  • OpenAIの登録
  • DALL-E APIを使ってテキストから画像を生成する

    DALL-EのAPIでどんな画像を作ることができるのか気になる方は見てみてください。

    DALL-EのAPIを使っていこう。

    OpenAIに登録する

    OpenAIに登録しないとDALL-Eは使うことができないので登録します。

    登録してログインしたらDALL-Eを使うことができます。

    DALL-Eとは

    DALL-Eはテキストを入力するとそれに見合った画像を生成してくれるというもの。Stable DiffusionやNovelAIと同じような感じだね。

    試してみたかったらDALL-Eからテキストを入力して画像を生成してみるといいです。

     

    画面上の写真にカーソルを当てるとテキストが表示されるので、それらを参考に入力してみるのもいいですよ。

    なるほど、これは画面からテキスト入力しているけどAPIでもできるんだよね?
    そうだね、API実行して画像生成させることができるよ。

     

    Image Generation

    DALL-EをAPIとして使いたかったらImage Generationを見てみましょう。Learn how to generate or manipulate images with our DALL·E modelsと書かれているようにDALL-Eを使った画像生成の方法が掲載されています。

    今回はここに書かれているようにDALL-EをAPIで使ってみます。

    DALL-E APIを使ってみる

    実際にAPIを使って画像を生成してみます。以下の手順で行きましょう。

    流れ
    1. API Keyを取得する
    2. APIを実行してテキストから画像を生成

    API Keyを取得する

    APIを実行するためにはAPI Keyが必要なので取得します。

    Create new secret keyで取得することができる。

    取得したシークレットキーはコピーしておきましょう。

    APIを実行する

    APIはドキュメントを参考にしながら実行してみます。

    curl https://api.openai.com/v1/images/generations \
      -H 'Content-Type: application/json' \
      -H "Authorization: Bearer $OPENAI_API_KEY" \
      -d '{
        "prompt": "a white siamese cat",
        "n": 1,
        "size": "1024x1024"
      }'

    responseは以下のように返ってきました。

    response

    {
    "created": 1669172799,
    "data": [
    {
    "url": "https://oaidalleapiprodscus.blob.core.windows.net/private/org-0KGMvQul9qOOAe6nK6qtVry3/user-egi7r7DujTw4lnryrdPSQyDJ/img-kpEqVh1izV0sQQs4xVuyUi4a.png?st=2022-11-23T02%3A06%3A39Z&se=2022-11-23T04%3A06%3A39Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2022-11-23T01%3A41%3A28Z&ske=2022-11-24T01%3A41%3A28Z&sks=b&skv=2021-08-06&sig=oyMLo%2B1507I6y34q1V6zHxioGnBUbCEZrdTVfNajzis%3D"
    }
    ] }

    urlにアクセスして確かめてみるとちゃんと白い色の猫の画像が生成されています。

    試しに他のテキストも入力して生成してみるとこんな感じです。

    a blue dragon in the sky

    oil painting of beautiful flowers

    illustration of cute girl playing game in her room

    water flow

    何かのイラストとかより絵画や抽象画みたいなののほうが得意なのかな?
    いくつか試してみたけど、そうかもしれないね。

    入力したテキストに沿ったような画像を生成してくれるのは凄いけど、クオリティはものによって結構バラバラな気がします。

    プログラムからも呼び出すことができる

    上で出力した画像はcurlでAPI叩いて試してみたけど、APIなのでいろんなプログラミング言語を使って呼び出すことができます。PythonやJavaScriptなどでDALL-EのAPI使って画像生成アプリ作って言うこともできますね。

    まとめ

    DALL-EのAPIが使えるようになったということで少し試してみたけど、イラストなどより画像・絵画っぽいものを作るのが得意なのかな?といったところでした。(入力するテキストもそんなに試していないので何とも言えないけど・・・)

    こういう画像生成のAPIが使えるようになると、それを使ったWebサービスやアプリも増えてくるだろうと思います。呼び出すだけで画像生成をすることができてしまいますからね。

    API使いたい方は試してみるといいですよ。