안녕하세요. AI 서비스 활용 헬퍼 AIDA(아이다)입니다.
개발과 다양한 AI 서비스를 연결하고 활용하는 방법들에 대해 순차적으로 글을 연재코자합니다

이번 시간에는 대표적인 글로벌 AI 서비스 제공자인 OpenAI 의 주요 서비스를 간략 소개하고 OpenAI사에서 제공하는각종 API서비스를 손쉽게 여러분들의 Application에 연결할수 있게 회원가입 및 관련 API 서비스를 신청하는 방법들에 대해 안내드립니다.

먼저 아래 OpenAI 사의 홈페이지를 방문해보겠습니다.
https://openai.com/

상단 메뉴의 Research 를 보시면 아시겠지만 현재 OpenAI사의 주요 서비스를 소개하는 메뉴입니다.
GPT-4와 같은 LLM서비스(자연어생성),Dall.E3와 같은 Text To Image(이미지생성)을 비롯해 최신에 새로 추가된 Sora와 같은 Text To Video와 같은 최신의 생성형 AI서비스를 제공하고 있습니다.
OpenAI에서 제공해주는 각종 상기 서비스들은 RESTFul(API)방식으로 손쉽게 개발자 여러분들의 각종 프론트엔드/백엔드 어플리케이션에 연결해서 사용할수 있는데요.

OpenAI의 API서비스들과 연동하기 위한 절차는 아래와 같이 크게 신규회원가입 -> Project API 키 발급 -> 유료요금제 전환(결제수단등록) ->신용카드결제 및 유료 크레딧 확보 과정을 통해 여러분들이 유료요금제로 등록한 신용카드를 통해 선결제 후 지급되는 유료크레딧으로 각종 ChatGPT,DallE3,Sora등의 API 서비스를 호출시 해당 API 서비스별 호출 지출 크레딧 금액만큼 보유 유료 크레딧이 차감되는 방식으로 API 사용이 진행됩니다.

1) OpenAI 신규 회원 가입하기

먼저 회원가입부터 진행해보겠습니다.
상단 메뉴의 Login메뉴를 클릭합니다
로그인 화면의 중간에 가입하기 링크를 클릭하여 신규 회원 가입 절차를 진행합니다.

신규 회원가입은 기존에 사용하던 메일주소와 암호를 입력해 신규회원 가입하는 직접회원가입 방식와 기존 사용하는 SNS나 빅테크 기업(구글,마이크로소프트,애플)의 메일주소를 이용해 회원가입하는 SNS회원가입 방식 두가지를 지원하고 있습니다.
되도록이면 SNS인증 회원가입방식을 추천드립니다.

저는 구글 메일계정으로 SNS 회원가입을 진행하겠습니다.

이름/조직/생년월일등 최소한의 개인정보를 입력하고 서비스이용약관 및 개인정보보호정책에 대해 동의를 실시합니다.

사람이라는 것 확인하기를 통해 스팸 SW가 아님을 확인해줍니다.
3회정도의 시도를 통해 사람임을 확인하면 OpenAI Platform Docs(매뉴얼) 사이트 메인 페이지에 접속합니다.
https://platform.openai.com/docs/overview



2)API 키 발급하기 

회원가입 후 여러분의 어플리케이션에 OpenAI에서 제공하는 각종 서비스들을 연결하려면 먼저 OpenAI API서비스 키를 신청해야합니다.
OpenAI 서비스 로그인후 접속하는 OpenAI Platform Docs 메인 페이지의 좌측 메뉴중 APIKes메뉴를 클릭합니다.
https://platform.openai.com/docs/overview 



A)API 키 발급을 위한 전화번호 유효성 검증하기

- API 키발급을 위해 상단 Start verification 버튼을 클릭해 전화번호 실명인증을 진행합니다.
- 사람이라는것을 확인하고  여러분 전화번호 문자메시지로 발급된 확인코드 6자리를 확인하고 6자리 코드값을 입력합니다.
- 전화번호 확인코드 입력 후 간단한 최종 안내 문구가 나타납니다.
> 해당 전화번호로 최초 가입시 무료 크레딧이 제공되며 기존에 사용한 전화번호인경우 무료크레딧이 발급되지 않습니다.
> OpenAI API 서비스를 이용하려면 유료요금제로 업그레이드 하셔야 합니다.
> 온라인 지원이 필요하면 https://help.openai.com 도움말 센터에 문의하시면 됩니다.






B) 프로젝트 API 신규 보안키 생성하기 


-전화번호 유효성 검사를 완료하였거나 APIkesy 메뉴 메인 페이지 하단의 Create new secret key 버튼을 클릭하여 신규보안키를 생성합니다.
-Name: 키명
-프로젝트: 기존에 생성 프로젝트 또는 디폴트 프로젝트
-퍼미션: 서비스 권한
-사람이라는것을 확인합니다.

