Sprite Plus
목적
시작 프레임과 선택적인 종료 프레임으로 스프라이트 애니메이션을 생성합니다. 웹 앱 "스프라이트 생성" 페이지(Sprite Lite & Plus)의 Plus 탭과 동일한 기능입니다. 프레임 수는 frame으로 선택하며, 웹 페이지의 슬라이더에 표시되는 값과 동일합니다.
크레딧 비용: 9 (49프레임), 13 (81프레임)
메서드 및 경로
POST /public/v1/sprite/plus
인증
인증 페이지를 참고하세요. Bearer 토큰이 필요합니다.
필수 헤더:
Authorization: Bearer {your_api_key}
요청 필드
요청은 multipart/form-data로 전송합니다.
| 필드명 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| start_image | file | 예 | 시작 프레임 (PNG 또는 JPEG) | |
| end_image | file | 아니오 | 종료 프레임(선택) (PNG 또는 JPEG) | |
| text | string | 예 | 움직임을 설명하는 프롬프트. 공백은 제거되며 텍스트는 비어 있으면 안 됩니다 | |
| frame | integer | 예 | 프레임. 허용 값: 49, 81 | |
| is_pixel | boolean | 아니오 | false | 픽셀아트. 첨부한 이미지가 픽셀아트 기반의 이미지라면 켜주세요 |
| is_prompt_enhancement | boolean | 아니오 | true | 프롬프트 보정. 입력한 내용을 기반으로 스프라이트 생성에 적합하게 다듬어요 |
frame별 크레딧
| frame | 크레딧 |
|---|---|
| 49 | 9 |
| 81 | 13 |
응답
성공 응답 (200 OK):
{
"job_id": "uuid-string"
}
| 필드 | 타입 | 설명 |
|---|---|---|
| job_id | string | 생성된 작업의 고유 식별자. 작업 상태 조회로 결과를 조회합니다 |
오류 / 유효성 검사 규칙
| 상황 | HTTP 상태 | 에러 메시지 |
|---|---|---|
| 둘 중 하나의 이미지가 유효한 PNG 또는 JPEG 파일이 아님 | 400 | "Invalid image file" |
| frame 값이 허용된 값이 아님 | 400 | "frame should be one of 49, 81" |
| text가 비어 있음 | 400 | "text must not be empty" |
| 유효하지 않은 API 키 | 401 | "Invalid API key" |
| 필드 누락 | 422 | Validation error |
비동기 작업 동작
이 엔드포인트는 비동기 작업을 생성합니다. 요청 즉시 job_id를 반환하고, 실 제 스프라이트 생성은 백그라운드에서 진행됩니다.
폴링 방법:
- 응답으로 받은
job_id를 저장합니다 GET /public/v1/job/{job_id}를 폴링하여 상태를 확인합니다- 상태가
Succeed가 되면image_urls에서 결과를 확인합니다 (스프라이트 시트 및 GIF)
상태 흐름: Pending → Succeed 또는 Failed
요청 예시
cURL (시작 프레임만):
curl -X POST "https://api.aetherforgeai.com/public/v1/sprite/plus" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "start_image=@/path/to/character.png" \
-F "text=walking animation" \
-F "frame=49" \
-F "is_pixel=true"
cURL (시작 + 종료 프레임):
curl -X POST "https://api.aetherforgeai.com/public/v1/sprite/plus" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "start_image=@/path/to/character_start.png" \
-F "end_image=@/path/to/character_end.png" \
-F "text=running animation cycle" \
-F "frame=81"