Imagen 3 هو نموذج لإنشاء الصور. ويمكن استخدامها لإنشاء نماذج رمزية مخصّصة لملفات المستخدمين الشخصية أو لدمج مواد عرض مرئية مخصّصة في مسار تنقّل الشاشة الحالي لزيادة تفاعل المستخدمين.
يمكنك الوصول إلى نماذج Imagen من تطبيق Android باستخدام حزمة تطوير البرامج (SDK) لـ Firebase AI Logic. تتوفّر نماذج Imagen باستخدام كلاً من موفّري واجهات برمجة التطبيقات في Firebase AI Logic: Gemini Developer API (ننصح به لمعظم المطوّرين) وVertex AI.
تجربة طلبات
غالبًا ما يستغرق إنشاء الطلبات المثالية عدة محاولات. يمكنك تجربة طلبات الصور في Vertex AI Studio، وهي بيئة تطوير برامج (IDE) لتصميم الطلبات وإنشاء النماذج الأولية. للحصول على نصائح حول كيفية تحسين طلباتك، راجِع دليل طلب المعلومات وسمة الصورة.

إعداد مشروع على Firebase وربط تطبيقك به
اتّبِع الخطوات الواردة في مستندات Firebase لإضافة Firebase إلى مشروع Android.
إضافة تبعية 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")
}
إنشاء صورة
لإنشاء صورة في تطبيق Android، ابدأ بإنشاء مثيل لمحاولة
ImagenModel
باستخدام إعداد اختياري.
يمكنك استخدام المَعلمة generationConfig
لتحديد طلب سلبي، و
عدد الصور، ونسبة عرض إلى ارتفاع الصورة الناتجة، وتنسيق الصورة، وإضافة
علامة مائية. يمكنك استخدام المَعلمة safetySettings
لضبط فلاتر الأمان
والأشخاص.
Kotlin
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
)
)
Java
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
:
Kotlin
val imageResponse = model.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
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();
}