GenPresso API
키 하나로 텍스트·이미지·영상·오디오 모델을 호출하세요. 모델마다 계정을 만들 필요 없이 GenPresso 크레딧으로 결제됩니다.
개요
GenPresso API는 하나의 키와 하나의 크레딧 잔액으로 여러 종류의 생성 모델을 호출하는 인터페이스입니다. 텍스트는 OpenAI 규약을 그대로 따르고, 이미지·영상·오디오는 제출 후 폴링하는 비동기 방식입니다.
- 텍스트 — 주요 제작사(Anthropic·OpenAI·Google 등)의 최신 모델. SDK는 baseURL만 바꾸면 됩니다.
- 이미지·영상·오디오 — 100종에 가까운 생성 모델을 같은 키로 호출합니다.
- 모델별 계정·결제 수단이 따로 필요 없습니다. 크레딧 하나로 통합됩니다.
학습(training·fine-tuning) 계열은 1건당 비용이 매우 커서 열려 있지 않습니다. 추론 모델은 제한이 없습니다.
인증
모든 요청에 발급받은 키를 Bearer 토큰으로 보냅니다. 키는 gp_로 시작하며, 발급 직후 한 번만 표시됩니다.
HTTP 헤더
Authorization: Bearer gp_xxxxxxxx...키는 서버 환경변수에 두세요. 브라우저 코드에 넣으면 누구나 회원님의 크레딧으로 요청할 수 있습니다.
빠른 시작
curl (텍스트)
curl https://genpresso.ai/api/v1/chat/completions \
-H "Authorization: Bearer $GENPRESSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5",
"messages": [{ "role": "user", "content": "Hello!" }]
}'OpenAI SDK (Node.js)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://genpresso.ai/api/v1",
apiKey: process.env.GENPRESSO_API_KEY,
});
const res = await client.chat.completions.create({
model: "anthropic/claude-sonnet-5",
messages: [{ role: "user", content: "Hello!" }],
});이미지·영상·오디오
# 1) 제출 — request_id와 폴링용 URL을 돌려줍니다
curl -X POST https://genpresso.ai/api/v1/media/gp/flux/schnell \
-H "Authorization: Bearer $GENPRESSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prompt": "a red bicycle on a beach" }'
# 2) 상태 확인
curl https://genpresso.ai/api/v1/media/requests/$REQUEST_ID/status \
-H "Authorization: Bearer $GENPRESSO_API_KEY"
# 3) 결과 (status가 COMPLETED가 된 뒤)
curl https://genpresso.ai/api/v1/media/requests/$REQUEST_ID \
-H "Authorization: Bearer $GENPRESSO_API_KEY"제출 응답의 status_url·response_url을 그대로 사용하세요. status는 COMPLETED(성공) · FAILED(실패) · EXPIRED(취소·만료)로 갈립니다. FAILED면 결과 조회에서 어떤 파라미터가 왜 틀렸는지 알려줍니다.
엔드포인트
| 메서드 · 경로 | 설명 |
|---|---|
| POST /chat/completions | 텍스트 생성(스트리밍 지원). OpenAI 규약 |
| POST /completions | 레거시 completions |
| GET /models | 사용 가능한 텍스트 모델 목록과 크레딧 단가 |
| GET /generations/{id} | 텍스트 호출 1건의 과금 내역 |
| POST /media/{model} | 이미지·영상·오디오 생성 제출 |
| GET /media/requests/{id}/status | 생성 상태 |
| GET /media/requests/{id} | 생성 결과 |
| PUT /media/requests/{id}/cancel | 생성 취소 |
주요 모델
모델 ID는 그대로 /media/{model} 경로에 넣으면 됩니다. 아래는 대표적인 것만 추린 목록이고, 표에 없는 모델도 같은 방식으로 호출할 수 있습니다.
| 이미지 모델 ID | 이름 | 크레딧(장당) |
|---|---|---|
| gp/flux/schnell | FLUX Schnell | ~0.1 |
| gp/nano-banana-pro | Nano Banana Pro | ~1.8 |
| gp/bytedance/seedream/v5/lite/text-to-image | Seedream 5.0 Lite | ~1.1 |
| bytedance/seedream/v5/pro/text-to-image | Seedream 5.0 Pro | ~4.1 |
| bytedance/seedream/v5/pro/edit | Seedream 5.0 Pro (편집) | ~4.1 |
| openai/gpt-image-2 | GPT Image 2 | ~3.0 |
| 영상 모델 ID | 이름 | 크레딧 |
|---|---|---|
| minimax/h3/text-to-video | MiniMax H3 | ~12 / 초 |
| gp/veo3.1 | Veo 3.1 | ~12 / 초 |
| gp/minimax/hailuo-2.3/pro/image-to-video | Hailuo 2.3 Pro | ~9 / 건 |
| bytedance/seedance-2.5/text-to-video | Seedance 2.5 | ~26 / 초 |
| bytedance/seedance-2.5/image-to-video | Seedance 2.5 (i2v) | ~26 / 초 |
| 오디오 모델 ID | 이름 | 크레딧 |
|---|---|---|
| bytedance/seed-audio-1.0 | Seed Audio 1.0 (음성·음악) | ~4.5 |
| gp/mmaudio-v2/text-to-audio | MMAudio v2 (효과음) | ~1.2 |
표의 크레딧은 기본 해상도·길이 기준 근사치입니다. 실제 차감액은 요청한 해상도·길이·장수에 따라 달라지며, 완료 후 실사용량으로 정산됩니다.
텍스트 모델의 전체 목록과 100만 토큰당 크레딧 단가는 GET /models로 확인할 수 있습니다.
요금
요청이 끝나면 실제 사용량을 크레딧으로 환산해 차감합니다. 스튜디오에서 생성할 때와 같은 기준입니다.
- 텍스트는 입력·출력 토큰 수에 따라, 미디어는 장수·해상도·길이에 따라 정산됩니다.
- 실패한 요청은 과금되지 않습니다.
- 미디어는 제출 시점이 아니라 완료 시점에 실사용량으로 차감됩니다.
사용 내역은 개발자 페이지에서 일별·모델별·키별로 확인할 수 있고, 크레딧 내역에도 함께 남습니다.
한도와 주의사항
- 요청 전에 최소 잔액을 확인합니다. 잔액이 부족하면 402를 반환합니다.
- 분당 요청 수와 미디어 동시 생성 수에 상한이 있습니다. 초과 시 429와 Retry-After를 반환합니다.
- 하루 사용 크레딧 상한이 있고, 키별로 따로 상한을 걸 수도 있습니다.
- 요청 바디는 최대 4MB입니다.
- 생성 결과 URL은 일정 기간이 지나면 만료됩니다. 필요한 파일은 받은 즉시 내려받으세요.
에러는 OpenAI 규약 형태({ error: { message, code, type } })로 돌아옵니다. 요청 파라미터가 잘못된 경우에는 어떤 값이 왜 틀렸는지가 응답 본문에 담깁니다.