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 รูปที่คล้ายกับรูปภาพนี้
พารามิเตอร์โมเดล Imagen
พารามิเตอร์ต่อไปนี้พร้อมใช้งานสําหรับ generate_images()
prompt
: พรอมต์ข้อความสำหรับรูปภาพnegative_prompt
: คำอธิบายสิ่งที่คุณต้องการละเว้นในรูปภาพที่สร้างขึ้น ค่าเริ่มต้นคือไม่มีตัวอย่างเช่น ลองดูพรอมต์ "ถนนในเมืองที่ฝนตกตอนกลางคืนที่ไม่มีผู้คน" โมเดลอาจตีความ "บุคคล" เป็นคำสั่งว่าจะรวมอะไรบ้าง แทนที่จะละเว้น หากต้องการสร้างผลลัพธ์ที่ดีขึ้น คุณอาจใช้พรอมต์ "ถนนในเมืองที่เต็มไปด้วยฝนตอนกลางคืน" กับพรอมต์เชิงลบ "ผู้คน"
number_of_images
: จำนวนรูปภาพที่จะสร้าง ตั้งแต่ 1 ถึง 4 (รวม) ค่าเริ่มต้นคือ 4aspect_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 อยู่ในช่วงทดลองใช้ก่อนเปิดตัว คอยติดตามประกาศเกี่ยวกับ สถานะของฟีเจอร์