ایجاد تصاویر با استفاده از Imagen 3

Gemini API دسترسی به Imagen 3 ، پیشرفته ترین مدل تولید تصویر گوگل را فراهم می کند. با استفاده از Imagen، می توانید تصاویر جدید را از پیام های متنی ایجاد کنید. ادغام Gemini API با Imagen به شما کمک می‌کند تا نسل بعدی برنامه‌های هوش مصنوعی بسازید که درخواست‌های کاربر را در عرض چند ثانیه به دارایی‌های بصری با کیفیت بالا تبدیل می‌کنند.

این راهنما به شما کمک می کند تا با Imagen با استفاده از Gemini API Python SDK شروع کنید.

درباره Imagen 3

Imagen 3 با کیفیت ترین مدل متن به تصویر گوگل است که دارای تعدادی قابلیت جدید و بهبود یافته است. 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 را نمونه سازی کنید و تصاویر را تولید کنید.

برای اجرای کد نمونه، ابتدا باید 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()

نوت بوک باید چهار تصویر مشابه این تصویر را نمایش دهد:

تصویر ایجاد شده توسط هوش مصنوعی از دو خرگوش مبهم در آشپزخانه

پارامترهای مدل 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 در دسترسی اولیه است. منتظر اطلاعیه های مربوط به وضعیت این ویژگی باشید.