Gemini OpenAI 형식 (이미지)
이미지 시리즈
Gemini OpenAI 형식 (이미지)
Gemini imagine 시리즈: OpenAI 호환 /v1/images/generations 및 /v1/images/edits
POST
Gemini OpenAI 형식 (이미지)
Gemini 네이티브
generateContent 이미지 생성은 Gemini 네이티브 (이미지)를 참고하세요. extra_body.google 세밀 제어가 필요하면 Gemini OpenAI 형식 (채팅)의 /v1/chat/completions 엔드포인트를 사용할 수 있습니다(부록 참고)./v1/images/generations 및 /v1/images/edits 인터페이스로 직접 호출할 수 있습니다.
Base URL: https://api.gravitex.ai
목차
- 인증
- 모델 목록
- 인터페이스 개요
/v1/images/generations— 텍스트-이미지 / 이미지-이미지/v1/images/edits— 이미지 편집- 사용 시나리오 및 예제
- 오류 처리
- 과금 규칙
- 제한 사항
- 모범 사례
- 자주 묻는 질문
- 부록:
/v1/chat/completions엔드포인트와 비교
인증
모든 인터페이스는 Bearer Token 인증을 사용합니다. Gravitex AI 콘솔에서 토큰을 생성한 후 요청 헤더에 추가하세요:모델 목록
플랫폼은 지속적으로 새 imagine 시리즈 모델을 추가합니다. 최신 지원 목록은 Gravitex AI 콘솔 모델 페이지에서 확인하세요.
인터페이스 개요
imagine 모델의 경우/v1/images/generations와/v1/images/edits는 완전히 동등합니다 —image필드 전달 여부가 텍스트-이미지/이미지-이미지를 결정하며, 인터페이스 경로가 아닙니다. OpenAI Python SDK의images.generatevsimages.edit중 사용하는 SDK 습관에 따라 선택하세요.
/v1/images/generations — 텍스트-이미지 / 이미지-이미지
POST https://api.gravitex.ai/v1/images/generations
요청 매개변수
image 필드 형식
image 필드는 “이미지-이미지”용 — 하나 이상의 참조 이미지를 모델에 시각적 맥락으로 제공합니다. 다음 두 가지 JSON 형태를 지원합니다:
- URL 형태: 게이트웨이가 자동으로 fetch하고 이미지 유형을 검증합니다. URL은 공개 접근 가능해야 하며, https 사용을 권장합니다.
- base64 / data URI: 게이트웨이가 decode하고 MIME을 감지합니다.
- 지원 이미지 형식:
image/png,image/jpeg,image/jpg,image/webp,image/heic,image/heif. multipart/form-data파일 업로드 미지원 — 이미지를 base64로 변환하거나 객체 스토리지에 업로드해 URL을 획득하세요.
size / quality 값 매핑
imagine 모델의 출력은 고정 등급이 있습니다(기존 모델처럼 임의 픽셀 지정 불가). 게이트웨이가 OpenAI 스타일 값을 모델이 지원하는 등급으로 자동 매핑합니다.
size → 종횡비
quality → imageSize 등급
응답 형식
성공 응답
Gemini imagine 모델은 이미지 생성과 함께 종종 텍스트 설명(“X를 그려 드렸습니다”)을 반환하며,revised_prompt+metadata.text형태로 반환됩니다. 클라이언트에서 선택적으로 표시할 수 있습니다.usage필드 형식은 OpenAI gpt-image-1과 완전히 정렬되어 OpenAI SDK 프로젝트의 원활한 통합을 지원합니다.
오류 응답
/v1/images/edits — 이미지 편집
POST https://api.gravitex.ai/v1/images/edits
요청/응답 형식은 /v1/images/generations와 완전히 동일합니다(JSON + image 필드 수락, 동일 구조 반환). 차이는 OpenAI Python SDK에서 images.edit와 images.generate가 서로 다른 메서드라는 점뿐이며, 일부 사용자는 “편집” 의미로 edits 엔드포인트를 선호합니다.
⚠️ OpenAI 공식 dall-e-2의/images/edits와 다름: 이 인터페이스는multipart/form-data업로드 +mask필드를 지원하지 않습니다(imagine 모델은 prompt로 편집을 지시하며 mask가 필요 없음).image필드는 generations와 동일합니다.
사용 시나리오 및 예제
1. 순수 텍스트-이미지
가장 기본적인 사용:prompt만 전달.
2. 이미지-이미지 / 스타일 전환
사진을 사이버펑크 스타일로 변경 —image 필드에 단일 참조 이미지 전달.
3. 다중 이미지 융합
여러 참조 이미지를 하나로 합성 —image 필드에 문자열 배열 전달.
4. /v1/images/edits 동등 호출
시나리오 2와 동일하지만 edits 엔드포인트 사용:
5. Python (OpenAI SDK) 호출
images.edit도 여기서는 generations 프로토콜 사용; /v1/images/edits 엔드포인트는 client.images.edit(...) 사용):
6. Node.js (OpenAI SDK) 호출
오류 처리
실패 시 HTTP ≠ 200:일반적인 오류 코드
prompt_blocked는 종종 민감한 주제를 의미합니다 — prompt를 다시 작성하세요.
과금 규칙
- “실제 생성된 이미지 수”로 과금: 업스트림이 실제 반환한 이미지 수만큼 차감, 요청의
n매개변수는 과금에 영향 없음(제한 사항 참고). - 차단되거나 이미지가 0장일 때 과금 없음.
- 모델/
quality등급별 단가는 콘솔 가격에서 확인. - 과금 내역은 토큰 사용 기록 페이지에서 확인 가능하며, 각 기록에
생성 수량 N필드가 포함됩니다.
제한 사항
모범 사례
- prompt: 구체적으로 작성(스타일, 색상, 구도, 카메라); 모호한 단어 피하기.
- I2I는 ≤512×512 참조로 시작, 이후 전체 크기로.
- 여러 번 재시도: 이미지 생성은 무작위성이 있으므로 “다시 생성” 버튼 제공 권장.
- 민감 주제에 재생성/신고 추가.
b64_json즉시 저장 — 업스트림 캐시 없음.revised_prompt를 UX 카피로 표시.- **초안은
1K, 최종은2K**로 비용 절감.
자주 묻는 질문
Q1: n=4를 전달했는데 1장만 반환되는 이유는?
A: Gemini imagine 모델은 업스트림 단일 호출당 1장만 생성합니다. 플랫폼은 실제 생성 수로 과금합니다. 여러 장은 클라이언트에서 여러 번 호출하세요.
Q2: I2I에서 영역별 mask를 사용할 수 있나요?
A: imagine 모델은mask 필드를 지원하지 않습니다. 모든 변경은 prompt로 설명합니다(예: “머리카락만 빨간색으로, 나머지는 유지”). 모델이 prompt를 이해해 영역을 자동으로 파악합니다.
Q3: b64_json에 data: 접두사가 없는 이유는?
A: b64_json은 순수 base64 문자열로 파일 저장이 편리합니다. HTML <img src>에 삽입하려면 "data:image/png;base64," + b64_json으로 접두사를 직접 붙이세요.
Q4: 텍스트 없이 이미지만 반환할 수 있나요?
A: 현재 불가 — imagine 모델의 특징이 텍스트+이미지 동시 반환입니다.revised_prompt/metadata.text는 표시하지 않을 수 있지만 요청 수준에서 비활성화는 불가합니다.
Q5: T2I와 I2I 과금이 동일한가요?
A: 예 — “출력 이미지 수 + 출력 quality 등급”으로 과금하며,image 필드 포함 여부와 무관합니다.
Q6: 텍스트 + 다중 참조 이미지를 동시에 전달할 수 있나요?
A: 가능합니다.image 필드는 string[]를 지원하며, prompt로 융합 방식을 설명하세요. 시나리오 3: 다중 이미지 융합 참고.
Q7: imagine 모델에 generations vs chat 차이는?
A: 부록 참고. 요약:/v1/images/generations: 프로토콜 단순(OpenAI Image API 표준), “이미지만 필요”한 경우에 적합./v1/chat/completions: Gemini 네이티브 매개변수(imageConfig,safetySettings,thinking_config등) 제어 가능, “세밀한 제어”가 필요한 경우에 적합.
부록: /v1/chat/completions 엔드포인트와 비교
Gemini imagine 모델은 OpenAI /v1/chat/completions 인터페이스로도 호출 가능합니다(prompt를 message로, 이미지를 content 배열에 넣음). 두 엔드포인트 비교:
Chat 엔드포인트 예제(Gemini OpenAI Chat):
choices[0].message.content는 배열입니다:
