React / DALL-E API で画像生成

ReactとOpenAI API(DALL-E API)を使って画像生成アプリを作ってみる。

キーワードを入力/画像生成ボタン押下でAPIにリクエストを送り画像を取得する。フロントのみなのでセッション保持などはなし。

GitHub: https://github.com/yuheijotaki/chatgpt-dall-e-sample

Create image のエンドポイントへPOSTする。

  const generateImage = async () => {
    try {
      const response = await axios.post(
        "https://api.openai.com/v1/images/generations",
        {
          prompt: inputText,
          n: 1,
          size: "256x256",
          response_format: "url",
        },
        ...
      );
      setImageUrl(response.data.data[0].url);
    } catch (error) {
      ...
    }
  };

size でサイズ変更、 response_formatb64_json などのフォーマットと変更も可能。

所感

例えば「3匹の猫」と入力したら白い花の画像が生成されたり、結構厳密にキーワード指定しないと精度的にはそこまで高くなさそう。(現状では)
Create image edit や Create image variation など、インプットが画像ベースになるのも試してみたい。