สร้างรูปภาพโดยใช้ Imagen 3

Gemini API ให้สิทธิ์เข้าถึง Imagen 3 ซึ่งเป็นโมเดลการสร้างรูปภาพล้ำสมัยของ Google เมื่อใช้ Imagen คุณจะสร้าง รูปภาพจากพรอมต์ข้อความ การผสานรวม Gemini API กับ Imagen ออกแบบมาเพื่อช่วยให้คุณสร้างแอปพลิเคชัน AI รุ่นถัดไปที่เปลี่ยนพรอมต์ของผู้ใช้ให้เป็นชิ้นงานภาพคุณภาพสูงได้ในไม่กี่วินาที

คู่มือนี้จะช่วยคุณเริ่มต้นใช้งาน Imagen โดยใช้ Gemini API Python SDK

เกี่ยวกับ Imagen 3

Imagen 3 คือโมเดลการแปลงข้อความเป็นรูปภาพที่มีคุณภาพสูงสุดของ Google ซึ่งมี ความสามารถใหม่ๆ ที่ได้รับการปรับปรุงให้ดีขึ้น ภาพ 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 รูปที่คล้ายกับรูปภาพนี้

รูปภาพกระต่ายขนปุกปุย 2 ตัวในครัวที่ 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": สร้างรูปภาพผู้ใหญ่ แต่ไม่สร้างเด็ก

ขั้นตอนถัดไป

Imagen 3 ใน Gemini API อยู่ในช่วงทดลองใช้ก่อนเปิดตัว คอยติดตามประกาศเกี่ยวกับ สถานะของฟีเจอร์