ایجاد تصاویر با Imagen 3

Imagen 3 یک مدل تولید تصویر است. می‌توان از آن برای تولید آواتارهای سفارشی برای نمایه‌های کاربر یا ادغام دارایی‌های بصری شخصی‌شده در جریان‌های صفحه موجود برای افزایش تعامل کاربر استفاده کرد.

می‌توانید با استفاده از Vertex AI در Firebase SDK به مدل‌های Imagen از برنامه Android خود دسترسی پیدا کنید.

با استفاده از Vertex AI در Firebase به مدل‌های Imagen 3 دسترسی پیدا کنید
شکل 1 . با استفاده از Vertex AI در Firebase به مدل های Imagen 3 دسترسی پیدا کنید.

با دستورات آزمایش کنید

ایجاد درخواست های ایده آل اغلب به تلاش های متعدد نیاز دارد. می‌توانید با درخواست‌های تصویر در Vertex AI Studio ، یک IDE برای طراحی سریع و نمونه‌سازی آزمایش کنید. برای راهنمایی در مورد چگونگی بهبود درخواست‌های خود، راهنمای ویژگی فرمان و تصویر را مرور کنید.

Vertex AI Studio می تواند به شما کمک کند اعلان های تولید تصویر خود را اصلاح کنید
شکل 2 . Vertex AI Studio می تواند به شما کمک کند اعلان های تولید تصویر خود را اصلاح کنید.

یک پروژه Firebase راه اندازی کنید و برنامه خود را متصل کنید

برای افزودن Firebase به پروژه Android خود، مراحل موجود در اسناد Firebase را دنبال کنید.

وابستگی Gradle را اضافه کنید

وابستگی های زیر را به فایل برنامه build.gradle خود اضافه کنید:

dependencies {
    implementation(platform("com.google.firebase:firebase-bom:33.9.0"))

    implementation("com.google.firebase:firebase-vertexai")
}

Imagen 3 در Vertex AI در Firebase به Firebase BOM 33.10.0 یا بالاتر نیاز دارد.

یک تصویر تولید کنید

برای ایجاد یک تصویر در برنامه Android خود، با نمونه سازی یک ImagenModel با یک پیکربندی اختیاری شروع کنید.

شما می توانید از پارامتر generationConfig برای تعریف یک اعلان منفی، تعداد تصاویر، نسبت تصویر خروجی، فرمت تصویر و اضافه کردن یک واترمارک استفاده کنید. می توانید از پارامتر safetySettings برای پیکربندی فیلترهای ایمنی و شخص استفاده کنید.

کاتلین

val imagenModel = Firebase.vertexAI.imagenModel(
  modelName = "imagen-3.0-generate-001",
  generationConfig = ImagenGenerationConfig(
    negativePrompt = "frogs",
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
  ),
  safetySettings = ImagenSafetySettings(
    safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
    personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
  )
)

جاوا

GenerativeModel imagenModel = FirebaseVertexAI.getInstance().imagenModel(
    "imagen-3.0-generate-001",
    ImagenGenerationConfig.builder()
        .setNegativePrompt("frogs")
        .setNumberOfImages(2)
        .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
        .setImageFormat(ImagenImageFormat.jpeg(100))
        .setAddWatermark(true)
        .build(),
    ImagenSafetySettings.builder()
        .setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
        .setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
        .build()
);

هنگامی که ImagenModel شما نمونه سازی شد، می توانید با فراخوانی generateImages تصاویر ایجاد کنید:

کاتلین

val imageResponse = imagenModel.generateImages(
  prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()

جاوا

CompletableFuture<GenerateContentResponse> futureResponse =
    imagenModel.generateContent(
        Content.newBuilder()
            .addParts(
                Part.newBuilder()
                    .setText("An astronaut riding a horse")
                    .build())
            .build());

try {
  GenerateContentResponse imageResponse = futureResponse.get();
  List<GeneratedImage> images =
      imageResponse
          .getCandidates(0)
          .getContent()
          .getParts(0)
          .getInlineData()
          .getImagesList();

  if (!images.isEmpty()) {
    GeneratedImage image = images.get(0);
    Bitmap bitmapImage = image.asBitmap();
    // Use bitmapImage
  }
} catch (ExecutionException | InterruptedException e) {
  e.printStackTrace();
}

مراحل بعدی