Apple Developer onepage/WWDC26
#WWDC26#ImagePlayground#PrivateCloudCompute#SwiftUI2026-06-08 · 14:11

Image Playground 變成 app 內建能力:高品質生成交給系統體驗承接

這場 session 說明 Image Playground 在 WWDC26 的方向:模型移到 Private Cloud Compute、支援更高品質與 photorealistic 類結果,app 端用 sheet 或 view controller 嵌入完整體驗,再用 concepts、source image、options 與 availability fallback 控制產品情境。

// 一句話結論

Apple 不鼓勵 app 自己重做圖片生成 UI;新的 Image Playground 把模型、隱私、樣式、personalization 與使用量管理包成系統體驗,開發者要做的是提供正確上下文、儲存結果,並設計不可用時的替代路徑。

Apple Developer · WWDC26 · Video ID: skch01qhxDwApple Developer 官方頁
Content map

這支影片其實在拆四個產品整合問題

Capability

生成品質與隱私移到系統層處理

新的 generative model 跑在 Private Cloud Compute,支援更多風格、尺寸與更貼近真實的 image creation;使用量限制也由系統管理,不需要 app 自建 quota UI。

Adoption

SwiftUI 採用點是一個 sheet modifier

.imagePlaygroundSheet 負責 UI、模型互動、style picker 與 completion。完成後回傳 generated file URL,app 要在 session 結束前保存到自己的儲存位置。

Context

你的 app 貢獻故事,系統負責生成

ImagePlaygroundConcept.text、extracted、source image 與 PencilKit drawing 都是引導生成的上下文。它們是 suggestion,不是硬性約束。

Fallback

可用性不是單一裝置檢查

supportsImageGeneration 同時反映裝置能力、語言/地區支援與使用者是否啟用。不可用時,app 應提供 Photos picker 或其他簡化路徑。

Implementation flow

從按鈕到可保存圖片的導入流程

1

先決定圖片在產品中的位置

影片用 greeting card creator 當例子。先問清楚圖片是封面、頭像、縮圖、壁紙還是訊息的一部分,這會影響尺寸、style、personalization 與 fallback。

2

用 .imagePlaygroundSheet 呈現系統體驗

SwiftUI 端用 binding 控制 sheet,completion 收到 URL 後立即複製或保存。UIKit / AppKit 則使用 ImagePlaygroundViewController 與 delegate。

3

把 app context 變成 concepts

直接文字用 .text,長文用 .extracted,圖片用 sourceImage,手繪提示用 .drawing。讓使用者不是從空白 prompt 開始。

4

用 options 約束尺寸、風格與 personalization

ImagePlaygroundOptions 控制 size specification、default style、allowed styles 與 personalization。若只允許一種 style,picker 會鎖定該風格。

5

用 availability gate 分流體驗

當 supportsImageGeneration 為 false,直接走替代 UI;不要讓使用者進入一個最後才失敗的生成流程。

重點 1:ImageCreator deprecated,新的方向是完整系統體驗

影片明確提到 non-UI 的 ImageCreator API 已 deprecated。新的能力集中在 Image Playground 的體驗層:更高品質、built-in privacy、使用者熟悉的 style picker、personalization 與系統管理 usage limits。

這代表遷移時不能只把舊 API 呼叫換成新 API。你需要重新思考圖片生成在 app 內的互動入口、預設上下文、完成後儲存、取消行為與不可用 fallback。

重點 2:completion URL 是暫存結果,保存責任在 app

SwiftUI 範例中,按鈕打開 sheet;使用者接受圖片後,completion closure 收到一個 URL。官方說明這個 URL 指向 app container 裡的 temporary location,必須在 session 結束前另存到 app 自己的資料模型或檔案位置。

空白 prompt 不是唯一入口可用 ImagePlaygroundConcept 預先帶入 card theme、message 或其他 app context,減少使用者從零描述的成本。
source image 是靈感,不是約束使用者可以在 sheet 內替換或 refine 來源圖。產品文案與 UI 不應暗示結果會完全保留原圖。
PencilKit drawing 可做構圖提示.drawing(PKDrawing) 讓手繪筆觸成為 visual suggestion,適合 iPad 上有草圖、卡片或創作 canvas 的 app。
UIKit/AppKit 有同等入口ImagePlaygroundViewController 透過 properties 設 concepts/options,再由 delegate 接收 didCreateImageAt。

重點 3:options 決定生成體驗和產品語氣是否一致

ImagePlaygroundOptions 可以設定最接近某個 CGSize 的尺寸規格,讓橫式卡片、直式卡片、方形頭像拿到不同 aspect ratio。ImagePlaygroundStyle 則包含 illustration、sketch、animation、emoji 等風格。

如果 app 的產品語氣很固定,可以限制 allowed styles;如果使用者已在 Settings 設定第三方 provider,例如 ChatGPT,externalProvider 可作為 opt-in style 出現在 picker。emoji style 的完成回呼會給 NSAdaptiveImageGlyph,適合像 emoji 一樣 inline 放進文字。

風險與遷移注意事項

不要忽略 availability gateApple Intelligence device、語言地區、使用者設定都會影響可用性。用 supportsImageGeneration 做入口分流。
personalization 預設啟用若產品情境不該從 Photos library 選人,例如商品圖生成,應把 options personalization 關掉。
尺寸是 closest match.closest(to:) 會映射到支援的 aspect ratio / resolution,不代表完全輸出任意尺寸。下游裁切與排版要能承接。
生成結果要有 moderation 與使用情境檢查系統提供體驗與隱私,但 app 仍要確認結果是否適合自己的內容政策、保存策略與分享流程。

對產品與工程的實作啟發

Image Playground 最適合放在「app 已經知道使用者想表達什麼」的地方:卡片訊息、個人 profile、聊天表情、封面、活動邀請、故事或回憶。不要只放一個通用「生成圖片」按鈕,而是把 app context 轉成 concepts,讓結果看起來是為當下任務而生。

工程上,建議把生成入口當成一個可 fallback 的 media picker:先檢查 availability,再決定 Image Playground 或替代 picker;completion 後立即保存;取消、失敗、不可用都回到同一套資料模型狀態。

來源

主要來源為 Apple Developer 官方影片頁、transcript、章節與 code snippets;YouTube 影片頁用於 iframe 與發布 metadata。官方頁:Create high-quality images using Image Playground - WWDC26。YouTube:WWDC26: Create high quality images using Image Playground | Apple。

// TL;DR