本文へスキップ

AI鏡セルフィー:鏡像・スマホ・手の間違いを直す

AI鏡セルフィーは視点と持ち方を先に決め、Seedream 5.0 FlashとQwenでスマホや手を修正します。

執筆
Lydia
公開
読了時間
約 14 分
更新
紺色のドレスを着た成人女性が、柔らかな照明の更衣室で鏡セルフィーを撮っています。

自然なAI鏡セルフィーには、スマートフォンが撮る写真を指定します。平面鏡は1枚、映る成人は1人、スマートフォンは1台で背面レンズを鏡に向け、シンプルな持ち方が見える状態にします。 Seedream 5.0 Flashを 3:4、2k、PNG、1画像$0.029で使い始め、既存のキャラクターなら本人の特徴を示す参照画像を追加します。視点が成立しない場合は再生成し、スマートフォンや手だけが間違っている場合は局所的に編集します。

例に登場するのは、ボタンを留めた黒いシャツと仕立てのよいパンツを着た、架空の35歳の男性Danielです。両モデルは成人向けプロンプトにも対応するため、このワークフローは成人キャラクターにも使えます。

1. シーンを書く前にカメラを決める

使いやすい構図は2種類あります。それぞれ異なるプロンプトが必要です。

作りたい写真実際のカメラ位置指定する内容
Danielのスマートフォンに保存されるセルフィーDanielの手の中で鏡に向いている鏡に映るDanielとスマートフォン。別の撮影者が背中を写す視点は入れない
鏡のそばに立つDanielのポートレート横または後ろに置いた別のカメラ直接見える身体と、そのカメラ位置から見える鏡像

気軽な投稿には前者を、身体と鏡像を一緒に見せたい場合には後者を使います。「本人のスマートフォンで撮影」と「背後のカメラで背中を写す」を混ぜないでください。それでは、セルフィーを撮っている人を第三者が撮る写真になってしまいます。

鏡像は同じ人物の同じポーズであり、別のポーズを取る2人目の人物ではありません。実際の腕と鏡の中の腕が違っていれば、修正が必要です。

黒いシャツのDanielの下げた腕と対応する鏡像を、意図的に別のポーズで上げた鏡の中の手と比較しています。

説明図:鏡の中の上げた手は、実際の下げた腕と矛盾しています。鏡像が別のポーズを選ぶことはできません。

平面鏡では、被写体が鏡の手前に立つ距離と同じ距離だけ、鏡の奥に鏡像が見えます(OpenStaxの物理教材)。

平面鏡の前に人とスマートフォンを配置し、鏡の奥の同じ距離に虚像を示した上面図です。

光学の概念図:虚像は平面鏡の奥の、対応する垂直距離の位置に見えます。

2. 最初のリクエストを設定する

Playgroundで試す

  1. Seedream 5.0 Flashのテキストから画像のページを開き、PlaygroundタブのForm表示を使います。実行には残高のあるアカウントでログインしてください。
  2. 以下のプロンプトをPromptに貼り付けるか、入力済みのページを開きます。
  3. Aspect ratioを3:4、Resolutionを2k、Output formatをPNGに設定して実行します。
  4. 既存のキャラクターには編集ページを使い、採用済みのポートレートをImagesに追加します。

料金は1画像$0.029です。ネガティブプロンプトの欄はないため、除外したい内容はプロンプト内に書きます。編集も同じ料金で、参照画像は最大10枚まで使えます。

編集用には、先頭に次の文を追加します。“Use the adult man in the first reference for Daniel's facial identity and hairstyle; replace the source composition with the mirror selfie described below.” 続けて以下を貼り付けます。

The photograph captured by a fictional 35-year-old man's phone during a mirror selfie in a quiet dressing room. Daniel appears through his reflection in one flat wall mirror with a narrow dark frame. He wears a buttoned black shirt and tailored trousers. He holds one plain phone at upper-chest height, slightly beside his face, with the rear camera lenses facing the mirror and the screen facing him. His reflected face remains fully visible. One hand grips the phone naturally; his free arm rests at his side. Waist-up portrait, one simple wall lamp, plain background, relaxed adult expression. No second mirror, no separate photographer, no duplicated person and no lettering.

高い視点にしたい場合は、スマートフォンを顔の横に保ったまま上げます。視点はスマートフォンの位置で決まるため、“eye-level camera”は指定しません。

コードから呼び出す場合

Playgroundの手順と同じリクエストをCLIから実行します(npx @spicyapi/cliはインストール不要です)。Python SDKやその他の項目は画像生成ガイドで説明しています。

