시작하며
최근 그림 AI에 대한 관심이 뜨겁다.
가장 처음 소식을 접한 건 미술전에서 수상을 했다는 이야기였다.
방식은 이렇다 원하는 그림에 대한 키워드들을 넣고 최대한 많은 그림을 생성한 다음
마음에 드는 그림을 골라 적당히 업스케일하고 제출하면 된다.
대회에 이를 숨기고 출전하여 상금을 가져가는 건 문제가 있겠지만,
그림을 그렸던 때의 노력과 들어간 시간을 생각해 보면 1회성 삽화나 일러스트로는 상당한 이점을 가지고 있다.
뿐만 아니라 여러 AI들이 각자의 화풍을 가지고 있다는 것도 쓰기 나름의 큰 장점이다.
그래서 성탄절 전까지 살짝 애매한 시간에 괜찮은 강의를 찾아서 간단한 앱을 하나 만들어 봤다.
백엔드
DALL-E 2
기본적으로 DB는 사용하지 않지만 그림을 그려줄 AI가 필요하다.
사용할 AI는 OpenAI의 DALL-E 2 다.
기존 버전까지는 초대로만 API Key가 제공 됐었는데,
이후 연달아 나온 NovelAI등을 의식한 탓인지 금세 일반인에게도 제공하기 시작했다.
무료 사용량이 제공되고, 이후엔 과금이 필요하다.
OpenAIKit
OpenAI는 Swift를 정식으로 지원하진 않지만 포팅된 Package가 존재한다.
OpenAI에서 생성한 API Key를 사용해 간단하게 결과를 받아 볼 수 있는 Package다.
참... 좋은 세상이다.
앱
Swift
SwiftUI
Swift와 Swift를 사용한 Design Language인 SwiftUI를 사용한다.
기능
아래의 기능을 구현한다.
- OpenAI의 DALL-E 2를 사용하기 위한 Keyword를 입력받는다.
- Keyword를 OpenAI의 Dall-E 2에 전달해 이미지를 생성한다.
- 생성된 이미지를 화면에 표시한다.
- 생성된 이미지를 사진앱에 저장한다.
- 경고창
- 상황에 따른 interface 비활성화
기능은 강의의 내용 외에도 추가적으로 구현한 부분들이 존재한다.
기본적으로 서비스하는 앱의 비주얼을 가질 수 있도록 기타 설정을 더한다.
- Protrait Mode 제한
- Dark Mode 제한
- 사집앱 접근 권한 설정
참고
'프로젝트 > Image Generator (w∕OpenAI)' 카테고리의 다른 글
05. 인터페이스 디자인 #2 (0) | 2022.12.28 |
---|---|
04. 기능구현 #3 (0) | 2022.12.28 |
03. 기능구현 #2 (0) | 2022.12.27 |
02. 기능 구현 #1 (0) | 2022.12.27 |
01. 인터페이스 디자인 #1 (0) | 2022.12.24 |