Gemini API는 Google의 최신 이미지 생성 모델인 Imagen 3에 대한 액세스를 제공합니다. Imagen을 사용하면 텍스트 프롬프트에서 새로운 이미지를 생성할 수 있습니다 Imagen과 Gemini API의 통합은 사용자 프롬프트를 몇 초 만에 고품질 시각적 애셋으로 변환하는 차세대 AI 애플리케이션을 빌드하는 데 도움이 되도록 설계되었습니다.
이 가이드에서는 Gemini API Python SDK를 사용하여 Imagen을 시작하는 방법을 설명합니다.
Imagen 3 정보
Imagen 3은 Google의 최고 품질인 텍스트 이미지 변환 모델로, 다수의 새롭고 개선된 기능을 제공합니다. Imagen 3으로 수행할 수 있는 작업은 다음과 같습니다.
- 이전 모델보다 더 상세한 표현과 풍부한 빛, 방해되는 아티팩트가 적은 이미지를 생성합니다.
- 일상적인 자연어로 작성된 프롬프트를 이해하므로 복잡한 프롬프트 엔지니어링 없이도 정렬된 출력을 더 쉽게 생성할 수 있습니다.
- 사실적인 풍경부터 질감이 풍부한 유화, 기발한 클레이 애니메이션 장면까지 다양한 형식과 스타일로 이미지를 생성할 수 있습니다.
- 이전 모델보다 텍스트를 더 효과적으로 렌더링하여 스타일이 지정된 생일 카드, 프레젠테이션 등의 사용 사례에 새로운 가능성을 열어줍니다.
Imagen 3은 데이터 및 모델 개발부터 프로덕션에 이르기까지 Google의 최신 안전 및 책임 혁신 기술을 바탕으로 빌드되었습니다. Google DeepMind팀은 광범위한 필터링과 데이터 라벨링을 사용하여 데이터 세트의 유해한 콘텐츠를 최소화하고 유해한 출력 가능성을 줄였습니다. 또한 공정성, 편향, 콘텐츠 안전을 비롯한 주제에 관한 레드 팀 협업 및 평가도 진행했습니다.
자세한 내용과 예시 출력은 Google DeepMind Imagen 3 개요를 참조하세요.
시작하기 전에: 프로젝트 및 API 키 설정
pip install -U git+https://github.com/google-gemini/generative-ai-python@imagen
Gemini API를 호출하기 전에 프로젝트를 설정하고 API 키를 구성해야 합니다.
이미지 생성
이 섹션에서는 Imagen 모델을 인스턴스화하고 이미지를 생성하는 방법을 보여줍니다.
예시 코드를 실행하려면 먼저 Pillow를 설치해야 합니다.
pip install --upgrade Pillow
그런 다음 Pillow 및 Python SDK가 설치된 상태에서 다음 코드를 사용하여 이미지를 생성할 수 있습니다.
import os
import google.generativeai as genai
genai.configure(api_key=os.environ['API_KEY'])
imagen = genai.ImageGenerationModel("imagen-3.0-generate-001")
result = imagen.generate_images(
prompt="Fuzzy bunnies in my kitchen",
number_of_images=4,
safety_filter_level="block_only_high",
person_generation="allow_adult",
aspect_ratio="3:4",
negative_prompt="Outside",
)
for image in result.images:
print(image)
# The output should look similar to this:
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef370>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef700>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c2b0>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c280>
for image in result.images:
# Open and display the image using your local operating system.
image._pil_image.show()
다음과 유사한 4개의 이미지가 노트북에 표시됩니다.
Imagen 모델 매개변수
generate_images()
에는 다음 매개변수가 사용 가능합니다.
prompt
: 이미지의 텍스트 프롬프트입니다.negative_prompt
: 생성된 이미지에서 생략할 항목에 대한 설명입니다. 기본값은 없음입니다.예를 들어 '사람이 없는 야간 도시 거리'라는 프롬프트를 생각해 봅시다. 이 모델은 '사람'을 생략 대상이 아니라 포함 대상 지시문으로 해석할 수 있습니다. 더 나은 결과를 생성하려면 '사람'이라는 제외 프롬프트와 함께 '야간 도시 거리'라는 프롬프트를 사용하면 됩니다.
number_of_images
: 생성할 이미지 수 (1~4)입니다. 기본값은 4입니다.aspect_ratio
: 생성된 이미지의 가로세로 비율을 변경합니다. 지원되는 값은"1:1"
,"3:4"
,"4:3"
,"9:16"
,"16:9"
입니다. 기본값은"1:1"
입니다.safety_filter_level
: 안전 필터링에 필터 수준을 추가합니다. 유효한 값은 다음과 같습니다."block_low_and_above"
: 가능성 점수 또는 심각도 점수가LOW
,MEDIUM
또는HIGH
인 경우 차단합니다."block_medium_and_above"
: 확률 점수 또는 심각도 점수가MEDIUM
또는HIGH
인 경우 차단합니다."block_only_high"
: 확률 점수 또는 심각도 점수가HIGH
인 경우 차단합니다.
person_generation
: 모델이 사람의 이미지를 생성할 수 있도록 허용합니다. 다음 값이 지원됩니다."dont_allow"
: 사람 이미지 생성을 차단합니다."allow_adult"
: 성인의 이미지를 생성하고 어린이의 이미지는 생성하지 않습니다.
텍스트 프롬프트 언어
다음과 같은 입력 텍스트 프롬프트 언어가 지원됩니다.
- 중국어(간체)(
zh
/zh-CN
) - 중국어(번체)(
zh-TW
) - 영어(
en
) - 힌디어(
hi
) - 일본어(
ja
) - 한국어(
ko
) - 포르투갈어(
pt
) - 스페인어(
es
)
다음 단계
Gemini API의 Imagen 3은 사전 체험판입니다. 기능의 상태에 관한 공지사항을 계속해서 확인해 주세요.