bash
spicyapi tasks create --model bytedance/seedream-5.0-flash/text-to-image \
  --input-json '{"prompt":"<paste the prompt above>","aspect_ratio":"3:4","resolution":"2k","output_format":"png"}' --wait

Agentに実行を任せることもできます。 アシスタントは上記のCLI、MCPサーバー(ポートレートにはspicyapi_upload_file、続いて料金確認のために停止するspicyapi_task_create)、または現在のスキーマを学べるSkill(npx skills add spicyapi-ai/spicy-skill)から呼び出せます。

再利用できるプロンプトの組み立て方

鏡像の成立に必要な条件から順に文を並べます。

  1. 撮影と鏡: “The photograph captured by <character>'s phone during a mirror selfie in one flat wall mirror”。鏡の種類と数を指定します。
  2. 人物: 年齢、服装、表情。
  3. スマートフォンと手: どちらの手で、どの高さに持ち、どちらの面を鏡に向け、顔が見えるか。
  4. シーン: 光源は1つ、背景はシンプルにします。
  5. 除外条件は最後: “no second mirror, no separate photographer, no duplicated person, no lettering.”

持つ手を指定し、直接見える姿と鏡像でスマートフォンが画面の同じ側にあるようにします。“his right hand holds the phone, which appears on the right of the frame”と書きます。鏡像を別の左利きの人物として説明しないでください。

光源は1つにします。鏡に映った文字は反転するため、文字を除外するか、“any sign appears mirror-reversed”と書きます。

3. スマートフォンの面と持ち方を確認する

背面カメラを使う一般的な鏡セルフィーでは、鏡像にスマートフォンの背面とレンズが見えます。画面はDanielに向きます。画面が鏡に向いていると、この撮影方法と矛盾します。

Danielの背面レンズが鏡に向く正しい状態と、意図した撮影方法に対して画面が鏡に向く誤った状態を比較しています。

説明図:鏡像に画面が見えるスマートフォンは、背面カメラでのセルフィーと矛盾します。

この修正とセクション3、5、6の他の修正には、Flashの編集ページを開き、採用したセルフィーをImagesに追加します。Aspect ratioは3:4のまま、修正内容をPromptに貼り付けます。スマートフォンの向きが逆なら、次を使います。

Correct the phone orientation for a rear-camera mirror selfie: the phone's back and camera lenses face the mirror and are visible in its reflection; its screen faces Daniel. Keep one phone at the same height beside his face. Adjust the gripping hand as needed for that orientation. Retain his face, black shirt, mirror frame and room.

この編集では持ち方も直します。カメラ部分だけを修正しても、手が以前の向きのまま持っていれば問題は残ります。

スマートフォンが2台ある場合は、どちらを残すか指定します。“Keep the phone held at upper-chest height; remove the extra floating phone beside his shoulder and restore the background there.” 両方が腕と絡み合っているなら、最初のシンプルなプロンプトに戻ります。1台を消しても、つじつまの合わない2本の前腕は直せません。

スマートフォンが顔を隠している場合は、顔の細部を増やすのではなく位置を修正します。

Move Daniel's phone slightly outward beside his cheek and below his eyes so his entire reflected face is visible. Preserve a natural bent elbow and continuous forearm leading to the grip. Keep one phone, the rear-camera orientation, outfit and room.

片方の図ではDanielの顔の前にスマートフォンがあり、もう片方では顔が見えるよう横にあります。

説明図:スマートフォンを外側に移すと、機器の後ろの細部を作り足さずに顔が見えます。

4. 領域を指定できるエディターで手を直す

Flashの編集にはマスク欄がありません。持ち方だけを局所的に修正するには、Qwen Image 2.1 editを開き、Playgroundタブを使います。

  1. 整合性のあるセルフィーを、唯一の元画像としてImagesに追加します。マスクモードで使える画像はちょうど1枚なので、Danielのポートレートは追加しません。
  2. Advanced parametersで同じサイズのMaskを追加します。誤った持ち方と隣接するスマートフォンの縁は白(描き直す)、残りは黒(保持)にします。マスクを使う場合、プロンプト拡張は無視されます。
  3. 2Kの元画像に合わせてResolutionを2k(1画像$0.048、1kで生成した場合のみ1kで$0.036)、Output formatをPNGに設定します。アスペクト比は元画像に従います。
  4. 次の修正プロンプトをPromptに貼り付けて実行します。

Repair the masked hand-phone connection. One natural hand grips one phone, with fingers wrapping around its edge and the wrist continuing into the existing black sleeve. Keep the phone's rear lenses facing the mirror. Retain Daniel's face, shirt, body pose, mirror boundary and lighting.

