Tap & Hold 画像メーカー

X向け、画像の中に画像を隠す

2枚の画像を1枚の透明PNGにエンコードします。Xはタイムラインでは予告を表示し、tap and holdすると隠された画像が現れます。プリセットを選べば1分もかからず完成 — こだわりたいときはAdvancedで両方のレイヤーを細かく調整できます。完全ブラウザ完結型で、画像がお使いの端末から外に出ることはありません。
👀

正体にしたい画像をドロップ — またはクリックして選択

JPEG、PNG、WebP、GIF、BMPに対応 · コントラストの高い画像が最適です

無料 Tap and Hold 画像メーカー(X / Twitter向け)

tap and holdで正体が現れるこの仕掛けは、ただ派手なだけでなく、本当に賢いネットのトリックとして数少ない存在です。タイムラインをスクロールしていると、かすかなスケッチのような、空白のカードのような、あるいは白い空間に目だけが浮かんでいるような画像が流れてきます。誰かがそれをtap and holdすると、フル解像度の画像が読み込まれ、まったく別の画像が現れます。アニメーションもなければ埋め込みもなく、専用アプリも必要ありません。ただの1枚のPNGファイルが、Xが同じファイルを2通りにレンダリングするという性質を利用しているだけです。

このツールは、そのファイルをあなたの代わりに作ります。隠したい画像をドロップし、代わりにタイムラインで何を見せるかを選べば、投稿できる状態の透明PNGをダウンロードできます。すべての処理はCanvas APIを使ってブラウザ内で行われます — 画像がアップロードされることはなく、アカウント登録も不要で、出力に透かしが入ることもありません。

tap and holdのトリックが実際にどう機能するか

Xは、同じアップロードされたPNGを表示場所によって2通りに扱います。タイムラインでは圧縮されたプレビューを生成し、透明部分はすべて白背景に合成してしまいます。閲覧者が投稿を開いてtap and holdし、フル解像度版を読み込むと、Xはアルファチャンネルを保持したまま元のPNGを配信し、透明な部分にはメディアビューアーの暗い背景が透けて見えます。

つまり、1つのファイルに対して白背景合成用と黒背景合成用という2つのレンダリング条件が存在するわけです。色Cとアルファ値aを持つピクセルを背景Bの上に表示すると、結果はC·a + B·(1−a)になります。そのピクセルが白背景の上でどう見えてほしいか、黒背景の上でどう見えてほしいかをあらかじめ決めておけば、2つの方程式と2つの未知数が揃うので、両方を満たす正確な色とアルファ値を解くことができます。これを画像のすべてのピクセルについて行えば、1つのファイルに2枚の画像をエンコードしたことになります。

ただし1つだけ注意点があり、それがすべてのtap and hold画像がわずかに色あせて見える理由です。アルファ値は3つの色チャンネルすべてが共有する単一の数値であり、白背景の上で見える値は、黒背景の上で見える値よりも必ず明るくなければなりません。そのため、予告レイヤーは明るさの上半分に、正体は下半分に押し込められます。輝くような白い正体と、漆黒の予告を両立させることはできません — 数学的にそれは不可能です。このツールの「分離度」コントロールは、まさにそのトレードオフを調整可能にしたものです。2つの帯域の間隔を狭くすると両方の画像のコントラストは高まりますがにじみが出やすくなり、間隔を広くすると正体をきれいに隠せますが色は平坦になります。

tap and hold画像の作り方

  1. 正体にしたい画像をアップロードします。 これが見せ場 — 誰かがtap and holdしたときに現れる画像です。アップロードエリアにドラッグするか、クリックして選択してください。
  2. タイムラインに何を表示するかを選びます。 6種類のプリセットが、画像から予告レイヤーを自動生成します — ゴースト輪郭、暗い部分のみ、フラットなシルエット、ぼかし版、モザイク版、そしてテキストを添えられるほぼ白紙のカードです。
  3. 両方のプレビューを確認します。 白背景に合成したタイムライン表示と、黒背景に合成した正体表示を、実際にエンコードされたピクセルから計算して並べて表示します — 見えているものが、そのままXが描画する結果です。
  4. 予告の強さと分離度を調整します。 予告の強さは釣り餌がどれだけ見えるかを、分離度は2つの見え方をどれだけきれいに切り離すかを制御します。
  5. さらに細かく調整したい場合は詳細設定を開きます。 まったく別の予告用画像をアップロードしたり、エンコードエンジンを切り替えたり、マスクを塗ったり、明るさの帯域を直接調整したりできます。
  6. PNGをダウンロードしてファイルサイズを確認します。 サイズの表示は、実際に書き出されるファイルのものです。5MB未満に保ちましょう。

