메인 콘텐츠로 건너뛰기
POST
Image Editing: Edit an existing image with text instructions
오른쪽의 대화형 플레이그라운드에서는 드롭다운으로 매개변수를 선택할 수 있습니다. Authorization 필드에 API 키를 입력하고(형식: Bearer sk-xxx) 한 번의 클릭으로 테스트 요청을 전송합니다.
범위: 이 페이지는 이미지 편집용입니다. 편집 지침과 함께 입력 이미지를 제공해야 합니다(base64로 인코딩). 텍스트만으로 새 이미지를 생성하려면 텍스트-이미지 엔드포인트를 사용합니다.
🖥️ 브라우저 플레이그라운드 제한 사항(중요)이 엔드포인트는 응답으로 base64 인코딩된 이미지(inlineData.data, 일반적으로 수 MB)를 반환합니다. 브라우저 렌더링 제한으로 인해 응답이 도착한 뒤 오른쪽 플레이그라운드에 请求时发生错误: unable to complete request가 표시될 수 있습니다. 요청은 실제로 성공한 것입니다. 브라우저에서 base64 문자열이 너무 길어 렌더링하지 못하는 것뿐입니다.권장 워크플로(초보자용):
  • 아래의 Python / Node.js / cURL 샘플 코드를 복사해 로컬에서 실행합니다. 코드가 응답을 자동으로 base64.b64decode 처리하고 이미지를 파일로 저장합니다.
  • 브라우저 내 플레이그라운드를 꼭 사용해야 한다면 아주 작은 참조 이미지(< 50KB)를 사용하고 imageSize을 가장 낮은 등급(예: 512 / 1K)으로 설정합니다.
⚠️ parts 배열 구조(중요 — 여러 이미지 편집 시 반드시 읽어 보세요)각 part에는 text 또는 inlineData 중 하나만 포함해야 하며, 둘 다 포함해서는 안 됩니다. 이는 Google의 공식 gemini-3.1-flash-image 계약과 일치합니다.올바른 예: 텍스트 파트 하나(지침) + N개의 inlineData 파트(이미지당 하나):
잘못된 예(각 파트에 text와 inlineData가 모두 포함됨 — 정의되지 않은 동작이 발생함):
🖼️ inlineData.data 필드 안내이 엔드포인트는 JSON 형식(multipart 파일 업로드가 아님)을 사용하므로 플레이그라운드에서 로컬 파일을 직접 선택할 수 없습니다. 먼저 이미지를 Base64 문자열로 변환한 다음 data 입력란에 붙여 넣어야 합니다.한 줄 명령어: 변환 + 클립보드 복사:
실행한 다음 Cmd+V / Ctrl+V를 사용해 플레이그라운드의 data 필드에 붙여 넣으면 됩니다. 또한 mimeType을 일치하는 image/jpeg 또는 image/png로 설정해야 합니다.권장 사항: 긴 base64 문자열로 인한 브라우저 지연을 방지하려면 테스트에 작은 이미지(< 200KB)를 사용합니다. 이미지 편집 테스트를 자주 한다면 아래 코드 예제를 사용해 로컬에서 실행하는 것이 좋습니다.

코드 예제

Python

Node.js

cURL

다중 이미지 편집

여러 입력 이미지를 병합하거나 비교할 때는 단일 text 부분(지침) 뒤에 여러 inlineData 부분(이미지당 하나)을 사용합니다.

Python (다중 이미지)

cURL (다중 이미지, Google의 공식 형식과 동일)

매개변수 빠른 참조

멀티턴 대화형 편집

Nano Banana 2 (gemini-3.1-flash-image)는 진정한 대화형 멀티턴 편집을 지원합니다. 각 턴에서 생성된 이미지를 **role: "model" inlineData**로 contents에 다시 추가한 다음, 다음 사용자 지시를 전송합니다. 모델은 전체 대화 기록을 바탕으로 편집하고 변경 사항을 누적합니다(예: 먼저 소파의 색상을 바꾼 다음 액세서리를 추가하면 앞서 적용한 변경 사항이 유지됩니다).
이는 역방향 이미지 모델과 다릅니다. 기본 Gemini 형식은 실제로 model 역할의 이전 턴에 있는 이미지를 읽습니다. 턴 간 일관성을 유지하고 단계별로 다듬으려면 아래의 기록 재주입 패턴을 사용하세요.
기존 이미지에서 멀티턴 편집 시작하기: 기존 사진을 편집하려면 첫 번째 사용자 메시지에 inlineData(직접 준비한 이미지)과 지시를 포함한 다음, 매 턴 모델 출력을 contents에 계속 재주입합니다.
멀티턴 편집 방식 두 가지:
  • 기록 재주입(위 방식, 권장): contents에서 사용자와 모델이 번갈아 주고받은 기록을 유지합니다. 턴이 진행될수록 변경 사항이 누적되고 일관성이 향상됩니다.
  • 다시 입력(더 간단한 방식): 한 단계 편집을 수행할 때마다 이전 맥락을 이어가지 않고, 단일 사용자 메시지(text + 이전 이미지의 inlineData)를 전송합니다.

인증

Authorization
string
header
필수

API Key obtained from APIYI Console

본문

application/json
contents
object[]
필수

Content array containing edit instructions and the image to edit

generationConfig
object
필수

응답

Successfully edited image

candidates
object[]

Generation results array

usageMetadata
object