Gemini画像生成×マッチングアプリ、プロフィール写真をエンジニアリングしてマッチ率を上げた話
Gemini画像生成×マッチングアプリ、プロフィール写真をエンジニアリングしてマッチ率を上げた話
TL;DR
- マッチングアプリはプロフィール写真が最重要変数(テキストよりも優先度が高い)
- Geminiの画像生成はプロンプト設計次第で出力品質が大きく変わる
- AIで生成した自然な写真に差し替えたところ、マッチ率が約3倍になった
- ツールの仕組みと自分でやる方法を両方書いたので、用途に合わせて読んでほしい
まず正直に言う。エンジニアはマッチングアプリが苦手だ
自己紹介文の最適化は得意。
キーワード選定も、文章の構造化も、A/Bテスト的な思考も問題ない。
でも、写真だけはどうにもならなかった。
スマホで自撮りすると顔がゆがむ。友人に撮ってもらうのは頼みにくい。プロカメラマンに頼むのはハードルが高いし、費用もかかる。
そもそも「映える写真を撮ること」への知識や経験が、エンジニアには圧倒的に少ない。
Hinge社の調査によると、マッチングアプリにおいてプロフィール写真は意思決定の**約80%**を占めるとされている。つまり残りの20%(自己紹介文・趣味・職業など)は、写真が良くないとほぼ意味をなさない。
コードで言うと、こんな状態だ。
def match_probability(photo_score, profile_score):
return photo_score * 0.8 + profile_score * 0.2
# 写真が低スコアだと、どれだけprofile_scoreを上げても天井が低い
print(match_probability(2, 10)) # → 3.6
print(match_probability(8, 10)) # → 8.4
これは極端な例だが、感覚的にはこのくらいの差がある。
Geminiの画像生成、実際どういう仕組みで動いているのか
Google DeepMindが開発したGeminiは、テキスト・画像・音声などを横断して処理できるマルチモーダルモデルだ。
画像生成においては、Imagen 3という拡散モデル(Diffusion Model)をバックエンドに持ち、Gemini APIを通じて呼び出せる。
[ユーザーのプロンプト(テキスト)]
↓
[Gemini(プロンプト解釈・強化)]
↓
[Imagen 3(拡散モデルによる画像生成)]
↓
[出力: 高解像度の画像]
拡散モデルの仕組みをざっくり言うと:
- ランダムノイズから始まる
- 学習済みのスコア関数を使って、ステップごとにノイズを除去していく
- プロンプトの意味空間に近いピクセル配列が完成する
重要なのはプロンプトの品質だ。Stable DiffusionやMidjourneyでも同じだが、入力の粒度と正確さが出力に直結する。
たとえば同じ「男性の写真」でも:
❌ 悪いプロンプト例:
"a photo of a man smiling"
✅ 良いプロンプト例:
"a photorealistic portrait of a 28-year-old Japanese man,
casual but neat outfit (light blue button-down shirt),
natural soft smile, shallow depth of field,
warm indoor lighting, coffee shop background slightly blurred,
shot on Sony A7 with 85mm lens, high detail"
被写体の年齢・服装・表情・背景・ライティング・カメラ設定まで指定することで、リアリティと自然さが一気に上がる。
実際にやった:プロンプト設計でプロフィール写真を最適化した
実際に自分でGemini APIを叩いて試したときの手順を共有する。
Step 1: 自分の特徴を言語化する
まず自分の外見的特徴・雰囲気を「テキスト仕様書」として書き出す。エンジニアっぽく言うと、自分のビジュアル定義ファイルを作るイメージ。
# visual_spec.yaml(イメージ)
age: 29
hair: short, dark brown, slightly messy
build: average, not muscular
vibe: calm, intellectual, approachable
preferred_outfit: smart casual
background_preference: urban, coffee shop, bookstore
expression: natural soft smile, not showing teeth
Step 2: プロンプトへ変換する
def build_portrait_prompt(spec: dict) -> str:
return f"""
photorealistic portrait of a {spec['age']}-year-old Japanese man,
{spec['hair']} hair, {spec['build']} build,
wearing smart casual clothes,
{spec['expression']},
background: {spec['background_preference']},
soft natural lighting, bokeh effect,
shot with 85mm portrait lens, professional photography quality
"""
Step 3: 生成→評価→反復
10枚生成して、以下の指標で評価。
| 評価軸 | 基準 |
|---|---|
| 自然さ | AIっぽい不自然な光や肌感がないか |
| 表情 | 引きつった笑顔になっていないか |
| 服装 | 清潔感があるか |
| 背景 | シンプルかつ雰囲気があるか |
| 全体の雰囲気 | 「話しかけやすそうか」 |
このPDCAを3〜4サイクル回すと、かなり使えるクオリティになってくる。
最終的に一番スコアが高かった写真(コーヒーショップ背景、スマートカジュアル、自然な笑顔)に差し替えたところ:
Before(自撮り写真):
- いいね数: 週平均 8件
- マッチ数: 週平均 2件
After(AI生成写真に差し替え):
- いいね数: 週平均 29件
- マッチ数: 週平均 7件
→ マッチ率: 約3.5倍
数字だけ見るとちょっと信じがたいが、本当にこのくらい変わった。
もちろんアプリ・時期・アクティブ度などの変数もあるので、完全にコントロールされた実験ではない。その点は正直に書いておく。
自分でやるのは面倒くさい。そのボトルネックを解消するツールを見つけた
正直に言うと、ここまで書いたことを自分でゼロからやるのはけっこう手間だ。
- Gemini APIの利用申請
- プロンプト設計の試行錯誤
- 出力の選定と評価
- アプリごとの最適サイズへのリサイズ
こういった「技術的には難しくないけど時間がかかる作業」をまとめてやってくれるサービスがある。
らいとマッチ は、Gemini APIを活用してマッチングアプリ向けのプロフィール写真を生成してくれるツールだ。
技術的な流れとしてはこんなイメージ:
[ユーザーの入力情報(年齢・雰囲気・好みのシチュエーション等)]
↓
[最適化されたプロンプト自動生成]
↓
[Gemini API(+ Imagen 3)で画像生成]
↓
[マッチングアプリ向けに調整・選定された写真を出力]
自分でAPI叩いてプロンプト設計するのが好きな人は全部自前でやればいい。でも「結果が欲しいだけ」という人には、こういうツールを使うのが工数対効果で優れている。
エンジニアなら「車輪の再発明をしないこと」の重要性はわかるはず。
プロンプトエンジニアリングで気をつけたこと(技術的Tips)
せっかくなので、自分が試行錯誤して気づいたことをまとめておく。
❶ ネガティブプロンプトは地味に効く
Geminiでも「やりたくないこと」を指定するのは有効。
negative prompt:
"cartoon, anime, illustration, 3D render, plastic skin,
overexposed, artificial smile, symmetrical face"
特に「plastic skin(人形のような肌質)」と「artificial smile(作り笑顔)」は、AI感を排除するうえで外せない。
❷ 背景はシンプルにするほど顔に集中できる
マッチングアプリはサムネイルが小さい。背景を複雑にすると顔が埋もれる。
✅ 推奨背景: bokeh blur / plain wall / minimalist cafe
❌ 避けたい背景: crowded street / patterned wallpaper / bright neon
❸ 光源の設定が自然さを決める
✅ "soft natural window light, morning golden hour"
❌ "studio lighting" → 商業写真っぽくなりすぎる
「プロっぽすぎる」写真はマッチングアプリでは逆効果になることもある。自然光・日常感が重要。
まとめ
エンジニアとしての武器は「仕組みを理解して、最適化する力」だ。
マッチングアプリの攻略も、感情論じゃなくて変数を特定して、最もインパクトのある部分から改善するという話に過ぎない。
そしてその最重要変数は、間違いなくプロフィール写真だ。
Geminiの画像生成とプロンプトエンジニアリングを使えば、自前でも写真の質は上げられる。ただ、時間コストを払いたくない人には、らいとマッチのようなツールを使うのが現実的な選択肢になる。
手を動かすのが好きなエンジニアは自分でAPIを叩いてみてほしいし、結果だけほしい人はツールを使えばいい。
どちらにせよ、「写真を放置したままプロフィール文だけ頑張る」のは最もコスパが悪い戦略だということだけ覚えておいてほしい。
試してみたい人へ
Gemini APIを活用したAI写真生成ツール「らいとマッチ」は、マッチングアプリ向けのプロフィール写真を手軽に生成できる。
プロンプト設計や API の手間なしに、Gemini ベースの画像生成をすぐ試せるので、興味ある人はのぞいてみてほしい。
この記事は個人の体験をもとに書いています。マッチ率の数値は個人差があり、アプリ・時期・プロフィール全体の影響を受けます。