Reve Art API 문서
Reve Art의 이미지 생성 API를 이용해 주셔서 감사합니다. 이 서비스는 고급 AI 기반 이미지 생성 기능을 간단한 REST API를 통해 제공합니다.
Reve Image 1.0 개요
Reve Image 1.0은 다음과 같은 기능을 가진 저희의 주력 텍스트-이미지 생성 모델입니다.
- 뛰어난 프롬프트 준수
- 높은 심미적 품질
- 정확한 타이포그래피 렌더링
- 직관적인 텍스트-이미지 생성
이 모델은 고급 프롬프트 엔지니어링 전문 지식 없이도 초보자와 숙련된 사용자 모두 쉽게 이용할 수 있습니다. 이미지 생성에서 무료로 체험해 보세요.
사용 예시
Reve Art API는 다양한 애플리케이션에 통합될 수 있습니다.
- 콘텐츠 제작: 블로그, 기사 및 소셜 미디어용 고유한 시각 자료 생성
- 전자상거래: 제품 목업 및 변형 생성
- 디자인 및 프로토타이핑: 디자인 컨셉 빠르게 시각화
- 게임 및 엔터테인먼트: 게임 자산 및 캐릭터 디자인 생성
- 교육: 교육 자료 및 일러스트 생성
인증
모든 API 요청에는 API 키를 사용한 인증이 필요합니다.
API 키를 Authorization 헤더에 추가합니다.
curl -X POST https://reve-art.com/v1/reve-image/generate \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{"prompt": "원하는 프롬프트 입력", "aspect_ratio": "1:1"}'
API 키 얻는 방법
로그인 후 대시보드 > API 키 페이지에서 API 키를 추가하세요.
그런 다음 API 키를 사용하여 이미지를 생성합니다.
이미지 생성
이미지 생성 엔드포인트를 사용하면 텍스트 설명에서 이미지를 생성할 수 있습니다. 매개변수를 통해 생성 프로세스의 다양한 측면을 제어할 수 있습니다.
모범 사례
-
프롬프트 엔지니어링
- 프롬프트는 구체적이고 상세하게 작성합니다.
- 스타일 가이드에 예술 용어를 사용합니다.
- 조명, 원근감, 분위기에 대한 세부 정보를 포함합니다.
-
가로 세로 비율 선택
- 의도한 사용 사례에 따라 선택합니다.
- 소셜 미디어 게시물의 경우 1:1
- 프레젠테이션/배너의 경우 16:9
- 모바일 콘텐츠의 경우 9:16
-
비동기 생성
- 긴 생성 시간에는 async=true를 사용합니다.
- 더 나은 사용자 경험을 위해 상태 폴링을 구현합니다.
POST /v1/images/generate
요청 본문
{
"prompt": "string", // 필수: 이미지 생성 프롬프트
"negative_prompt": "string", // 선택: 이미지에서 피해야 할 것들
"aspect_ratio": "string", // 필수: 이미지 가로 세로 비율 (기본값: "1:1")
"async": boolean // 선택: 비동기 생성 (기본값: false)
}
가로 세로 비율
이미지의 가로 세로 비율입니다. 지원되는 비율: "1:1", "16:9", "4:3", "3:4", "9:16", "2:3", "3:2".
동기 응답
{
"id": "img_123",
"status": "completed",
"url": "https://cdn.reve-art.com/img_123.png",
"metadata": {
"prompt": "입력한 프롬프트",
"width": 1024,
"height": 1024,
"created_at": "2024-01-01T00:00:00Z"
}
}
비동기 응답
{
"id": "img_123",
"status": "pending"
}
사용 예시
Python:
import requests
api_key = "your_api_key"
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.post(
"https://api.reve-art.com/v1/reve-image/generate",
headers=headers,
json={
"prompt": "아름다운 산 위의 일몰",
"aspect_ratio": "16:9"
}
)
if response.ok:
result = response.json()
print(f"이미지 URL: {result['url']}")
else:
print(f"오류: {response.text}")
Node.js:
async function generateImage(prompt: string) {
const response = await fetch("https://api.reve-art.com/v1/reve-image/generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
prompt,
aspect_ratio: "1:1",
async: true,
}),
});
if (!response.ok) {
throw new Error(`이미지 생성 실패: ${response.statusText}`);
}
const result = await response.json();
if (result.status === "pending") {
// 완료될 때까지 폴링
return await checkImageStatus(result.id);
}
return result;
}
이미지 상태 확인
GET /v1/reve-image/status/image_id
응답
{
"id": "img_123",
"status": "completed",
"url": "https://cdn.reve-art.com/img_123.png",
"metadata": {
"prompt": "원본 프롬프트",
"width": 1024,
"height": 1024,
"model": "text2image_v1",
"created_at": "2024-01-01T00:00:00Z"
}
}
사용 예시
async function checkImageStatus(imageId: string) {
const response = await fetch(
`https://reve-art.com/v1/reve-image/status/${imageId}/`,
{
headers: {
"Authorization": `Bearer ${apiKey}`,
},
}
);
if (!response.ok) {
throw new Error(`상태 확인 실패: ${response.statusText}`);
}
return await response.json();
}
사용량 제한
API 요청은 구독 플랜 및 사용 가능한 크레딧에 따라 제한됩니다.