Published on

OpenAI DallE API로 초간단 이미지 생성 서비스 만들기

Authors
  • 테크버킷
    Name
    테크버킷
    Twitter

AI 이미지 생성의 새로운 시대: OpenAI API로 당신만의 서비스 만들기

최근 인공지능(AI)을 활용한 이미지 생성이 대중의 관심을 받으며, 창의적이고 혁신적인 서비스의 유행을 이끌고 있습니다. 많은 이들이 AI의 놀라운 능력에 매료되어, 직접 이 기술을 활용해보고 싶어합니다. 여기서 좋은 소식을 전하자면, OpenAI의 API를 통해 누구나 쉽게 AI 기반 이미지 생성 서비스를 만들 수 있다는 것입니다! 이 글에서는 OpenAI API를 활용해 간단한 웹 페이지를 만드는 방법을 안내하겠습니다.

사용 기술

  • OpenAI API
  • JavaScript
  • HTML

OpenAI API를 사용하기 위해서는 OpenAI의 API Key가 필요합니다. API Key는 OpenAI의 웹사이트에서 발급받을 수 있습니다. API 사용시 요금이 발생할 수 있습니다. 자세한 내용은 OpenAI의 웹사이트를 참고하세요.

참고 자료

1단계: OpenAI API에 대한 이해

OpenAI의 API는 강력한 AI 모델을 활용하여 사용자의 텍스트 설명을 기반으로 이미지를 생성합니다. 이 API를 사용하는 방법은 아주 간단합니다.

API 요청 구성하기

  • Endpoint: https://api.openai.com/v1/images/generations는 이미지 생성을 위한 주소입니다.
  • Headers: 요청 헤더에는 Authorization과 함께 API 키를 포함해야 합니다.
  • Body: 이미지 생성을 위한 텍스트 설명과 다른 파라미터들을 JSON 형식으로 작성합니다.

Axios를 이용한 API 요청 예시

Axios는 JavaScript에서 HTTP 요청을 쉽게 만들 수 있는 라이브러리입니다. 아래는 Axios를 사용한 API 요청 예시입니다. javascript의 다른 라이브러리나 python 등 다른 언어로도 동일하게 API 요청을 보낼 수 있습니다.

const axios = require('axios')

axios
  .post(
    'https://api.openai.com/v1/images/generations',
    {
      prompt: '여기에 이미지에 대한 설명을 적으세요',
      n: 1,
      size: '1024x1024',
    },
    {
      headers: {
        Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
        'Content-Type': 'application/json',
      },
    }
  )
  .then((response) => {
    console.log(response.data)
  })
  .catch((error) => {
    console.error('Error:', error)
  })

2단계: API 응답 이해하기

API 응답은 JSON 형식으로 오며, 여기에는 생성된 이미지의 URL이 포함됩니다. 응답의 구조는 다음과 같습니다.

{
  "data": [
    {
      "url": "https://generated.image.url"
    }
  ]
}

3단계: 웹 페이지 구성하기

이제 JavaScript와 HTML을 사용하여 사용자가 텍스트를 입력하고, 버튼을 클릭하여 이미지를 생성하고 볼 수 있는 간단한 웹 페이지를 만들어보겠습니다.

HTML 구조

<!DOCTYPE html>
<html>
  <head>
    <title>AI 이미지 생성기</title>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
  </head>
  <body>
    <input type="text" id="prompt" placeholder="이미지 설명 입력" />
    <button id="generateButton">이미지 생성</button>
    <img id="resultImage" src="" alt="생성된 이미지" />
    <script src="script.js"></script>
  </body>
</html>

JavaScript 구현 (script.js)

document.getElementById('generateButton').addEventListener('click', function () {
  const promptText = document.getElementById('prompt').value

  axios
    .post(
      'https://api.openai.com/v1/images/generations',
      {
        prompt: promptText,
        n: 1,
        size: '1024x1024',
      },
      {
        headers: {
          Authorization: `Bearer ${YOUR_OPENAI_API_KEY}`,
          'Content-Type': 'application/json',
        },
      }
    )
    .then((response) => {
      const imageUrl = response.data.data[0].url
      document.getElementById('resultImage').src = imageUrl
    })
    .catch((error) => {
      console.error('Error:', error)
    })
})

완성된 웹 페이지의 작동 방식

  1. 사용자 입력: 사용자는 웹 페이지의 텍스트 박스에 이미지 생성을 위한 설명을 입력합니다.
  2. 이미지 생성 요청: "이미지 생성" 버튼을 클릭하면, script.js 파일 내의 코드가 실행되어 사용자의 입력을 바탕으로 OpenAI API에 이미지 생성 요청을 보냅니다.
  3. 이미지 표시: 응답으로 받은 이미지 URL이 웹 페이지의 img 태그에 설정되어, 사용자에게 생성된 이미지가 표시됩니다.

주의 사항

  • YOUR_OPENAI_API_KEY 부분에 실제 OpenAI API 키를 입력해야 합니다. 이 키는 민감한 정보이므로 공개적으로 노출되지 않도록 주의해야 합니다.
  • Axios 라이브러리는 <script> 태그를 통해 웹 페이지에 포함되어 있어야 합니다.
  • API 요청이 실패하거나 오류가 발생할 경우, 적절한 오류 처리를 통해 사용자에게 피드백을 제공하는 것이 좋습니다.

이제 당신은 간단한 AI 이미지 생성 웹 페이지를 만들 수 있게 되었습니다. 사용자의 창의적인 아이디어를 AI가 시각적인 형태로 전환하는 이 과정은 분명 많은 사람들에게 즐거움과 영감을 줄 것입니다.

결론

이 튜토리얼을 통해, 당신은 OpenAI API를 활용하여 간단한 이미지 생성 웹 페이지를 만드는 방법을 배웠습니다. 이제 AI의 놀라운 능력을 활용해 독특하고 매력적인 이미지를 생성하는 서비스를 만들 수 있습니다. 창의력을 발휘하여 당신만의 서비스를 만들어보세요!