使用 Imagen 的外擴功能擴展圖片內容


本頁面說明如何使用 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.010.02)。


提供有關 Firebase AI Logic 的使用體驗意見回饋