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

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

আপনি Firebase AI Logic SDK ব্যবহার করে আপনার Android অ্যাপ থেকে Imagen মডেল অ্যাক্সেস করতে পারেন। ফায়ারবেস এআই লজিক এপিআই প্রদানকারী উভয়ই ব্যবহার করে ইমেজেন মডেল পাওয়া যায়: জেমিনি ডেভেলপার এপিআই (বেশিরভাগ ডেভেলপারদের জন্য প্রস্তাবিত) এবং ভার্টেক্স এআই।

একটি ফায়ারবেস এআই লজিক ইন্টিগ্রেশন আর্কিটেকচারের চিত্রিত একটি চিত্র        জেমিনি ডেভেলপার API অ্যাক্সেস করতে। একটি Android অ্যাপ Firebase ব্যবহার করে        Firebase এর সাথে সংযোগ করতে Android SDK। Firebase তারপর এর সাথে যোগাযোগ করে        জেমিনি ডেভেলপার API, যা জেমিনি প্রো এবং ফ্ল্যাশের মধ্যে অ্যাক্সেস করে        মেঘ
চিত্র 1. Firebase AI লজিক ব্যবহার করে Imagen 3 মডেল অ্যাক্সেস করুন।

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

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

গুগল ক্লাউড ভার্টেক্স এআই স্টুডিও ইন্টারফেসের একটি স্ক্রিনশট,       একটি নীল ব্যাকপ্যাক সহ একটি টি-রেক্সের চারটি উত্পন্ন চিত্র প্রদর্শন করা       প্রাগৈতিহাসিক বন। বাম সাইডবার যেমন নেভিগেশন অপশন দেখায়       ড্যাশবোর্ড, মডেল গার্ডেন, এবং ভিশন, যখন ডান প্যানেল রয়েছে       ইমেজ জেনারেশন সেটিংসের জন্য প্যারামিটার।
চিত্র 2. ভার্টেক্স এআই স্টুডিও আপনাকে আপনার ইমেজ জেনারেশন প্রম্পট পরিমার্জন করতে সাহায্য করতে পারে।

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

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

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

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

dependencies {
  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.14.0"))

  // Add the dependency for the Firebase AI Logic library. When using the BoM,
  // you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
}

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

আপনার অ্যান্ড্রয়েড অ্যাপে একটি ছবি তৈরি করতে, একটি ঐচ্ছিক কনফিগারেশন সহ একটি ImagenModel ইনস্ট্যান্টিয়েট করে শুরু করুন৷

একটি নেতিবাচক প্রম্পট, ছবির সংখ্যা, আউটপুট ইমেজ অ্যাসপেক্ট রেশিও, ইমেজ ফরম্যাট এবং একটি ওয়াটারমার্ক যোগ করতে আপনি generationConfig প্যারামিটার ব্যবহার করতে পারেন। আপনি নিরাপত্তা এবং ব্যক্তি ফিল্টার কনফিগার করতে safetySettings প্যারামিটার ব্যবহার করতে পারেন।

কোটলিন

val config = ImagenGenerationConfig {
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
}

// Initialize the Gemini Developer API backend service
// For Vertex AI use Firebase.ai(backend = GenerativeBackend.vertexAI())
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).imagenModel(
    modelName = "imagen-3.0-generate-002",
    generationConfig = config,
    safetySettings = ImagenSafetySettings(
       safetyFilterLevel = ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE,
       personFilterLevel = ImagenPersonFilterLevel.BLOCK_ALL
    )
)

জাভা

ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
    .setNumberOfImages(2)
    .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
    .setImageFormat(ImagenImageFormat.jpeg(100))
    .setAddWatermark(false)
    .build();

// For Vertex AI use Firebase.ai(backend = GenerativeBackend.vertexAI())
ImagenModelFutures model = ImagenModelFutures.from(
    FirebaseAI.ai(backend = GenerativeBackend.googleAI()).imagenModel(
       "imagen-3.0-generate-002",
       config,
       ImagenSafetySettings.builder()
          .setSafetyFilterLevel(ImagenSafetyFilterLevel.BLOCK_LOW_AND_ABOVE)
          .setPersonFilterLevel(ImagenPersonFilterLevel.BLOCK_ALL)
          .build())
);

একবার আপনার ImagenModel ইনস্ট্যান্ট হয়ে গেলে, আপনি generateImages কল করে ছবি তৈরি করতে পারেন:

কোটলিন

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

জাভা

CompletableFuture<GenerateContentResponse> futureResponse =
    model.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();
}