안녕하세요.
오늘은 huggingface API를 발급받고 이를 이용해 파이썬에서 AI로 이미지를 생성해 보겠습니다.
Huggingface API, Python AI Image Create
▣ Hugging Face
자연어 처리(NLP) 및 기계 학습(Machine Learning) 모델을 개발하고 공유하는 온라인 플랫폼 및 커뮤니티
- 개발자들이 최신 NLP 모델을 손쉽게 사용하고, 다른 사용자들과 모델을 공유하며 협업하는 데 도움을 줌
- 이중 Inference API는 Hugging Face가 제공하는 서비스로, 사용자가 다양한 NLP 모델 작업을 위해 사전 훈련된 모델에 접근할 수 있게 함
ㅇ Inference API 발급받기
1) Hugging Face 계정 생성
- 사이트 바로가기
- 계정을 생성하여 로그인 후, 우측 상단에 있는 프로필 > Settings에 들어가서 [Access Tokens] 클릭
2) 새로운 API Token 생성
- New token 클릭하여 Name을 작성하고 Role을 선택 후, [Generate a token] 클릭
- 만들어진 token의 key 값을 복사하여 사용하면 됨
ㅇ Python Hugging Face API 사용하기
- 먼저, requests 라이브러리로 HTTP 요청을 보내고, API 토큰을 헤더에 포함하여 인증
- 모델은 Hugging Face Inference API에서 stablediffusion > dreamshaper-8 활용
(Test : https://huggingface.co/Lykon/dreamshaper-8)
- 아래는 Hugging Face의 이미지 생성 엔드포인트에 POST 요청을 보내는 예제임
import requests
import json
# Hugging Face API Token 입력
API_TOKEN = "YOUR_HUGGING_FACE_API_TOKEN"
# Hugging Face에서 stablediffusion 모델인 dreamshaper-8 선택
MODEL_NAME = "Lykon/dreamshaper-8"
# API endpoint
endpoint = f"https://api-inference.huggingface.co/models/{MODEL_NAME}"
# 프롬프트 입력하기
data = {
"prompt": "A painting of a forest with sunlight filtering through the trees",
"max_length": 256 # Maximum length of the generated image caption
}
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}
# AI 이미지 생성하기
response = requests.post(endpoint, headers=headers, json=data)
# request 예시
if response.status_code == 200:
result = response.json()
generated_image = result.get("image")
# 저장하기
with open("generated_image.png", "wb") as f:
f.write(generated_image)
print("Image generation successful. Image saved as generated_image.png")
else:
print("Error:", response.text)
ㅇ 이미지 결과
- 프롬프트 내용
A painting of a forest with sunlight filtering through the trees
'Programming > Python' 카테고리의 다른 글
[Python] Groq API 챗봇 구현하기 (67) | 2024.03.11 |
---|---|
[Python] pydataset 테스트 데이터 라이브러리 (74) | 2024.03.07 |
[Python] TTS(Text-To-Speech) 만들기 gtts (44) | 2024.02.25 |
[Python] 구글 바드 API 사용법 (3) | 2024.01.30 |
[Python] 날짜 비교 및 차이 구하기 (8) | 2024.01.29 |
댓글