Imagen 3은 이미지 생성 모델입니다. 사용자 프로필의 맞춤 아바타를 생성하거나 맞춤설정된 시각적 확장 소재를 기존 화면 흐름에 통합하여 사용자 참여도를 높이는 데 사용할 수 있습니다.
Firebase SDK의 Vertex AI를 사용하여 Android 앱에서 Imagen 모델에 액세스할 수 있습니다.
프롬프트 실험
이상적인 프롬프트를 만드는 데는 여러 번의 시도가 필요한 경우가 많습니다. 프롬프트 설계 및 프로토타입 제작을 위한 IDE인 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")
}
Firebase in Vertex AI의 Imagen 3에는 Firebase BOM 33.10.0 이상이 필요합니다.
이미지 생성
Android 앱에서 이미지를 생성하려면 먼저 구성(선택사항)을 사용하여 ImagenModel
를 인스턴스화합니다.
generationConfig
매개변수를 사용하여 음성 프롬프트, 이미지 수, 출력 이미지 가로세로 비율, 이미지 형식을 정의하고 워터마크를 추가할 수 있습니다. safetySettings
매개변수를 사용하여 안전 및 사용자 필터를 구성할 수 있습니다.
Kotlin
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
를 호출하여 이미지를 생성할 수 있습니다.
Kotlin
val imageResponse = imagenModel.generateImages(
prompt = "An astronaut riding a horse",
)
val image = imageResponse.images.first
val bitmapImage = image.asBitmap()
Java
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();
}
다음 단계
- Firebase용 Vertex AI 개요를 확인하세요.
- Firebase SDK에서 Vertex AI를 사용하여 Imagen에 액세스하는 방법을 자세히 알아보세요.
- Google Cloud Imagen API 참조를 검토합니다.
- Google의 책임감 있는 AI 관행 자세히 알아보기