2つのエンコードエンジン

スムースがデフォルトです。すべてのピクセルについて個別に色とアルファ値を解き、両方のレイヤーでフルカラーを維持します。1つのアルファ値が3つの色チャンネルを兼ねる必要があるため、2つのレイヤーの色相が大きく食い違うときにはわずかな混色が生じます — 彩度の高い正体が予告をわずかに色づけしてしまうことがあります。このツールは、最も要求の厳しいチャンネルと最も緩いチャンネルの中間値を使って誤差を分散させており、素朴な方式に比べて平均誤差を実測でほぼ半減させ、最悪ケースの誤差もおよそ半減させています。

チェッカーボードはまったく異なるアプローチを取ります。すべてのピクセルに両方の役割を担わせる代わりに、ピクセルを互い違いの2つの集合に分割します。一方は白いピクセルの集合で、そのアルファ値が正体を運びます — タイムラインでは純白に合成されるため見えませんが、黒背景の上では隠された画像として現れます。もう一方は黒いピクセルの集合で、そのアルファ値が予告を運びます — 黒背景では見えず、白背景では完全に表示されます。結果として、2つの見え方の間には数学的にゼロのゴーストしか生じません。トレードオフは、出力がモノクロになり、各見え方が全体の半分のピクセルしか使わないため実質的な解像度が半分になることです。太い線画やコントラストの高いイラストでは、こちらのほうが見栄えが良いことが多いです。

スムースエンジンには、モノクロ切り替えも用意されています。両方のレイヤーをグレースケールに変換すると、チャンネル間の食い違いが完全になくなり、エンコードの精度は255分の1以内 — 実質的にピクセル単位で正確になります。作品がモノクロでも十分に映えるなら、これがフル解像度を保ったまま得られる最もクリーンな結果です。

正体マスク

詳細設定モードのマスクブラシは、まずまずのtap and hold画像と、本当に優れたtap and hold画像を分ける要素です。プリセットが生成した結果をそのまま受け入れるのではなく、特定の領域だけ予告レイヤーを上書きできます。

タイムラインに表示で塗った部分は、隠す代わりに正体の画像がそのまま予告に反映されます。これが「浮かぶ目」の見た目の作り方です — 顔全体を隠してから、目だけを塗ってほぼ白いカードの上でも見えるようにします。この効果は絶妙に不穏な印象を与え、tap and holdしてもらうきっかけにもなります。

もっと隠すで塗った部分は、予告がより白紙に近づき、プリセットが残していたディテールが消えます。プリセットがオチの一部 — 見覚えのあるロゴや顔、正体が現れるまで隠しておきたいキャプションなど — を漏らしてしまう場合に便利です。

エンコードに耐える画像を選ぶ

この技術は各レイヤーを利用可能な明るさの範囲の半分に圧縮するため、はっきりした形とコントラストの高い画像のほうが、繊細な画像よりもはるかによく持ちこたえます。

簡単なテストとして、目を細めて見てもはっきりわかるか、あるいは白黒の小さなサムネイルとして見てもわかるかを確認してみてください。それでわかるならエンコードに耐えられますし、微妙な階調の違いに頼っている画像は耐えられません。

効果を消さずに投稿するには

tap and hold画像は、エンコード段階よりもアップロード段階で失敗することのほうが多いです。このトリック全体は、アルファチャンネルが無傷のままXに届くことにかかっており、うっかりそれを壊してしまう方法はいくつもあります。

最もよくある失敗は、Xのモバイルアプリから投稿することです。モバイルアプリはアップロードをJPEGに再エンコードしてしまいます。JPEGにはそもそもアルファチャンネルがないため、透明度は失われ、隠されたレイヤーは消えてしまいます — 残るのは色あせた予告だけです。代わりに、x.comのデスクトップブラウザから投稿してください。

