GPT Image 2 및 Gemini 이미지 API
OpenAI 호환 Images API의 GPT Image 2 또는 Gemini 네이티브 API의 Nano Banana Pro와 Nano Banana 2로 이미지를 생성합니다.
이 페이지는 서로 독립적인 두 가지 이미지 생성 API 계약을 한곳에 정리합니다. 동일한 Modelflare API 키와 Credits를 사용하지만 요청 및 응답 형식은 서로 바꿔 쓸 수 없습니다.
- gpt-image-2는 OpenAI 호환 /v1/images/generations 및 /v1/images/edits 계약을 사용합니다.
- gemini-3-pro-image와 gemini-3.1-flash-image는 Gemini 네이티브 generateContent 계약을 사용합니다.
예제를 복사하기 전에 모델 계열을 선택하고 Gemini와 GPT Images 필드를 섞지 마세요.
1. GPT Image 2 — OpenAI 호환 Images API
OpenAI 호환 Images API로 gpt-image-2 PNG를 생성하거나 공개 URL 또는 로컬 업로드 참조 이미지를 편집합니다. 각 요청은 이미지 한 장을 반환하며 중간 또는 높은 품질, 단기 서명 URL이나 base64, 선택적 SSE를 지원합니다.
엔드포인트와 모드 선택
- 몇 분이 걸릴 수 있는 동기 JSON 요청은 https://origin.modelflare.dev/v1을 사용하세요.
- Cloudflare를 지나는 긴 요청은 https://modelflare.dev/v1과 stream=true를 사용하세요. 최종 이미지가 준비될 때까지 SSE 하트비트를 보냅니다.
- 진행 중인 POST를 호스트 간 리디렉션하지 마세요.
동기 요청
curl https://origin.modelflare.dev/v1/images/generations \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"새벽의 조용한 호숫가 오두막","n":1,"quality":"medium","size":"1024x1024","response_format":"url","output_format":"png"}'
URL 응답에는 한 시간 후 만료되는 비공개 Modelflare 서명 링크가 포함됩니다. response_format=b64_json을 사용하면 API 출력 객체를 저장하지 않고 검증된 PNG를 직접 받습니다.
실시간 모델 및 가격 페이지에서 일반적인 크기의 medium 및 high 가격을 확인할 수 있습니다. 청구는 요청한 정확한 품질과 크기를 사용하고 일반 라우팅 그룹 배수를 적용하지 않으며 최종 금액을 사용 로그에 기록합니다.
참조 이미지 편집
공개적으로 접근 가능한 HTTP(S) 이미지 URL을 하나 이상 POST /v1/images/edits로 보내세요. images의 각 항목에는 정확히 하나의 image_url만 포함합니다.
curl https://origin.modelflare.dev/v1/images/edits \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"배경을 깔끔한 흰색 사진 스튜디오로 바꿔 주세요","images":[{"image_url":"https://example.com/input.png"}],"size":"2048x2048","response_format":"url"}'
또는 multipart/form-data로 로컬 PNG, JPEG, WebP 파일 하나를 업로드합니다.
curl https://origin.modelflare.dev/v1/images/edits \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-F "model=gpt-image-2" \
-F "prompt=배경을 깔끔한 흰색 사진 스튜디오로 바꿔 주세요" \
-F "image=@/path/to/input.png" \
-F "size=2048x2048" \
-F "response_format=url"
multipart 요청에는 이미지 파일이 정확히 하나만 있어야 하며 전체 크기는 20 MiB 이하여야 합니다. 참조 URL 또는 업로드 파일은 선택된 upstream 제공자에게 전송되고, URL은 가져오는 동안 접근 가능해야 합니다. Modelflare는 어느 참조 입력도 API 출력 자산으로 보관하지 않습니다.
SSE 요청
curl -N https://modelflare.dev/v1/images/generations \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-image-2","prompt":"비 내리는 네온 거리에서 달리는 흰 고양이","n":1,"quality":"high","size":"1024x1024","response_format":"url","stream":true}'
SSE 주석은 하트비트일 뿐입니다. image_generation.completed와 data: [DONE] 뒤에 종료하세요.
지원 필드는 model, prompt, n=1, quality=medium|high, 유효한 WIDTHxHEIGHT, response_format=url|b64_json, output_format=png, 선택적 stream입니다. /v1/images/edits는 공개 HTTP(S) image_url을 하나씩 담은 비어 있지 않은 images 배열 또는 multipart image 필드의 유효한 PNG, JPEG, WebP 파일 하나를 받습니다. 생성 요청은 참조 이미지를 거부하며 여러 업로드 파일, data/base64 입력, 마스크, input_fidelity, 변형, 부분 이미지 및 알 수 없는 필드는 거부됩니다. 실패한 요청의 예약 Credits는 Request ID 기반 멱등 환불 경로로 반환됩니다.
일반 API 키를 사용하세요. 특정 채널에 고정된 키는 거부되며 모델 제한을 활성화한 키에는 gpt-image-2가 포함되어야 합니다.
2. Gemini Image — Gemini 네이티브 API
Nano Banana Pro 또는 Nano Banana 2를 Gemini 네이티브 형식으로 사용합니다. 이 모델들은 /v1/images/generations를 사용하지 않습니다.
엔드포인트와 장시간 요청
- 동기: POST https://modelflare.dev/v1beta/models/{model}:generateContent.
- 이미지 생성 권장: POST https://modelflare.dev/v1beta/models/{model}:streamGenerateContent?alt=sse.
- origin.modelflare.dev는 /v1beta를 제공하지 않습니다. Gemini 네이티브 요청은 기본 도메인을 사용하고 긴 작업은 스트리밍을 권장합니다.
스트리밍 요청
이 예제는 Nano Banana 2를 사용합니다. Nano Banana Pro를 사용하려면 URL의 모델을 gemini-3-pro-image로 바꾸세요.
curl -N "https://modelflare.dev/v1beta/models/gemini-3.1-flash-image:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "Create a clean blue circle centered on a white background. No text."}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}'
응답 계약
각 SSE data: 이벤트는 Gemini 네이티브 JSON입니다. 최종 이미지 base64는 candidates[].content.parts[].inlineData.data에, MIME은 inlineData.mimeType에 있습니다. 텍스트 part도 포함될 수 있습니다. finishReason=STOP 또는 스트림 종료 시 완료되며 image_generation.completed는 사용하지 않습니다.
모델, 해상도 및 예상 가격
| 모델 | 해상도 | 이미지당 예상 가격 |
|---|---|---|
| Nano Banana Pro | 1K / 2K | US$0.06720 |
| Nano Banana Pro | 4K | US$0.12000 |
| Nano Banana 2 | 0.5K | US$0.02241 |
| Nano Banana 2 | 1K | US$0.03360 |
| Nano Banana 2 | 2K | US$0.05040 |
| Nano Banana 2 | 4K | US$0.07560 |
imageSize의 K는 대문자로 입력하세요. 위 금액은 이미지 한 장의 예상 가격이며 최종 요금은 요청 내용에 따라 조금 달라질 수 있고 사용 로그에 기록됩니다.
x-goog-api-key로 일반 Modelflare API 키를 전달하세요. 키는 gemini-image 그룹을 사용할 수 있어야 하며 모델 제한 시 선택한 Gemini 이미지 모델을 포함해야 합니다.