本頁面說明如何使用 Imagen 外繪功能,透過 Firebase AI Logic SDK 將圖片內容擴展到原始邊框之外。
外繪是以遮罩為基礎的編輯類型,遮罩是數位疊加層,可定義要編輯的特定區域。
運作方式:您提供原始圖片和相應的遮罩圖片 (系統自動生成或您提供),定義新擴展區域的遮罩。您也可以選擇提供文字提示,描述要在展開區域中生成的內容,或是讓模型根據現有場景,智慧判斷要接續的內容。模型會生成新內容,並填入遮蓋區域。
例如,你可以變更圖片的顯示比例,或加入更多背景情境。
事前準備
只有在使用 Vertex AI Gemini API 做為 API 供應商時,才能使用這項功能。 |
如果尚未完成,請參閱入門指南,瞭解如何設定 Firebase 專案、將應用程式連結至 Firebase、新增 SDK、初始化所選 API 供應商的後端服務,以及建立 ImagenModel
執行個體。
支援這項功能的模型
Imagen 可透過 capability
模型編輯圖片:
imagen-3.0-capability-001
請注意,Imagen 型號global
不支援位置資訊。
擴充圖片內容
在試用這個範例之前,請先完成本指南的「事前準備」一節,設定專案和應用程式。 |
以下範例說明如何使用您提供的圖片中定義的遮罩,將圖片擴展到原始邊框之外。您提供原始圖片、文字提示和遮罩圖片。請注意以下有關原始圖片和遮蓋圖片的事項:
遮罩圖片的像素尺寸必須與最終外繪圖片的目標尺寸相同。
原始圖片必須包含額外邊框間距,才能符合遮罩圖片的像素尺寸。
如果想讓模型根據現有場景,智慧判斷接下來的內容,可以選擇不提供文字提示詞。如要在擴增區域中加入特定內容,請在文字提示詞中指定。
Swift
Swift 不支援使用 Imagen 模型編輯圖片。請於今年稍晚再回來查看!
Kotlin
如要擴展圖片,請使用 editImage()
,並將編輯設定設為使用 ImagenEditMode.OUTPAINT
。
請注意,您可以選擇使用 outpaintImage()
而非 editImage()
,且不必指定編輯模式。
如需外繪的程式碼範例,請參閱快速入門導覽課程。
Java
如要擴展圖片,請使用 editImage()
,並將編輯設定設為使用 ImagenEditMode.OUTPAINT
。
請注意,您可以選擇使用 outpaintImage()
而非 editImage()
,且不必指定編輯模式。
如需外繪的程式碼範例,請參閱快速入門導覽課程。
Web
網頁應用程式不支援使用 Imagen 模型編輯圖片。請於今年稍晚再回來查看!
Dart
如要擴展圖片,請使用 editImage()
,並將編輯設定設為使用 ImagenEditMode.OUTPAINT
。
如需外繪的程式碼範例,請參閱快速入門導覽課程。
Unity
Unity 不支援使用 Imagen 模型編輯圖片。請於今年稍晚再回來查看!
最佳做法和限制
編輯圖片時,建議擴大遮罩範圍。這有助於平滑化編輯內容的邊界,讓編輯結果看起來更逼真。一般來說,建議使用 1% 或 2% 的擴張值 (0.01
或 0.02
)。
提供有關 Firebase AI Logic 的使用體驗意見回饋