次によくある失敗は、ファイルを保存し直してしまうことです。書き出したPNGを画像編集ソフトやプレビューアプリ、スマホのギャラリーで開いて再保存すると、透明度が平坦化されたり形式が変換されたりすることがよくあります。スクリーンショットを撮ると、ファイルではなく合成済みの結果をキャプチャしてしまうため、効果は必ず失われます。ツールが生成したファイルを、変更せずそのままアップロードしてください。

3つ目はファイル形式で、ほとんどの人が間違えるポイントです。XはインデックスカラーのPNG-8のアップロードには手を加えませんが、約900px以上のフルカラーRGBA PNGはJPEGに再エンコードされる対象になります — そうなるとアルファチャンネルは失われ、隠された画像も一緒に消えてしまいます。このツールがデフォルトでインデックスカラーのPNG-8を書き出すのは、まさにこの理由からです。副次的な利点はサイズです。同じ1400pxの画像でも、PNG-32では1.3MBになるところ、PNG-8では約200KBに収まり、チェッカーボードエンジンではインデックス版とフルカラー版がピクセル単位で完全に一致します。最大限の色深度が欲しい場合は詳細設定でPNG-32に切り替えられますが、その場合は長辺を控えめに保ってください。

4つ目は単純なファイルサイズです。おおよそ5MBを超えると、形式にかかわらずXはアップロードをJPEGに再エンコードします。PNG-8で書き出せばこの閾値に達しにくくなりますが、ツール内のサイズ表示は実際の書き出しサイズを示し、閾値に近づくとオレンジ、超えると赤に変わります。超えてしまった場合は、長辺を小さくするか、より圧縮率の高いモノクロに切り替えてください。

最後に、画像がインタラクティブであることを伝えましょう。「tap and hold 👀」や「press and hold to reveal」のようなキャプションをつけると、画像だけを投稿するよりもはるかに反応が良くなります。ただスクロールして通り過ぎるだけの人には、効果はまったく見えないからです。投稿したら自分でテストしてみてください — スマホで開いてフルスクリーンにし、long pressしてiOSなら「Load in 4K」、Androidなら同等の高解像度オプションを選んでください。

Xの他にも使える場所

この技術には、白背景に合成したプレビューと、透明度を保持したフルサイズ表示の両方を持つプラットフォームが必要です。この組み合わせはどこにでもあるわけではありません。

確実に機能するのはXで、だからこそこのトレンドはXで生きています。Discord、Telegram、Slackの一部のクライアントは、ユーザーのテーマ設定によって似たような分離を生み出しますが、結果はクライアントやバージョンによって異なります。Instagram、Facebook、WhatsAppはアップロード時に透明度を取り除いてしまうため、いずれのプラットフォームでも効果は残りません。異なるレンダリングを行うプラットフォームを対象にしたい場合は、詳細設定タブでタイムラインの背景色と正体側の背景色の想定を変更できます — ただしXの場合は、白と黒のデフォルト設定が正しいので、そのままにしておいてください。

このトレンドの呼び名と由来

同じトリックにはいくつもの呼び名があり、そのせいで検索しづらくなっています。英語圏のXでは、通常tap and hold画像、press and hold画像、あるいは単にtap to revealと呼ばれます。Androidユーザーはlong pressと言う傾向があります。プラットフォーム上でそのジェスチャーがそう呼ばれているからです。デスクトップユーザーは、正体を見るにはフル解像度ファイルを開く必要があるため、そもそもこの仕掛けに気づかないことも少なくありません。これらはすべて同じ技術を指しています — タイムラインでは1枚の画像に見え、開くと別の画像に見える、1枚の透明PNGです。

このアイデア自体は、今回のブームより前からあります。もとは日本の隠し絵の伝統 — カタカナ表記では「カクシエ」、文字どおり「隠された絵」を意味します — から生まれたもので、ある画像の中に別の画像を隠し込むイラストのジャンルです。デジタル版は、海外に広がる前にX上の日本のAIアート界隈で最初に広まりました。だからこそ、英語のキャプションと並んで今も「隠し絵」や「カクシエ」のタグが付いた投稿を見かけますし、「隠し絵メーカー」を名乗る生成ツールもあるのです。ツールではなく作例を探しているなら、この日本語のタグのほうがはるかに豊富な鉱脈になります。

