Gemini API ให้สิทธิ์เข้าถึง Imagen 3 ซึ่งเป็นโมเดลการสร้างรูปภาพล้ำสมัยของ Google เมื่อใช้ Imagen คุณสามารถสร้างรูปภาพใหม่ๆ จากพรอมต์ข้อความได้ การผสานรวม Gemini API กับ Imagen ออกแบบมาเพื่อช่วยคุณสร้างแอปพลิเคชัน AI รุ่นถัดไปที่เปลี่ยนพรอมต์ของผู้ใช้ให้เป็นเนื้อหาภาพคุณภาพสูงในเวลาไม่กี่วินาที
คู่มือนี้จะช่วยคุณเริ่มต้นใช้งาน Imagen โดยใช้ Gemini API Python SDK
เกี่ยวกับภาพ 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
คุณต้องตั้งค่าโปรเจ็กต์และกำหนดค่าคีย์ API ก่อนเรียกใช้ Gemini 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 รูปที่คล้ายกับรูปภาพนี้
พารามิเตอร์โมเดลอิมเมจ
พารามิเตอร์ต่อไปนี้พร้อมใช้งานสําหรับ generate_images()
prompt
: ข้อความพรอมต์สำหรับรูปภาพnegative_prompt
: คำอธิบายสิ่งที่คุณต้องการละเว้นในรูปภาพที่สร้างขึ้น ค่าเริ่มต้นคือไม่มีเช่น ลองพิจารณาการแจ้งเตือน "ถนนในเมืองที่ฝนตกตอนกลางคืนไม่มีคนอยู่" โมเดลอาจตีความ "people" เป็นคำสั่งว่าให้รวมสิ่งใดแทนการละเว้น เพื่อให้ได้ผลลัพธ์ที่ดีขึ้น คุณสามารถใช้พรอมต์ "ถนนในเมืองที่ฝนตกตอนกลางคืน" พร้อมพรอมต์เชิงลบ "ผู้คน"
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"
: สร้างรูปภาพผู้ใหญ่ แต่ไม่ใช่รูปภาพเด็ก
ภาษาของข้อความพรอมต์
ระบบรองรับภาษาพรอมต์ข้อความอินพุตต่อไปนี้
- จีน (ตัวย่อ) (
zh
/zh-CN
) - จีน (ดั้งเดิม) (
zh-TW
) - อังกฤษ (
en
) - ฮินดี (
hi
) - ญี่ปุ่น (
ja
) - เกาหลี (
ko
) - โปรตุเกส (
pt
) - สเปน (
es
)
ขั้นตอนถัดไป
Imagen 3 ใน Gemini API อยู่ในช่วงทดลองใช้ก่อนเปิดตัว โปรดติดตามการประกาศเกี่ยวกับสถานะของฟีเจอร์