Imagen 3을 사용하여 이미지 생성

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개의 이미지가 노트북에 표시됩니다.

주방에 있는 털이 많은 토끼 두 마리의 AI 생성 이미지

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은 사전 체험판입니다. 기능의 상태에 관한 공지사항을 계속해서 확인해 주세요.