Skip to main content
POST
Gemini OpenAI 형식 (이미지)
Gemini 네이티브 generateContent 이미지 생성은 Gemini 네이티브 (이미지)를 참고하세요. extra_body.google 세밀 제어가 필요하면 Gemini OpenAI 형식 (채팅)/v1/chat/completions 엔드포인트를 사용할 수 있습니다(부록 참고).
Gemini imagine 시리즈(Google 공식 “nano banana” 등 텍스트 + 이미지를 동시에 반환하는 멀티모달 이미지 모델 포함)는 Gravitex AI에서 OpenAI 호환 /v1/images/generations/v1/images/edits 인터페이스로 직접 호출할 수 있습니다. Base URL: https://api.gravitex.ai

목차


인증

모든 인터페이스는 Bearer Token 인증을 사용합니다. Gravitex AI 콘솔에서 토큰을 생성한 후 요청 헤더에 추가하세요:
모든 요청은 JSON 형식을 사용합니다:

모델 목록

플랫폼은 지속적으로 새 imagine 시리즈 모델을 추가합니다. 최신 지원 목록은 Gravitex AI 콘솔 모델 페이지에서 확인하세요.

인터페이스 개요

imagine 모델의 경우 /v1/images/generations/v1/images/edits완전히 동등합니다 — image 필드 전달 여부가 텍스트-이미지/이미지-이미지를 결정하며, 인터페이스 경로가 아닙니다. OpenAI Python SDK의 images.generate vs images.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.editimages.generate가 서로 다른 메서드라는 점뿐이며, 일부 사용자는 “편집” 의미로 edits 엔드포인트를 선호합니다.
⚠️ OpenAI 공식 dall-e-2의 /images/edits와 다름: 이 인터페이스는 multipart/form-data 업로드 + mask 필드를 지원하지 않습니다(imagine 모델은 prompt로 편집을 지시하며 mask가 필요 없음). image 필드는 generations와 동일합니다.

사용 시나리오 및 예제

1. 순수 텍스트-이미지

가장 기본적인 사용: prompt만 전달.

2. 이미지-이미지 / 스타일 전환

사진을 사이버펑크 스타일로 변경 — image 필드에 단일 참조 이미지 전달.
또는 base64 / data URI(로컬 파일용):

3. 다중 이미지 융합

여러 참조 이미지를 하나로 합성 — image 필드에 문자열 배열 전달.

4. /v1/images/edits 동등 호출

시나리오 2와 동일하지만 edits 엔드포인트 사용:

5. Python (OpenAI SDK) 호출

이미지-이미지(OpenAI SDK의 images.edit도 여기서는 generations 프로토콜 사용; /v1/images/edits 엔드포인트는 client.images.edit(...) 사용):

6. Node.js (OpenAI SDK) 호출

참조 이미지 포함(I2I) — fetch로 직접 전달:

오류 처리

실패 시 HTTP ≠ 200:

일반적인 오류 코드

prompt_blocked는 종종 민감한 주제를 의미합니다 — prompt를 다시 작성하세요.

과금 규칙

  • “실제 생성된 이미지 수”로 과금: 업스트림이 실제 반환한 이미지 수만큼 차감, 요청의 n 매개변수는 과금에 영향 없음(제한 사항 참고).
  • 차단되거나 이미지가 0장일 때 과금 없음.
  • 모델/quality 등급별 단가는 콘솔 가격에서 확인.
  • 과금 내역은 토큰 사용 기록 페이지에서 확인 가능하며, 각 기록에 생성 수량 N 필드가 포함됩니다.

제한 사항


모범 사례

  1. prompt: 구체적으로 작성(스타일, 색상, 구도, 카메라); 모호한 단어 피하기.
  2. I2I는 ≤512×512 참조로 시작, 이후 전체 크기로.
  3. 여러 번 재시도: 이미지 생성은 무작위성이 있으므로 “다시 생성” 버튼 제공 권장.
  4. 민감 주제에 재생성/신고 추가.
  5. b64_json 즉시 저장 — 업스트림 캐시 없음.
  6. revised_prompt를 UX 카피로 표시.
  7. **초안은 1K, 최종은 2K**로 비용 절감.

자주 묻는 질문

Q1: n=4를 전달했는데 1장만 반환되는 이유는?

A: Gemini imagine 모델은 업스트림 단일 호출당 1장만 생성합니다. 플랫폼은 실제 생성 수로 과금합니다. 여러 장은 클라이언트에서 여러 번 호출하세요.

Q2: I2I에서 영역별 mask를 사용할 수 있나요?

A: imagine 모델은 mask 필드를 지원하지 않습니다. 모든 변경은 prompt로 설명합니다(예: “머리카락만 빨간색으로, 나머지는 유지”). 모델이 prompt를 이해해 영역을 자동으로 파악합니다.

Q3: b64_jsondata: 접두사가 없는 이유는?

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는 배열입니다: