Tạo hình ảnh bằng Imagen 3

Gemini API cung cấp quyền truy cập vào Imagen 3, mô hình tạo hình ảnh tiên tiến nhất. Khi sử dụng Imagen, bạn có thể tạo hình ảnh mới lạ từ các câu lệnh dạng văn bản. Việc tích hợp API Gemini với Imagen được thiết kế để giúp bạn xây dựng các ứng dụng AI thế hệ mới, giúp biến lời nhắc của người dùng thành các thành phần hình ảnh chất lượng cao chỉ trong vài giây.

Hướng dẫn này sẽ giúp bạn bắt đầu sử dụng Imagen bằng SDK Gemini API Python.

Giới thiệu về Imagen 3

Imagen 3 là mô hình chuyển văn bản thành hình ảnh chất lượng cao nhất của Google, có một số tính năng mới và cải tiến. Hình ảnh 3 có thể thực hiện những việc sau:

  • Tạo hình ảnh có chi tiết tốt hơn, ánh sáng phong phú hơn và ít cấu trúc lạ gây mất tập trung hơn so với các mô hình trước.
  • Hiểu được các câu lệnh được viết bằng ngôn ngữ tự nhiên, thường ngày, giúp người dùng dễ dàng tạo đầu ra phù hợp mà không cần thiết kế câu lệnh phức tạp.
  • Tạo hình ảnh ở nhiều định dạng và phong cách, từ phong cảnh chân thực đến những bức tranh sơn dầu có hoạ tiết phong phú hoặc cảnh hoạt hình đất sét kỳ quái.
  • Kết xuất văn bản hiệu quả hơn so với các mô hình trước, mở ra các khả năng mới cho các trường hợp sử dụng như thiệp sinh nhật, bản trình bày được tạo kiểu, v.v.

Imagen 3 được xây dựng dựa trên những cải tiến mới nhất của Google về an toàn và trách nhiệm, từ phát triển dữ liệu và mô hình đến sản xuất. Nhóm Google DeepMind đã sử dụng tính năng lọc và gắn nhãn dữ liệu rộng rãi để giảm thiểu nội dung gây hại trong các tập dữ liệu và giảm khả năng xuất ra kết quả gây hại. Nhóm này cũng tiến hành thử nghiệm màu đỏ việc nhóm và đánh giá về các chủ đề bao gồm sự công bằng, thiên kiến và an toàn nội dung.

Để tìm hiểu thêm và xem kết quả mẫu, hãy xem bài viết tổng quan về Imagen 3 của Google DeepMind.

Trước khi bắt đầu: Thiết lập dự án và khoá API

pip install -U git+https://github.com/google-gemini/generative-ai-python@imagen

Trước khi gọi Gemini API, bạn cần thiết lập dự án và định cấu hình khoá API của bạn.

Tạo hình ảnh

Phần này cho bạn biết cách tạo thực thể cho mô hình Imagen và tạo hình ảnh.

Để chạy mã ví dụ, trước tiên bạn phải cài đặt Gối:

pip install --upgrade Pillow

Sau đó, khi đã cài đặt Gối và SDK Python, bạn có thể sử dụng mã sau để tạo hình ảnh:

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()

Sổ tay sẽ hiển thị 4 hình ảnh tương tự như hình ảnh sau:

Hình ảnh do AI tạo ra về hai chú thỏ nhồi bông trong nhà bếp

Tham số mô hình Imagen

generate_images() có các tham số sau:

  • prompt: Lời nhắc văn bản cho hình ảnh.
  • negative_prompt: Nội dung mô tả những gì bạn muốn bỏ qua trong hình ảnh được tạo. Giá trị mặc định là không có.

    Ví dụ: hãy xem xét câu lệnh "đường phố trong thành phố ngày mưa vào ban đêm mà không có người". Mô hình có thể diễn giải "người" là một lệnh về nội dung cần đưa vào thay vì bỏ qua. Để tạo kết quả tốt hơn, bạn có thể sử dụng câu lệnh "mưa mưa đường phố về đêm" bằng câu lệnh phủ định "mọi người".

  • number_of_images: Số lượng hình ảnh cần tạo, từ 1 đến 4 (bao gồm). Giá trị mặc định là 4.

  • aspect_ratio: Thay đổi tỷ lệ khung hình của hình ảnh đã tạo. Được hỗ trợ là "1:1", "3:4", "4:3", "9:16""16:9". Giá trị mặc định là "1:1".

  • safety_filter_level: Thêm cấp độ bộ lọc vào tính năng lọc an toàn. Các giá trị sau đây là hợp lệ:

    • "block_low_and_above": Chặn khi điểm xác suất hoặc điểm mức độ nghiêm trọng là LOW, MEDIUM hoặc HIGH.
    • "block_medium_and_above": Chặn khi điểm xác suất hoặc điểm mức độ nghiêm trọng là MEDIUM hoặc HIGH.
    • "block_only_high": Chặn khi điểm xác suất hoặc điểm mức độ nghiêm trọng là HIGH.
  • person_generation: Cho phép mô hình này tạo hình ảnh về con người. Các giá trị sau đây được hỗ trợ:

    • "dont_allow": Chặn việc tạo hình ảnh của con người.
    • "allow_adult": Tạo hình ảnh người lớn, chứ không phải trẻ em.

Các bước tiếp theo

Imagen 3 trong Gemini API đang ở giai đoạn tiếp cận sớm. Hãy theo dõi các thông báo về trạng thái của tính năng.