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

Gemini API를 통해 Imagen 3 최첨단 이미지 생성 모델을 사용합니다. Imagen을 사용하면 텍스트 프롬프트에서 새로운 이미지를 생성할 수 있습니다. Imagen과 Gemini API의 통합은 사용자 프롬프트를 몇 초 만에 고품질 시각적 애셋으로 변환하는 차세대 AI 애플리케이션을 빌드하는 데 도움이 되도록 설계되었습니다.

이 가이드는 Gemini API Python을 사용하여 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 모델을 인스턴스화하고 이미지를 생성하는 방법을 보여줍니다.

예시 코드를 실행하려면 먼저 베개:

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": 아동이 아닌 성인 이미지를 생성합니다.

다음 단계

Gemini API의 Imagen 3은 사전 체험판입니다. 기능의 상태에 관한 공지사항을 계속해서 확인해 주세요.