関係がおかしい部分をマスクします。手首が欠けている場合は、手首から袖へのつながりを含めます。指先が重複しているだけなら、より狭い範囲で済むこともあります。マスク外のピクセルも変化する可能性があるため、修正後はDanielの顔とスマートフォンの位置を元画像と比べてください。

腕全体が別の肩から伸びていたり、鏡像が違うポーズだったりする場合は、シンプルなプロンプトで再生成します。これは構造の問題で、持ち方の修正ではありません。スマートフォンのロゴの小さな乱れなら、通常のレタッチのほうが採用済み画像を多く残せます。

5. 鏡の境界で奥行きの間違いを見つける

鏡の手前にある実物は、鏡枠や鏡像を隠せます。鏡に映る物体は鏡の視野内に収まります。花瓶の輪郭に沿ってこの役割が入れ替わる場合、「リアルな反射」だけでは修正指示が曖昧すぎます。

Danielの横で手前の花瓶が鏡枠を隠す状態と、説明用に鏡枠の線が花瓶を横切る状態を比較しています。

説明図:手前の花瓶は鏡枠を隠すはずです。枠の線が花瓶を横切っている部分が誤りです。

意図した構図に合う修正を選びます。

  • 不要な手前の物体を取り除く: “Remove the vase and its reflection; continue the existing plain wall, mirror edge and empty counter coherently.”
  • 手前の花瓶を残す: “The vase stands on the counter in front of the mirror. Its silhouette covers the mirror frame behind it; do not draw the frame across the vase.”

鏡にしか見えないランプは間違いではなく、ハイライトの明るさが違うのも自然です。直すのは交差や位置の誤りであり、非対称そのものではありません。

6. 画角を広げる前に余分な反射を減らす

鏡張りのワードローブや光沢のあるボトルは、最初のリクエストに不要な視点を追加します。Danielが重複した場合は、その原因を明示的に取り除きます。

Keep a single flat wall mirror. Replace the mirrored wardrobe and reflective bottles with a plain matte wall and an empty counter. Show Daniel once through the main mirror, holding one phone in the existing pose.

余分な鏡像と反射するボトルがある部屋のDanielと、主となる鏡を1枚にした状態を比較しています。

説明図:主となる鏡を1枚にすると、シーンを混乱させる副次的な視点がなくなります。

服装全体を見せる場合は、採用済みセルフィーを編集元にして、“a zoomed-out full-length reflected view with Daniel's trousers, both shoes and their floor contact visible.”と指定します。3:4を維持するか、2:3を使います。腰から上の画像をリサイズしても足は現れません。引きの構図を指定すると脚や床が新しく生成されるため、確認してください。

外部カメラによる横からのポートレートにする場合は、視点の指示を丸ごと置き換えます。

A separate camera photographs fictional adult Daniel standing beside one flat wall mirror. The camera sees his direct three-quarter back and his face in the mirror from a compatible side angle. His arms hang at his sides in both views. Buttoned black shirt, tailored trousers, simple dressing room, no phone.

修正か再生成か:すぐに判断する

見えている問題対処ツール
スマートフォンの画面が鏡を向く向きと持ち方を編集(セクション3)Flashの編集
スマートフォンが2台、または宙に浮く残すほうを指定し、もう一方を消すFlashの編集
スマートフォンが顔を隠す目より下で外側に移すFlashの編集
手や手首だけが間違っているマスクで持ち方を修正Qwenのマスク編集
鏡の中の腕が別のポーズシンプルなプロンプトで再生成Flashのテキストから画像
Danielの重複、または2枚目の鏡余分な鏡と反射する小物を除去し、再生成Flashのテキストから画像
花瓶やランプが鏡枠を横切る遮蔽関係を指定(セクション5)Flashの編集

投稿前に、見る人が最初に気づく点を確認します。鏡像のポーズが実物と一致し、照明が部屋と合い、同じ服や小物が画面内で繰り返されず、スマートフォンを持つ手に手首が見えていることです。

料金

Flashで最初の構図を生成し、スマートフォンの位置を1回編集すると、合計$0.058です。Qwenのマスク修正は別リクエストで、1kなら$0.036、2kなら$0.048です。再試行も画像ごとに課金されるため、修正に費用をかける前に、最初のプロンプトで視点を決めましょう。目標は一息で説明できるシーンです。カメラ1台、スマートフォン1台、鏡1枚、そして鏡に映る細部が一致する人物1人です。

他の言語 English · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano · Polski

実際に試してみる

支払いは実行した分だけ。プランもサブスクリプションもありません。

使用モデル:MiniMax H3 · ByteDance Seedance 2.0 Fast