[アップデート]DALL·E 3にAPI経由でアクセスできるようになりました

2023.11.07

はじめに

こんにちは、筧( @TakaakiKakei )です。

2023年11月6日にOpenAIが初めての開発者向けのイベントであるOpenAI DevDayを開催しました。 本ブログでは、イベントで発表されたアップデートの一つである、DALL·E 3のAPI経由利用について解説します。

DALL·E 3とは

OpenAIが提供している、画像生成AIモデルの一つです。 プロンプト(テキスト)から画像生成をしてくれます。 DALL·Eにはいくつかバージョンがありますが、最新バージョンとして、DALL·E 3が公開されています。 旧バージョンのDALL·E 2などと比較して、同じプロンプトでも生成される画像のクオリティが高いなどの特徴があります。

DALL·E 3

何が嬉しいか

今までは、ChatGPT PlusとEnterpriseユーザーにGUI経由で提供されていました。 API経由でDALL·E 3にアクセスできることにより、プログラムを通じて画像生成ができるようになります。 これにより、いろいろなアプリやウェブサイトに簡単に組み込むことが可能になり、特別な操作をしなくても自動で新しいイラストを作ることができるようになります。

前提

実行環境

実行環境として、Google Colaboratoryを利用します。 Google Colaboratory、通称 Colab は、Google が提供するクラウドベースの Jupyter ノートブック環境です。Python を用いたデータ分析、機械学習、AI 開発に役立ちます。重要な特徴として、無料の GPU を提供しており、ユーザーがコンピュータに GPU を搭載することなく、高度な計算を行うことができます。 Google Colaboratoryの使い方は以下のZenn Bookを参照ください。

付録:Google Colaboratory(Colab) の紹介

やってみた

予めコードの全体像を記載します。

必要なライブラリのインストール

最初のセルに以下のコードを書きます。

!pip install openai

このコードは、Python で OpenAI の API を操作するために必要なライブラリをインストールします。上記のセルを実行すると、ライブラリがインストールされます。

API キーの設定

次に、OpenAI の API キーを設定します。

import os
import getpass

os.environ["OPENAI_API_KEY"] = getpass.getpass('OpenAI API Key:')

このコードは、環境変数に API キーを設定します。上記のセルを実行すると、「OpenAI API Key:」というプロンプトが表示されるので、OpenAI の API キーを入力しましょう。

DALL·E 3のAPI呼び出し

次に、DALL·E 3をAPI経由で呼び出すコードを書きます。 プロンプトには、「a white siamese cat」と指定しています。

from openai import OpenAI
client = OpenAI()

response = client.images.generate(
  model="dall-e-3",
  prompt="a white siamese cat",
  size="1024x1024",
  quality="standard",
  n=1,
)

image_url = response.data[0].url
print(image_url)

以下の形式のURLが払い出されます。

https://oaidalleapiprodscus.blob.core.windows.net/private/..snip..

URLにアクセス

最後に、URLにアクセスします。

プロンプトの「a white siamese cat」の通り、白いシャム猫の画像が生成されました!

補足

  • 料金については、Image modelsを参照ください。執筆時点では、画像あたり$0.040からの提供になっています。
  • 画像生成時に払い出されるURLは1時間後に期限切れになります。
  • APIには、開発者がアプリケーションを悪用から保護できるようにするためのモデレーションが組み込まれています。例えば、暴力的、成人向け、または憎悪に満ちたコンテンツを含む潜在的に有害な画像を生成する能力が制限されています。

まとめ

最後まで読んでいただきありがとうございます。 数行書くだけで簡単に画像生成をすることができました。 私の開発しているアプリにも早速組み込もうと思います! それではまた!