
前回、STIL.TOON は顔を消すのではなく、イラストに描き換えるアプリだと書きました。今日はその中身です。一枚の写真から、どうやって顔を見つけて、どうやって絵にしているのか。種明かしをします。
顔を「見つける」のは、Vision
最初の仕事は、写真のどこに顔があるかを知ることです。これは Apple の Vision Framework が受け持ちます。VNDetectFaceRectanglesRequest という顔検出の機能に写真を渡すと、その一枚のどこに、いくつ顔があるかを返してくれます。家族や友だちが何人も写っていても、それぞれの位置を見つけます。
ここは、一つ目のアプリ STIL. と地続きです。STIL. が動画から一枚を選ぶときも、顔の写りを見ていました。写真のなかの顔を読むという同じ土台の上に、TOON は立っています。
顔を「描く」のは、Apple Intelligence
見つけた顔を、今度はイラストに描き起こします。ここを担うのが、iPhone の中で動く Apple Intelligence の Image Playground です。その顔をもとに、線画やイラスト調の一枚を生成します。
ひとつ、はっきり分けておきたいことがあります。STIL.(フレーム抽出)が使うのは Vision で、こちらの「絵にする」部分は Apple Intelligence です。同じファミリーでも、アプリによって動かしている仕組みが違います。ファミリー全体で共通して言えるのは、「すべて端末の中で動く」ということだけです。
思い込みで、つまずいた
正直に書くと、ここで一度、派手につまずきました。
最初、私はテキストの指示だけで顔のイラストを作れると思っていました。"a child's face, illustration style" のような言葉を渡せば、それらしい顔が出てくるだろう、と。ところが実機で試すと、ことごとく失敗します。返ってきたのは、こんなメッセージでした。
Provide a source image containing a person's face to create an image using this prompt.
つまり Image Playground は、人物を描くには、言葉だけではだめで、実際の「顔の画像」を渡さなければならない。テキストから架空の人の顔を勝手に作り出すことは、安全のためにしない設計だったのです。私は、サンプルから API の呼び方を推測して、間違えていました。
直し方は、つまずきの正体が分かってしまえば単純でした。道具が本当に求めているもの ── その人の顔の画像そのもの ── を渡す形に、呼び方を書き直す。SDK が実際に何を受け取るのかを確かめ直して、その日のうちに直りました。
教訓も単純です。道具は、こちらの思い込みではなく、道具が求めるとおりに使う。推測で動かして実機で転ぶより、定義を一度ちゃんと読んだほうが、結局は速い。当たり前のことを、もう一度やり直しただけでした。
けれど、戻すのが難しかった
ここまでが、「見つける」と「描く」です。けれど、本当の難所は、この先にありました。描いたイラストを、元の写真に戻す ── 顔だけが入れ替わって、背景も服も元のまま、という一枚にする。これが、思っていたよりずっと厄介でした。
その一日ぶんの試行錯誤は、次回にまとめて書きます。先に言ってしまえば、ここをくぐり抜けられたから、STIL.TOON は成り立ちました。
なお、描く処理も、全部 iPhone の中で完結します。Apple Intelligence は端末内で動くので、写真は外に出ません。動かすには Apple Intelligence に対応した端末(iOS 26.4 以降)が要りますが、そのぶん、何も預けずに済みます。
追記(2026 年 9 月)
この記事は 2026 年 6 月、STIL.TOON が v1.1 のときに書きました。9 月の v1.2 から、iOS 27 では「描く」処理を Apple の Image Playground に任せていて、Apple のインフラの中で処理されます。Apple の Private Cloud Compute(PCC)を使うときも、中身は誰にも見えません。学習にも使われません。iOS 26 では、今もここに書いたとおり、端末の中で完結します。
上で「ファミリー全体で共通して言えるのは、すべて端末の中で動く」と書いたところも、いまは「既定は iPhone の中で。重い処理だけ、Apple のプライベートクラウドで。」が正確です。写真は、Apple のインフラの外に出ません。顔を見つける Vision は、変わらず端末の中で動いています。
次回
次は、その「顔だけを、きれいに戻す」までの一日を書きます。背景が二重になり、行き止まりに二度ぶつかり、それでも Apple の公開 API だけで切り抜けた ── その話を。
STIL.TOON は App Store で公開しています。