【iOS 27】Attachment で画像をプロンプトに添付する — Foundation Models の画像入力

【iOS 27】Attachment で画像をプロンプトに添付する — Foundation Models の画像入力

iOS 27のFoundation Modelsフレームワークで、写真をプロンプトに添えて質問できるようになりました。画像の前処理が不要になった一方、サイズによるトークン消費の注意点があります。その仕組みと使い方をご紹介します。
2026.09.15

はじめに

こんにちは。リテールアプリ共創部の Yahiro です。

前の2本では、動く端末と一度に渡せる量という制約側を書きました。ここからは、できることのほうに進みます。

まずは画像です。iOS 27 の Foundation Models framework で、写真をそのままプロンプトに添えて質問できるようになりました。文章を渡して答えてもらうだけでなく、「これ何?」と見せて聞けるということです。

この記事でわかること

  • 写真を渡して聞けるようになったこと
  • トリミングやリサイズの前処理が要らなくなること
  • 大きい画像を渡すときの注意

写真を渡せる様になった

やることは単純で、プロンプトに文章と画像を並べて渡すだけです。

コードで見ると、こうなります。

import FoundationModels

let response = try await session.respond {
    "この写真に何が写っていますか?"
    Attachment(image)
}

文章と画像を、同じように並べて書くだけです。画像を前処理してどこかに送る、といった行はありません。

「この画像の文字を書き出して」「この図面のどこがおかしいか」。文章で聞くのと同じ感覚で、画像について質問できます。

複数の画像を渡すときは、Attachment(image).label("チラシ") のようにラベルを付けて区別できます。

トリミングもリサイズも要りません

WWDC26 のセッションでは、あらゆるサイズとアスペクト比の画像をサポートすると説明されています。特定の形にトリミングしたり、余白を足したりする必要はありません。

これまで画像を機械学習モデルに渡すときは、モデルが期待する解像度に合わせる前処理がほぼ必須でした。それが要らないので、カメラから撮ったものをそのまま渡せます。

渡せる形式も幅があります。UIImageNSImageCGImage、Core Image の型、CVPixelBuffer、そしてファイル URL。アプリで画像を持っている形のまま、だいたいそのまま渡せます。

大きい画像は枠と時間を食います

制限がないわけではありません。セッションでは、はっきりこう注意されています。

任意の画像サイズを使えますが、注意点があります。大きな画像ほどトークンを消費し、レイテンシが増加します。

一度に渡せる量には上限があります。画像もその同じ枠を使います。文章と違って「何文字だから何トークン」という感覚が働きにくいのが、厄介なところです。

ただ、感覚に頼らなくて済むようにもなっています。iOS 27 では、応答が実際に何トークン使ったかを取得できます。

print(response.usage.input.totalTokenCount)

枠の大きさ自体も SystemLanguageModel().contextSize で取れるので、「この画像を渡すと枠の何割を使うのか」は、推測ではなく実測で確かめられます。

最後に

Attachment で画像を渡すのは簡単でした。文字列と同じように並べて書くだけです。

そのうえで押さえておきたいのは、

  • 画像が端末から出ない。 写真を扱う機能の前提が変わる
  • トリミングもリサイズも要らない。 前処理が減る
  • ただし大きい画像は枠と時間を食う。 枚数とサイズは設計で決める

このあたりかなと思います。

参考


AI白書2026 配布中

クラスメソッドが独自に行なったAI診断調査をもとに、企業のAI活用の現在地を調査レポートとしてまとめました。企業規模別の活用度傾向に加え、規模を超えてAI活用を進める企業に共通する取り組みまで、自社の現在地を捉えるためのヒントにぜひ。

AI白書2026

無料でダウンロードする

この記事をシェアする

DevelopersIO 2026

関連記事