Nano Banana 모델로 Gemini 네이티브 이미지 생성·편집을 하려면 Nano Banana 개요를 참고하세요. 이미지 모델과 엔드포인트를 비교하려면 이미지 API 비교를 보세요.
인증 정보 설정
토큰 관리에서 모델용 API 키(콘솔에서는 ‘토큰’이라고 부릅니다)를 만들고,LAOZHANG_API_KEY 환경 변수로 설정하세요. 키의 그룹이 GPT Image 2.5 VIP 모델을 쓸 수 있는지는 콘솔의 모델 및 가격에서 확인합니다.
터미널에서 자리표시자를 실제 키로 바꿔 설정합니다.
- API 호스트:
https://api.laozhang.ai - OpenAI SDK base URL:
https://api.laozhang.ai/v1 - 인증:
Authorization: Bearer $LAOZHANG_API_KEY - 모델:
gpt-image-2.5-flare-vip(생성),gpt-image-2.5-sunburst-vip(편집)
응답에서 이미지 저장
예제를 실행할 디렉터리에 아래 헬퍼를save_images.py로 저장하세요. data[] 항목이 b64_json이든 url이든 모든 이미지를 디스크에 저장합니다.
python save_images.py <response.json> <이름>으로 실행하고, Python에서는 save_images를 import해서 쓰세요.
이미지 생성
model과 prompt를 담은 JSON 본문을 다음 주소로 보냅니다.
generated.png, generated.jpg, generated.webp 중 하나로 저장합니다.
- cURL
- Python
generation-response.json에서 이미지를 저장합니다..json 파일은 API 응답이므로 확장자를 .png로 바꿔도 이미지가 되지 않습니다.
이미지 편집
명령을 실행할 디렉터리에input.png라는 이미지를 두세요. 파일과 지시문을 multipart 폼 데이터로 다음 주소에 보냅니다.
edited.png, edited.jpg, edited.webp 중 하나로 저장합니다.
- cURL
- Python
edit-response.json에서 이미지를 저장합니다.image[]=@input.png는 파일 내용을 업로드합니다. JSON에 경로 문자열만 적으면 로컬 파일이 업로드되지 않습니다. cURL의 -F 옵션을 쓸 때는 multipart Content-Type과 boundary를 cURL이 정하게 두고, Content-Type: application/json을 추가하지 마세요.
바꿀 내용과 유지할 부분을 함께 설명하세요. 이미지 편집은 생성 방식이므로, 피사체를 그대로 두라고 지시해도 편집 영역 밖의 픽셀이 완전히 같다는 보장은 없습니다.
요청 옵션
위 최소 예제는 모델의 기본 출력 설정을 씁니다. 크기나 품질을 지정하려면 GPT Image 2.5 가이드나 GPT Image 2 가이드에서 해당 모델의 옵션을 확인하세요.
GPT Image와 DALL·E는 옵션이 다릅니다. DALL·E의
quality="hd"나 style을 GPT Image 요청에 그대로 옮기지 마세요. 마스크, 여러 참조 이미지, 투명 배경, 출력 형식 지정도 모델별 안내를 따라야 하며, 로컬 이미지 한 장을 편집할 때는 위의 기본 파일 업로드를 쓰세요.
이미지 결과 읽기
data[]의 각 항목은 출력 이미지 한 장이며, 다음 두 형태 중 하나로 반환됩니다.
b64_json: Base64로 인코딩된 이미지 바이트입니다. 응답에 따라data:image/...;base64,접두사가 붙거나 끝의=패딩이 빠지므로,save_images.py처럼 접두사를 떼고 패딩을 복원한 뒤 디코딩하세요.url: 다운로드 링크입니다. LaoZhang API 키 없이 바로 내려받아 사본을 보관하세요. URL 결과는 만료될 수 있습니다.
data[]의 모든 항목을 처리하세요. 이미지 생성 작업 ID나 Gemini candidates 응답은 형식이 다르므로 해당 API에 맞는 처리 코드가 필요합니다.
오류와 재시도
- 400: 요청 필드와 모델 옵션을 확인하세요. 편집이라면 파일이 multipart 데이터로 업로드되었는지 확인하세요.
- 401 또는 403: API 키, 토큰 그룹, 모델 권한을 확인하세요.
- 404 또는 모델을 쓸 수 없다는 오류: 엔드포인트와 정확한 모델 ID를 콘솔의 모델 및 가격에서 확인하세요.
- 429: 오류 본문을 읽고 속도·동시 요청 제한 때문인지, 계정 잔액 문제인지 구분하세요.
- 5xx 또는 타임아웃: 이미지 요청을 다시 보내기 전에 호출 로그를 확인하세요.