今回の急拡大のきっかけは、日本のAIアーティスト @sarasara_aiart による天使をテーマにした一連のイラストが広く拡散したことでした。数日のうちに、何千ものアカウントが自分なりの作品を投稿するようになりました — ファンタジー風の風景、アニメキャラクター、ポートレート、そしてlong pressするとまったく別のものに変わる幻想的なシーンなど。このトレンドをきっかけに来た方に伝えておきたい大事な点は、この効果はAIの機能ではなく、画像がどう生成されたかとは一切関係がないということです。これはファイルそのものの性質であり、イラストと同じくらい簡単に写真にも応用できます。

ダークモード・ライトモードと、一部の閲覧者で失敗する理由

これは、正常に動作しているはずの画像が壊れて見える最もよくある原因であり、投稿前に理解しておく価値があります。正体はファイルに描き込まれているわけではなく、透明なピクセルの背後にあるものから浮かび上がります。タイムラインでは、XがPNGを白背景に合成するため、予告レイヤーしか見えません。画像を開くと、Xはアルファチャンネルを保持するため、閲覧者自身のインターフェースが透明な部分から透けて見えます。

つまり、正体がどう見えるかは、見ている人次第だということです。ダークモードの閲覧者は、ほぼ黒い背景を得て、意図したとおりに隠された画像を見ることができます。ライトモードの閲覧者は、タイムラインの背景色に近い白またはほぼ白の背景を得るため、隠されたレイヤーはかすかにしか見えず、効果がまったく発揮されないこともあります。ファイルが壊れているわけではなく、単にライトモードの閲覧者が見ている景色を見ているだけです。このツールはデフォルトで暗い背景を前提にしています。このトレンドがそもそもそういう前提で成り立っているからです — ただし、テスト中に正体が弱く見える場合は、スライダーをいじる前に自分自身のテーマ設定を確認してください。これはキャプションが役立つ理由でもあります。ダークモードに切り替えてもらう、あるいは単純にtap and holdしてもらうよう伝えるほうが、自力で気づいてもらうことを期待するよりもはるかに効果的です。

ライトモードの閲覧者を特に狙いたい場合は、詳細設定タブで正体側の背景の想定を黒から白に変更し、その条件でエンコードを解き直すことができます。この場合、2つの背景が非常に近くなるため得られるコントラストは下がりますが、それでも機能はします。

よくある質問

Xでのtap and hold画像のトリックはどのように機能しますか?

Xは同じPNGを2通りにレンダリングします。タイムラインでは画像を白背景に合成するため、予告レイヤー以外はすべて隠れます。誰かが投稿を開いてtap and holdし、フル解像度版を読み込むと、Xはアルファチャンネルを保持したまま元のPNGを配信し、閲覧者側の暗い背景が透明なピクセルから透けて、隠された画像が現れます。このツールは、両方のレンダリング結果があなたの選んだ画像どおりになるよう、ピクセルごとに色とアルファ値を解いています。

投稿したtap and hold画像が機能しなくなったのはなぜですか?

ほとんどの場合、途中でアルファチャンネルが失われてしまったことが原因です。XのモバイルアプリはアップロードをJPEGに再エンコードしてしまい、透明度がなくなるため、代わりにx.comのデスクトップブラウザから投稿してください。形式も同じくらい重要です — XはインデックスカラーのPNG-8には手を加えないため、このツールはデフォルトでPNG-8を書き出します。一方、約900px以上のフルカラーRGBA PNGはJPEGに再エンコードされることがあります。約5MBを超えるファイルは、形式にかかわらず再エンコードされます。書き出したPNGを別の編集ツールで開いて再保存したり、スクリーンショットを撮ったりは絶対にしないでください — ツールが渡すファイルをそのままアップロードしてください。

色が色あせて見えるのはなぜですか?

これはツールの欠陥ではなく、この技術そのものの数学的な限界です。1つのピクセルは、白背景の上では明るい値に、黒背景の上では暗い値に同時に合成される必要があるため、予告は明るさの上の帯域に、正体は下の帯域に押し込められます。「分離度」のスライダーは、その境目をどこに置くかを制御します — 分離度を下げるとパンチの効いた色になりますが2つの見え方の間ににじみが増え、分離度を上げるときれいに隠せますが画像は平坦になります。これまで作られたすべてのtap and hold画像に共通する制約です。

どんな画像が一番うまくいきますか?

