Imagen 3 দিয়ে ছবি তৈরি করুন

ইমেজেন 3 হল একটি ইমেজ জেনারেশন মডেল। এটি ব্যবহারকারীর প্রোফাইলের জন্য কাস্টম অবতার তৈরি করতে বা ব্যবহারকারীর ব্যস্ততা বাড়াতে বিদ্যমান স্ক্রীন প্রবাহে ব্যক্তিগতকৃত ভিজ্যুয়াল সম্পদগুলিকে সংহত করতে ব্যবহার করা যেতে পারে।

আপনি Firebase SDK-তে Vertex AI ব্যবহার করে আপনার Android অ্যাপ থেকে Imagen মডেল অ্যাক্সেস করতে পারেন।

Firebase-এ Vertex AI ব্যবহার করে Imagen 3 মডেল অ্যাক্সেস করুন
চিত্র 1 । Firebase-এ Vertex AI ব্যবহার করে Imagen 3 মডেল অ্যাক্সেস করুন।

প্রম্পট সঙ্গে পরীক্ষা

আদর্শ প্রম্পট তৈরি করতে প্রায়ই একাধিক প্রচেষ্টা লাগে। আপনি Vertex AI স্টুডিওতে ইমেজ প্রম্পট নিয়ে পরীক্ষা করতে পারেন, প্রম্পট ডিজাইন এবং প্রোটোটাইপিংয়ের জন্য একটি IDE। আপনার প্রম্পটগুলিকে কীভাবে উন্নত করবেন সে সম্পর্কে টিপসের জন্য, প্রম্পট এবং চিত্র বৈশিষ্ট্য নির্দেশিকা পর্যালোচনা করুন।

ভার্টেক্স এআই স্টুডিও আপনাকে আপনার ইমেজ জেনারেশন প্রম্পট পরিমার্জন করতে সাহায্য করতে পারে
চিত্র 2 । ভার্টেক্স এআই স্টুডিও আপনাকে আপনার ইমেজ জেনারেশন প্রম্পট পরিমার্জন করতে সাহায্য করতে পারে।

একটি ফায়ারবেস প্রজেক্ট সেট আপ করুন এবং আপনার অ্যাপকে সংযুক্ত করুন

আপনার Android প্রকল্পে Firebase যোগ করতে Firebase ডকুমেন্টেশনের ধাপগুলি অনুসরণ করুন।

Gradle নির্ভরতা যোগ করুন

আপনার build.gradle অ্যাপ ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন:

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

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

Firebase-এর Vertex AI-তে চিত্র 3-এর জন্য Firebase BOM 33.10.0 বা উচ্চতর প্রয়োজন।

একটি ইমেজ তৈরি করুন

আপনার অ্যান্ড্রয়েড অ্যাপে একটি ছবি তৈরি করতে, একটি ঐচ্ছিক কনফিগারেশন সহ একটি 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();
}

পরবর্তী পদক্ষেপ