-반드시 발급된 인증키를 복사하여 별도 공간/문서에 보관합니다.
-한번 발급된 보안키의 키값은 확인이 불가하므로 반드시 발급된 키값은 별도 저장 보관하시고 기억이 안나면 해당 키를 삭제하고 재발급 받으시면 됩니다.
-보안을 위해 OpenAI는 인터넷상에 공개된 API Key값들은 자동으로 비활성화 처리를 한다는점 알아두시기 바랍니다. 

sk-proj-thisisSAMLEsecurityCodeValuesdfd

** 보안을 위해 발급된 키값은 다른이들과 공유하지 마세요.


C) 발급된 Project API Key 목록 확인하기
-발급된 보안키 목록을 확인합니다.
-한번 발급된 보안키의 키값은 확인이 불가합니다. 

** API 키값 관리 주의사항 **
-보안을 위해 발급된 키값은 다른이들과 공유하지 마세요.
-기존에 사용하던 User API Key는 신규 Project API Key로 대체되었습니다.
-보안을 위해 OpenAI는 인터넷상에 공개된 API Key값들은 자동으로 비활성화 처리를 한다는점 알아두시기 바랍니다.
-실제 여러분의 어플리케이션에 위에 발급한 키값을 이용해 연동 개발시 발생하는 에러중 BadRequestError: 400 Billing hard limit has been reached 에러하는 경우 주요 발생원인은  유료 요금제로 업그레이드 하지 않아서 발생하는 경우가 많습니다.
-발급된 인증키값들은 어플리케이션 환경변수등으로 값을 저장해 사용하면 보다 안전하게 키값을 유지할수 있습니다.



3) Application 연동을 위한 유료 요금제 업그레이드 하기 

OpenAI의 각종 API 서비스를 여러분의 어플리케이션과 연동해 사용하려면 여러분들의 결제 유형을 유료 요금제로 전환하고 신용카드를 등록하여 특정 금액을 선결제 하면 금액만큼 크레딧이 지급되며 해당 크레딧(유료요금제 크레딧)을 이용해 API서비스등을 사용할수 있습니다.
유료요금제 및 크레딧 구매를 위한 절차를 안내해드립니다.


OpenAI 서비스 로그인후 접속하는 OpenAI Platform Docs 메인 페이지의 좌측 메뉴중 Settings 메뉴를 클릭합니다.
좌측 Settings >Organization >소속명>Billing 메뉴를 클릭합니다.
현재 빌링이 FreeTrial 로 되어 있으면 발급된 API 인증키를 이용한 여러분 어플리케이션 연동시  BadRequestError: 400 Billing hard limit has been reached 와 같은 에러가 발생하게 됩니다.

A)유료 요금제 신청 및 결제수단 등록하여 크레딧 구매하기

Billing>Overview > Add payment details 버튼을 클릭해서 유료 요금제 신청 및 결제수단을 등록합니다.
개인으로 할지 회사소속으로 유료 요금제를 신청할지 선택합니다. 

B)결제수단 정보 등록하기 
-신용카드번호, 결제청구주소 정보등을 입력합니다. 


C)결제 정보 설정하기
- 5달러에서 100달러 미만의 금액을 설정하고 해당 설정금액을 선결제하여 유료 크레딧을 충전합니다.
선택옵션: 자동충전 여부 선택 :카드 선결제를 통해 구매한 크레딧 잔액이 0달러에 도달하면 API 요청 작동이 자동 중지되며
자동 충전 여부를 활성화하면 크레딧 잔액이 자동으로 충전되어 원할한 API서비스 사용이 가능하니 옵션을 고려해 선택하시면 됩니다.

D)결제 요약정보 확인하기


-결제금액/카드정보/세금 정보를 다시 한번 확인합니다.
-최종 결제 확인 버튼을 눌러 결제를 실행합니다.
-결제가 완료되고 신용카드 결제 확인 문자등이 도착합니다.(카드사)

E)Billing Overview탭에 크레딧 잔액을 확인합니다.

-신용카드 결제를 통해 생성된 크레딧 금액을 확인합니다.
-크레딧은 API 사용에 따라 차감되며 크레딧이 부족하면 자동충전 옵션에 따라 자동 결제 후 자동 크레딧이 충전되거나 또는 잔여 크레딧이 없으면 API서비스 호출이 중지(서비스 중단)됩니다.

이제 유료 요금제로 전환하고 신용카드 선결제를 통한 유료 크레딧을 구매했다면 위에서 발급한 Project API 보안키값을 이용해 여러분들의 각종 어플리케이션에서 OpenAI의 다양한 AI API서비스들을 연동하여 사용할수 있습니다.




아래 링크는 Node Express 백엔드 어플리케이션에서 OpenAI의 Text To Image AI 서비스인 DALL.E 2/3와 연계하여 사용자가 입력한 프롬프트를 통한 AI 이미지를 생성하는 프로젝트 개발 샘플을 제공합니다.

Node나 JavaScript에 익숙한 분들이라면 손 쉽게 Node Express Backend Application에 OpenAI의 Text To Image 서비스인 DALLE3 기반 생성형 AI 서비스를 접목하실수 있습니다.

https://mixedcode.com/blog/detail?pid=7