被写体がはっきりしていて、コントラストの高い作品 — 線画、太めのイラスト、シルエット、そして形のはっきりしたAIアートです。細部が多くコントラストの低いごちゃごちゃした写真は、エンコードで最も多くを失います。モノクロの素材はピクセル単位で正確にエンコードされるため、白黒でも十分に見える画像であれば、ほぼそのままのクオリティで生き残ります。良いテスト方法は、画像を目を細めて見てみることです — それでもわかるなら、うまくいくはずです。

画像はサーバーにアップロードされますか?

いいえ。すべての処理はCanvas APIを使ってブラウザ内でローカルに行われます。画像がどこかに送信されることはなく、アカウント登録も不要で、タブを閉じた後は何も保存されません。ページの読み込みが終わったあとにインターネット接続を切っても、そのセッションの間はツールが動作し続けます。

Xの他でも機能しますか?

この効果には、白背景に合成したプレビューと、透明度を保持したフル表示の両方を持つプラットフォームが必要です。現時点で確実なのはXです。Discord、Telegram、Slackの一部のクライアントは、使用しているテーマによって似たような明暗の分離を生み出します。Instagram、Facebook、WhatsAppはアップロード時に透明度を取り除くため、そこではこのトリックは残りません。別のプラットフォームで試してみたい場合は、詳細設定タブで背景の想定を変更できます。

PNG-8とPNG-32、どちらで書き出すべきですか?

デフォルトであるPNG-8です。XはインデックスカラーのPNG-8のアップロードには手を加えませんが、約900px以上のフルカラーRGBA PNGはJPEGに再エンコードされる対象になります — そしてJPEGにはアルファチャンネルがないため、隠された画像は失われます。PNG-8は書き出しサイズも劇的に小さくなります。1400pxの書き出しは、1.3MBではなく約200KBほどになります。チェッカーボードエンジンでは、そもそも256色未満しか使わないため、インデックス版とフルカラー版はピクセル単位で完全に一致します。スムースエンジンではパレットが256色に制限されるため多少の色の近似が生じますが、アルファチャンネルは優先的に量子化されており、実測した正体の強さは変わりません。最大限の色深度が必要で、かつ画像を小さく保つつもりがある場合に限り、詳細設定でPNG-32を選んでください。

スムースとチェッカーボード、2つのエンジンの違いは何ですか?

スムースは、すべてのピクセルについて色とアルファ値を解いてフルカラーを維持しますが、レイヤーの色相が食い違うときに2つの見え方の間でわずかな混色が生じます。チェッカーボードは、ピクセルを予告を運ぶ集合と正体を運ぶ集合の互い違いの2つに分割し、数学的にゼロのゴーストしか生じませんが、モノクロになり実質的な解像度は半分になります。カラーの作品や写真にはスムースを、大胆でグラフィカルな作品を可能な限りきれいに隠したい場合はチェッカーボードを使ってください。

書き出す画像はどのくらいのサイズにすべきですか?

長辺でおよそ1200〜2048pxが適正範囲です — フル解像度版を読み込んだときに、Xがディテールを保つのに十分な大きさです。このツールはデフォルトでインデックスカラーのPNG-8を書き出すため、サイズはもはや効果を壊す原因ではありません。XはPNG-8には手を加えず、1400pxの書き出しは約200KBに収まり、5MBの閾値にはまったく届きません。「小さく保つべき」という以前のアドバイスが当てはまるのは、詳細設定でPNG-32に切り替えた場合だけです。その場合、約900px以上のフルカラーPNGはJPEGに再エンコードされるリスクがあり — アルファチャンネルが失われ、正体は消えてしまいます。このツールはどちらの場合でも、実際に書き出されるファイルサイズを正確に表示します。

予告にまったく別の画像を使えますか?

はい。詳細設定タブに切り替えて、予告のソースを「別の画像をアップロード」に設定してください。これは2枚の画像を使うモードで、タイムラインには1枚の画像が表示され、tap and holdするとまったく無関係な別の画像が現れます。無関係な2枚のカラー画像は、正体から生成した予告よりも食い違う頻度が高くなる点には注意してください — もう少し混色が増えることを見込んでおきましょう。気になる場合は、モノクロ切り替えかチェッカーボードエンジンできれいにできます。

透かしや作成できる枚数の上限はありますか?

透かしなし、上限なし、登録不要、無料です。このツールはすべてブラウザ内で動作するため、計測すべきサーバー容量もありません。好きなだけ作成してください。