api 를 이용해서 chatgpt 4o 의 그림 만들기 기능 어떻게 만들어 ? 코딩해줘 openai 유료 키는 가지고 있어
작성자 정보
- 작성자 bryanai
- 작성일
컨텐츠 정보
- 조회 113
본문
api 를 이용해서 chatgpt 4o 의 그림 만들기 기능 어떻게 만들어 ? 코딩해줘 openai 유료 키는 가지고 있어
아래는 OpenAI API와 DALL·E 기능을 활용하여 그림 생성 기능을 만드는 Python 코드를 제공합니다. 이 코드는 OpenAI 유료 키를 사용하여 동작합니다.
---
### **Python 코드: Flask 서버로 구현**
```python
from flask import Flask, request, jsonify
import openai
app = Flask(__name__)
# OpenAI API 키 설정
openai.api_key = "your-openai-api-key" # 본인의 OpenAI API 키를 입력하세요.
@app.route('/generate-image', methods=['POST'])
def generate_image():
try:
# 클라이언트로부터 데이터 받기
data = request.json
prompt = data.get("prompt", "")
size = data.get("size", "1024x1024") # 기본 사이즈 (1024x1024)
if not prompt:
return jsonify({"error": "Prompt is required"}), 400
# DALL·E API 호출
response = openai.Image.create(
prompt=prompt,
n=1, # 한 번에 하나의 이미지 생성
size=size
)
# 생성된 이미지 URL 추출
image_url = response['data'][0]['url']
return jsonify({"image_url": image_url}), 200
except Exception as e:
return jsonify({"error": str(e)}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
```
---
### **사용법**
#### 1. **라이브러리 설치**
필요한 Python 라이브러리를 설치합니다.
```bash
pip install flask openai
```
#### 2. **API 실행**
위 코드를 `app.py` 파일에 저장한 후 실행합니다.
```bash
python app.py
```
#### 3. **API 요청**
Postman, cURL, 또는 Python 코드를 사용하여 요청을 보낼 수 있습니다.
- **Postman을 이용한 요청**:
- URL: `http://127.0.0.1:5000/generate-image`
- 메서드: `POST`
- 헤더: `Content-Type: application/json`
- 바디:
```json
{
"prompt": "A beautiful sunset over the mountains",
"size": "1024x1024"
}
```
- **Python 요청 코드**:
```python
import requests
url = "http://127.0.0.1:5000/generate-image"
payload = {
"prompt": "A futuristic city with neon lights",
"size": "1024x1024"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
```
---
### **출력 결과**
성공적인 요청의 경우 JSON 형식으로 이미지 URL을 반환합니다.
```json
{
"image_url": "https://openai-generated-images.s3.amazonaws.com/abc123xyz..."
}
```
브라우저에서 반환된 URL을 열거나 이미지 파일로 저장하여 사용할 수 있습니다.
---
### **기능 확장**
1. **이미지 개수 조정**: `n` 값을 변경하여 한 번에 여러 이미지를 생성할 수 있습니다.
2. **프롬프트 개선**: 클라이언트에서 사용자 입력을 받아 프롬프트를 동적으로 생성할 수 있습니다.
3. **보안 강화**: API 키를 `.env` 파일에 저장하고 `python-dotenv` 라이브러리를 사용하여 불러오는 것이 좋습니다.
```bash
pip install python-dotenv
```
`app.py` 수정:
```python
from dotenv import load_dotenv
import os
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
```
`.env` 파일에 키 추가:
```
OPENAI_API_KEY=your-openai-api-key
```
---
이 코드를 사용하여 로컬 환경 또는 클라우드 서버에 OpenAI 기반 이미지 생성 기능을 손쉽게 구현할 수 있습니다! ????
관련자료
-
다음