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

코드 예제

Python

Node.js

cURL

다중 이미지 편집

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

Python (다중 이미지)

cURL (다중 이미지, Google의 공식 형식을 따름)

매개변수 빠른 참조

다중 턴 대화형 편집

Nano Banana 2 (gemini-3.1-flash-image-preview)는 진정한 대화형 다중 턴 편집을 지원합니다. 각 턴에서 생성된 이미지를 contents에 **role: "model" inlineData**로 다시 추가한 다음, 다음 사용자 지시를 보냅니다. 모델은 전체 대화 기록을 바탕으로 편집하고 변경 사항을 누적합니다(예: 먼저 소파의 색을 바꾸고, 그다음 액세서리를 추가하면 이전 변경 사항이 유지됩니다).
역이미지 모델과는 다릅니다. 네이티브 Gemini 형식은 실제로 model-role 히스토리 턴의 이미지를 읽습니다. 턴 간 일관성과 단계별 세부 조정을 위해 아래의 히스토리 백필 패턴을 사용하십시오.
기존 이미지에서 다중 턴 시작: 기존 사진을 편집하도록 첫 번째 사용자 메시지에 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