← Back to スタジオ真榊

Pixiv Fanbox

3Dカメラ設定で簡単アングル変更 QwenImageEdit2511最新ワークフロー【VRAM16GB~向け】

Published 01/10/2026, 01:23:15 PM · Edited 01/19/2026, 10:44:26 PM

3Dカメラ設定で簡単アングル変更 QwenImageEdit2511最新ワークフロー【VRAM16GB~向け】

【更新】2026/1/10 17:00:<NSFW版2511を使うとどうなる?>を追記しました。

【更新】2026/1/11 00:00:配布ワークフローを「V2」とし、キャンバスサイズを指定できるようにしました。「アングル変更実験」の章を追記しました(目次参照)

【更新】2026/1/12 16:00:配布ワークフローを「V3」とし、GGUF版に関する記述を追記しました。(目次参照)

<記事内容の要約>

 ・「QwenImageEdit2511」を使った最新のアングル変更技術の紹介記事

 ・ローカル導入方法を分かりやすく解説。ワークフロー配布あり

 ・ただし、ローカルで動かすにはVRAM16GB~が前提。(VRAM12GBでもGGUF版でアングル変更はできなくもない?)

 ・NSFW画像もアングル変更可能。純正2511は性的知識がないので入力画像にない部分を補うことはできないが、NSFWモデルを使うと改善する



こんばんは、スタジオ真榊です。今回は、ローカルで動く画像編集モデル「Qwen Image Edit2511」を使った、最新のカメラアングル変更ワークフローの特集です。例えばこのように、「3Dスライダー」を動かしてカメラアングルや被写体との距離を調整するだけで、入力画像を「別アングル」から見た様子を推論することができます。

今回の特集では、まずhugging faceのデモを使ったアングル変更検証から入り、ローカル環境にQwen Image Edit2511と必要なLoRA、カスタムノードなどを導入して、デモと同様のアングル変更ができるところまでを分かりやすく解説しています。ローカル環境ではどれくらいの性能か、NSFW画像のアングル変更はできるかなどもチェックしました。(記事末尾にR-18画像が複数掲載されていますので、閲覧時はご注意ください)


こちらがローカル環境でのアングル変更の様子。左に入力した画像から、背後のショットを推論しています。

ローカル環境ではComfyUIを使ったワークフロー構築が必要ですが、こちらの改造済みワークフローを配布しますので、ノードをいじった経験がない人もご安心を。なお、ローカル生成のVRAM負担はかなり重めですので、VRAM16GB以上のグラフィックボードがほぼ前提。RTX3060をはじめ、VRAM12GB以下のスペックでは厳しいですが、軽量なGGUF版での生成結果も紹介していますので、それぞれの環境と相談の上でご利用ください。【約1万7000字】



目次

アングル変更の仕組み

3D Camera Controlデモ

ローカル導入方法

  <各種モデルとワークフローを入手>

  ①メインモデル

  ②テキストエンコーダ

  ③VAE

  ④高速化LoRA

  ⑤マルチアングルLoRAとワークフロー

ComfyUIを起動

  <GGUF版を利用する場合>New!

ワークフローの見方

  <生成が失敗してしまう場合は?>

カメラアングル操作ノードを追加する

  「Qwen multiangle camera」ノードのインストール方法

  <改造済みワークフロー配布>

  <ワークフローへのノード追加方法>

  <GGUF版利用時のノード切り替え>New!

アングル変更実験

  <defaults promptsとcamera view機能>

  <キャンバスサイズを指定するには?>

  <fp8版・GGUF版はどれくらいの性能?>New!

プロンプト追記で、見えない範囲を指定可能

NSFW画像のアングル変更はできるか?

  <NSFW版2511を使うとどうなる?>

終わりに



アングル変更の仕組み

まずはこのアングル変更が具体的にどのような仕組みで実現されているかについて、簡単に触れておきます。


この技術は、2025年12月23日に中国Alibabaがリリースした最新の画像編集モデル「Qwen-Image-Edit-2511」に、高性能なカメラアングル変更LoRA「Qwen-Image-Edit-2511-Multiple-Angles-LoRA」を併用することで実現されています。このLoRAはトリガーワード<sks>に加えて、「right side view eye-level shot close-up(=右・水平・接写)」とか「front-right quarter view high-angle shot medium shot(=右斜め前・見下ろし・中距離)」といった規定のアングル説明をテキスト指示することで、その角度から見た画像を推論することができます。



方角は8方位、高さは4段階、遠近は3段階に分けて学習しており、計96種類の画角を指示可能。特に素晴らしいのが、こちらの3Dカメラコントロールノードを使って、画角を視覚的に指示できることです。いちいちテキスト指示をプロンプト欄に打ち込まなくても、方角・高さ・遠近の3つのスライダーを動かすだけでOKです。


2511はそもそも、前バージョンの2509にカメラアングル変更LoRAなどを焼き込むことで「LoRA不要」をうたったモデルだったので、結局また2511用のカメラアングル変更LoRAができてしまったのはちょっと面白いですね。Qwen Image Edit2511について詳しくはこちらの特集で復習していただくとして、さっそくデモで実力を検証していきましょう。


3D Camera Controlデモ

こちらのHuggingFace Spacesから、誰でも無料で3D Camera Controlを使ったアングル変更を試すことができます。(※ZeroGPUによる無料生成には上限があります)


🎬 Qwen Image Edit 2511 — 3D Camera Control

https://huggingface.co/spaces/multimodalart/qwen-image-multiple-angles-3d-camera


非常にシンプルな構造で、左上のinput imageに画像を入れて、3D camera control画面でカメラの方角・高さ・遠近を決めたら、あとは「Generate」を押せば十数秒程度で別角度が推論されます。


左下にこのようなスライダーの操作欄がありますが、結局は最下部で示される「Generated Prompt」でテキスト指示しているだけですので、3Dカメラ画面以外いじる必要はありません。


例えばこのように、こちらのストック画像を入力してカメラ角度を決めると、「<sks> right side view eye-level shot medium shot」というテキスト指示が内部的になされます。


こちらが出力結果。生成画像サイズが小さいため、微妙に低劣ですが、指定した通りの角度にできています。


生成画像のすぐ下に、AdvancedSettings欄があります。高速化LoRAを使っているので、スケールは1、ステップは4がデフォルト。高さと幅は680x1024pxとなっていますが、より大きくすると品質が向上します。ただ、すぐにZeroGPUの上限になるのでご注意ください。(縦横とも64の倍数で指定しないとエラーが出ました)


実写系やアニメ調イラストなどで試しましたが、こちらのようなデフォルメの効いた画像だと、ちょっと平べったいちびミナちゃんになってしまいましたね。あまり学習されていない物体だと、このように上手に推論できないこともあります。また、入力画像に描かれていない部分が増えるほど、不自然な画像になる確率も上がるようです。

とはいえ、直感的な画面操作でアングル変更ができるのは大変すばらしい!手描き作画の参考にしたり、1枚しかない漫画背景の別角度を作ったり、キャラクターLoRAの学習データセットにしたりと、さまざまな活用ができそうです。


デモでは生成回数に制限があるので、さっそくローカル環境で試してみましょう。冒頭でも触れましたが、Qwen Image Edit2511のbf16版(40.9 GB)を使用するため、VRAM負荷が非常に大きいです。VRAM16GBのRTX4080環境でギリギリ(880x1184pxの生成に30秒ほど)でしたので、留意した上でお試しください。なお、スペック不足の場合は20.5GBのfp8版でも代用できます。


更に軽量化したGGUF版2511はこちらからDLできます。VRAM12GB以下の場合はこちらを利用できますが、品質は低下します。bf16版との精度の差については「fp8版・GGUF版はどれくらいの性能?」をご覧ください。



ローカル導入方法

Qwen Image Edit2511をローカル環境で動かすためには、まずStabilityMatrixかスタンドアローンで動くポータブル版で最新のComfyUIとComfyUI Managerを導入し、ワークフローを動かすのに必要なモデルとカスタムノードを取りそろえる必要があります。環境整備がこれからの方は、こちらの記事にまとめましたので、こちらを先にお読みください。


<各種モデルとワークフローを入手>

最新のComfyUI環境が導入できたら、Qwen Image Edit2511とアングル変更ワークフローを動かすのに必要なこれらのモデルをダウンロードします。


・メインモデル:qwen_image_edit_2511_bf16.safetensors

・テキストエンコーダ:qwen_2.5_vl_7b_fp8_scaled.safetensors

・VAE:qwen_image_vae.safetensors

・高速化LoRA:Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors

・マルチアングルLoRA:qwen-image-edit-2511-multiple-angles-lora.safetensors(※ワークフローもここから入手)


保存先は必ず以下の指定フォルダにすること。ファイル名の変更はしないようにしましょう。


①メインモデル

まずは一番重くて時間が掛かるメインモデルのDLから。こちらから、40.9GBある「qwen_image_edit_2511_bf16.safetensors」を「ComfyUI\models\diffusion_models」にダウンロードします。VRAM容量不足の場合は20.5GBの「qwen_image_edit_2511_fp8mixed.safetensors」で代用できます。


fp8版でも厳しい場合は、こちらのGGUF版を使うこともできます。(ワークフローを一部自分で入れ替える必要があります)



②テキストエンコーダ

ユーザーのテキスト指示をQwenモデルが理解できる形にしてくれるAI翻訳機。下記リンク先の「download↓」から、「qwen_2.5_vl_7b_fp8_scaled.safetensors」をDLしてください。保存先は「ComfyUI\models\text_encoders」。


③VAE

下記リンク先の「download↓」から、「qwen_image_vae.safetensors」を「models/vae」フォルダにDLします。


④高速化LoRA

わずか4ステップで画像生成が終了できるようにしてくれるLoRA。下記リンク先の「download↓」から、「Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors」を「models\loras」フォルダにDLします。


⑤マルチアングルLoRAとワークフロー

今回のキモとなる、マルチアングルLoRAとそれを動かせるワークフロー。下記リンク先の「download↓」から、「comfyui-workflow-multiple-angles.json」を「ComfyUI\user\default\workflows」フォルダに、「qwen-image-edit-2511-multiple-angles-lora.safetensors」を「models\loras」フォルダにDLします。


以上、メインモデル、テキストエンコーダ、VAE、二つのLoRA、ワークフローが各フォルダに揃ったら準備完了です。



ComfyUIを起動

ComfyUIを起動します。画面左側の「ワークフロー」から、先ほどDLした「comfyui-workflow-multiple-angles.json」を開きます。


もしこのようなエラーが出た場合、「models/diffusion_models」フォルダにQwen Image edit 2511のbf16版がないですよという意味です。(別のモデルを使用する場合は無視して構いません)

ここでは、間違えて「models/checkpoints」内にbf16版を保存していたため、「diffusion_models」フォルダに移動して再読み込みすると、無事エラーが消えました。


こちらのように、それぞれの要求されるフォルダに各モデルが揃っていればOKです。該当フォルダに同名のモデルが配置されていなかった場合、生成ボタンを押すと上図のような「モデルが見つかりません」エラーが出ますので、もう一度確認しましょう。



<GGUF版を利用する場合>

「拡散モデルを読み込む」ノードではGGUFモデルを読み込むことができないので、まずカスタムノードを入手する必要があります。(※あとで改造済みのワークフローを配布しますので、ここで無理して改造しなくてもOKです)


やってみたい方向けにやり方を説明しますと、ComfyUI Managerを開いて、「Custom node Manager」をクリック。「GGUF」と検索窓に入れると「ComfyUI-GGUF」が見つかりますので、こちらをインストールしてください。

(▲こちらはインストール済みの画面。未インストールなら「Install」ボタンが表示されます)


再起動してインストールできたら、「ノードライブラリ」から「Unet Loader(GGUF)」を読み込みます。こちらのローダーでGGUFモデルを読み込むことができます。


このように、「拡散モデルを読み込む」ノードの代わりに、「LoRAローダーモデルのみ」ノードの左側とつなげばOK。これでこちらからDLしたGGUF版を使ってアングル変更を試すことができます。




ワークフローの見方

ワークフロー「comfyui-workflow-multiple-angles.json」の全体像はこのような感じ。この段階では、さきほどのデモにあったような3Dカメラ操作のノードがありませんので、テキスト手打ちで画角を指示する必要があります。


一番左のノードで画像を読み込みます。入力したのがどんなに大きいサイズでも、適正サイズまで自動縮小されて読み込まれます。出力画像のアスペクト比は入力画像を踏襲しますので、縦長の画像を入力して横長に生成することは(このワークフローでは)できません。

すぐ隣にあるのは、アングル変更用のプロンプト一覧。ちょっと読みにくいですが、冒頭にLoRAのトリガータグである<sks>を入れて、あとはアングルについて方角・高さ・遠近の96パターンを組み合わせるだけです。例えば「<sks> front view low-angle shot close-up」なら、「正面・ローアングル・接写」となります。


プロンプト一覧の中から、今から生成したいカメラアングルを探して、Prompt欄の緑のノードにコピペするだけです。ちゃんと<sks>からコピペするのを忘れないようにしましょう。下図のように入力すると、「右背後からの見下ろしショット、カメラ距離遠め」ということになります。


こちらはステップやCFGスケールなどの設定ですので、基本的にこのままでOKですが、ステップ数を増やすと精度が少し上がる一方、生成時間もその分伸びます。Seed値はデフォルトで「randomize」(毎回ランダム変更)になっています。サンプラーとスケジューラは好みで変更可。私はEuler Ansestialとbetaを選んでいます。


準備ができたらさっそく生成開始してみましょう。こちらがテスト結果です(いずれも左側が入力画像で、右側が生成結果)


・右後方から見下ろし・遠距離

出力プロンプト:<sks> back-right quarter view high-angle shot wide shot


・右後方から見下ろし・中距離

出力プロンプト:<sks> back-right quarter view high-angle shot middle shot


・右側から見上げ・中距離

出力プロンプト:<sks> right side view low-angle shot medium shot


・正面・直上から見下ろし・中距離

出力プロンプト:<sks> front view, top-down view, medium shot



・背後からやや見下ろし・中距離

出力プロンプト:<sks> back view elevated shot close-up


背後からのショットではヘッドフォンが失敗してしまいましたが、おおむね問題なく生成できました。入力画像で見えない部分は、テキストエンコーダが入力画像の内容を読み取って、おそらくこんな感じだろうと推論してくれています。正面からのショットでミナちゃんがセーラー服を着ていることを読み取り、バックショットでもセーラー襟をちゃんと生成できていますね。


大変重いbf16版のモデルロードに時間を要するため、初回の生成は約2分かかりましたが、次からは1枚につき30~40秒ほどで生成できるようになりました。かなり重いモデルですが、生成時間は実用的に感じます。



<生成が失敗してしまう場合は?>

画像生成がうまく動かず、このように一部のノードが赤く表示されたら、そのノードで読み込むべきモデルが当該フォルダに存在しないのが原因です。ComfyUI\modelsフォルダ内に各ノードに指定されているファイル名でそれらのモデルがちゃんとあるかを再度確認しましょう。

その他のエラーが出る場合は、必要なカスタムノードが足りていなかったり、ComfyUIのバージョンが古かったりするのかもしれません。読み込ませたjsonファイルを普段お使いのLLMに放り込んで、スクリーンショットを貼り付けて「こういうエラーが出るけどどうしたらいい?」と聞くのが手っ取り早いかと思います。



カメラアングル操作ノードを追加する

さて、カメラアングルの文字列をいちいちコピペするのは少し面倒なので、さきほどのデモのように、ローカルでも視覚的なスライダーを使えるようにしましょう。こちらのノードを追加して、さきほどのワークフローに入れてみます。


インストールすると、このようなカスタムノード「Qwen multiangle camera」を呼び出せるようになり、画角のプロンプトをいちいち手打ちしなくて済むようになります。




「Qwen multiangle camera」ノードのインストール方法

<※「Git」をインストール済みである前提です。まだの方は「ComfyUIが理解らない!知識ナシで使い倒せる完全入門ガイド」を参考に導入しましょう>


①もしComfyUIが起動していたらいったん完全に終了させ、「ComfyUI/custom_nodes」フォルダ内の何もないところで右クリックして、「ターミナルで開く」。(またはPowerShellで開く、など)

②「PS G:\Data\Packages\ComfyUI\custom_nodes>」という文字列が表示されているのを確認したら、それに続けて「git clone https://github.com/jtydhr88/ComfyUI-qwenmultiangle.git」と打ち込み、ENTER。すると、custom nodesフォルダに必要ファイルがインストールされます。


③このように再び「PS G:\Data\Packages\ComfyUI\custom_nodes>」が表示されたら、画面を閉じて、ComfyUIを起動します。


※今後、このカスタムノードをアップデートしたい場合は、インストール時と同じように「ComfyUI/custom_nodes」フォルダで「ターミナルで開く」を選択。「PS G:\Data\Packages\ComfyUI\custom_nodes>」という文字列に続けて「git pull」と入力すればOKです。



<改造済みワークフロー配布>

ここからは、いまインストールしたQwen multiangle cameraノードを先ほどのワークフローに追加する手順を説明していますが、こちらで完成したワークフローを用意してあります。解凍して出てきたjsonファイルを「ComfyUI\user\default\workflows」フォルダに読み込んでください。こちらを使う場合も、あらかじめ上記ノードと必要モデル(bf16版のメインモデル、マルチアングルLoRA、高速化LoRA、テキストエンコーダ、VAE)は自分でそろえる必要があります。

【2026/1/10:キャンバスサイズを指定できる「V2」にしました。方法はワークフロー内の黄色い「説明書」ノードをご覧ください】

【2026/1/12:GGUF版も利用できる「V3」にしました。ノード切り替えの方法はワークフロー左上の黄色い「説明書」ノードをご覧ください】



このワークフローを読み込んだ際に足りないノードが検知された場合、ComfyUI-Managerを開いて「Install Missing Custom Nodes」をクリックします。


さきほどMissing(存在しない)とされたノードが一覧表示されたら、表示されたリストをすべて「Install」ボタンからインストールします。もしバージョンを問われたら、基本的にlatest(最新)を選べばOK。

このように全て「Restart Required(要・再起動)」となったら準備はOK。左下の赤いRestartボタンでComfyUIを再起動します。本当に再起動していいか聞かれるので、「確認」をクリック。「Reconnecting」と赤字が出て、いったん接続が切れます。

ブラウザ画面上は変化ありませんが、黒いコマンドプロンプト画面(もしくはStabilityMatrix画面)で再起動作業が始まります。この間に必要なファイルがインストールされますので、しばらく放っておきます。


少し経つといったん接続が切れていたのが「再接続されました」と右上に表示され、「To apply the changes to the node pack's installation status, you need to refresh the browser. Would you like to refresh?(新しいノードを適用するにはブラウザを更新する必要があります。更新しますか?)」というメッセージが出るので、「確認」をクリック。

これで、不足ノードが補われ、ワークフローを読み込めるようになるはずです。




<ワークフローへのノード追加方法>

ここでは、自分でワークフローを改造して、カメラ操作ノードを追加したい人向けに手順を説明します。この記事で配布したワークフローでよい方は読み飛ばしてください。


まず、さきほどの「comfyui-workflow-multiple-angles.json」ワークフローを開いたら、いまインストールした「Qwen Multiangle Camera」ノードを追加します。このノードは、「画像▶multiangle▶Qwen Multiangle Camera」で見つけることができますので、ノード欄から「multiangle」などと打ち込んで呼び出しましょう。


このように、どこにもつながっていない浮島状態でノードがワークフロー画面上に追加されますので、見やすい位置にドラッグして移動します。プロンプト欄の上あたりがよさそう。



Qwen Multiangle Cameraノードのすぐ右横に、「String Function」ノードを追加します。これは、LoRAトリガーワード<sks>を追加するためのもの。同じくノードライブラリで検索しましょう。(検索で出てこなかったら、ComfyUIマネージャーを使ってComfyUI-Logicエクステンションのインストールが必要です)


String Functionノードの「text A」とあるところに<sks>と入力しておきます。actionは「append(追加)」になっていることを確認します。


これでノード追加は終了で、あとは接続だけです。下のほうにある「FluxKontextImageScale」右側の青いピンから、「Qwen Multiangle Camera」ノード左側のimageピンにラインをつなげます。


次に、「Qwen Multiangle Camera」ノード右側のpromptノードから、String Functionノードの「text B」のところにラインをつなぎます。出口となる右側の「文字列」からは、「TextEncodeQwenImageEditPlus(Positive)」ノードのプロンプト欄(下図の緑色の●)につなげます。ラインをつなぐ前に、あらかじめプロンプト欄は空欄にしておきましょう。(つないだラインを外したい場合は、接続部分を右クリックして"Disconnect")


これでワークフローの改造は完了です。お疲れさまでした!



<GGUF版利用時のノード切り替え>

さきほどのワークフローでもそうだったように、軽量な「qwen-image-edit-2511-Q4_K_M.gguf」などのGGUF版を使うには専用のカスタムノードに切り替える必要があります。


デフォルトでは「拡散モデルを読み込む」ノードと「LoRAローダーモデルのみ」ノードが繋がっていますが、「拡散モデルを読み込む」の代わりにUnet Loader(GGUF)ノードと繋げることで、GGUFモデルでの生成が可能になります。こちらのスクリーンショットを参考に、ラインを切り替えてみてください。




アングル変更実験

3Dカメラノードを使って、さっそくアングル変更実験を行ってみます。画面左側にアングル変更したい画像を入力し、「Qwen multiangle camera」ノードで先ほどのデモと同様に角度を決定します。


<defaults promptsとcamera view機能>

「default prompts」は書式をMultiple-Angles-LoRAに合わせたQwen式にする機能ですので、基本「true(オン)」にして運用します。とはいえ、そこまで大きく生成結果は変わりません。

例えば、default promptsをfalse(=オフ)にすると、「front-right quater view」が「front-right view」に、「high-angle shot」が「top-down view」のように、マルチアグルカメラLoRAが学習したのと違うプロンプトが出力されます。(アップデートで実装された機能なので、これ以降、Qwen式でない指示での検証例やスクリーンショットも多く掲載されています)


「Camera view」をtrueにすると、いま設定しているカメラ位置から入力画像を見るとどのように見えるかを画面上で確認することもできます。(一度画像生成していないとカメラノード上に画像が表示されないので注意)


1/11付けアップデートで、スライダーではなく日本語プルダウンメニューから水平・垂直・距離の組み合わせを選べる機能も追加されました。表示されていない人は「git pull」すると実装されるはずです。


あとは普通に画像生成を始めるだけ。生成開始前に、緑色のプロンプト欄は空欄になっていることをもう一度確認してください。



今回はこのように、「正面・ローアングル・ミディアムワイド」の設定としました。


こちらが生成結果です。


並べてみます。上が入力画像で、下がアングル変更後の画像です。

机や天井、本棚などのパースにはウソ感がありますが、それぞれの位置関係はおおむね正しいですね。ここまで複雑な構図を30秒でなんとかまとめるのはすごい。あとは2511本体の精度が上がっていけば、普通に実用できるレベルになりそうです。



今度は画角指示を変えて、「front-right view, high angle, medium-wide shot」だとこうなりました。上が入力画像、下が出力結果です。

ややワイドショットめの指示なので、元の画像にない部分(主に左側のスペース)が追加されています。


<キャンバスサイズを指定するには?>

配布したワークフローでは、「VAEエンコード」の「潜在」と「Kサンプラー」の「潜在画像」が繋がっている状態だと、入力画像に近いアスペクト比かつ、適切に縮小したサイズで出力されます。(下図参照)


黄色い「説明書」に書いた通り、「VAEエンコード」ノードのかわりにこちらの「キャンバスサイズ指定」ノードと「Kサンプラー」を繋ぐと、自分でキャンバスサイズが指定できるようになります。「バッチサイズ」を2にすると、1回の指示で2枚同時に違うSeed値の別アングル画像を生成できます。


例えばこのように、縦長の画像を入力して、幅1024px、高さ1408pxを指定すると、横長のアングル変更画像を生成できます。カメラ指定を「close up」にすると、入力画像にない部分が狭くなるので、比較的失敗しにくい印象です。

入力画像とアスペクト比が大きく変わると、アングル変更にも不具合が生じる可能性が高まります。1024pxよりあまりに大きすぎるサイズを指定しても、おかしな生成結果が出力される恐れがありますのでご注意ください。



<fp8版・GGUF版はどれくらいの性能?>

ちなみに、fp8版やGGUF版でもアングル変更自体は可能です。


・fp8版

こちらの2枚はbf16版ではなく、fp8版でアングル変更した生成画像です。fp8版にすることでモデルロードの時間は半分程度になりますが、生成時間はほとんど変わらず、35秒前後でした。アングル変更の品質はそこまでガタ落ちするわけではないようですので、マシンスペックに合わせて選択すればよいかと思います。


・GGUF版(Q4_K_M)

一方、こちらはGGUF版(qwen-image-edit-2511-Q4_K_M.gguf)で生成したものです。壁に張られた文字がおかしくなっているのが一番目立ちますが、ほかにもあれこれと品質の低下がみられます。


こちらも同じQIE2511のQ4_K_M.ggufで生成したもの。比較的推論が簡単な入力画像だったためか、口の変化以外はさほど目立ちませんね。


こちらは左が入力で右が出力。実写系は推論が得意なのか、問題なく出来ているように見えます。



・GGUF版(Q3_K_M)

さらに軽量な「Q3_K_M.gguf」だとこのような感じ。あまりQ4_K_Mと体感の差はありませんでした。


左が入力で右が出力。さきほどのQ4_K_Mと同じ設定で生成しています。見比べると、首の角度などがやや甘いようにも見えますね。



モデルをbf16版に戻して、ほかにもいくつかテストしてみます。指定はすべてこちらの「右後ろ・見下ろし・やや接写」の設定です(default promptsはfalse)。背後からのショットだと、入力画像に描かれていない部分の推論が必要になるので、比較的難しい生成です。



年賀はがき。キャラ部分のアングル変更はかなり上手ですが、こうした立体感のない概念的な構図だと、正解がないのでどうしようもないようです。


おなじみの陸橋。これは難しかったようですね。写真スタイルのアングル変更は得意そうに思いましたが、日本の風景に対する世界知が足りないように見えます。これはLoRAよりQIE2511本体の問題ですね。


マスピ顔金髪ちゃん。手が頭部に隠れるところが逆にすごい。解析結果に「手を振っている」が入っていると、つい右手を描きそうなものですが…。(ただ、奥側の家具はめちゃくちゃですね)



勉強ミナちゃん。これはかなりすごいですね。机の上にあるものをかなり自然かつ正確にアングル変更できています。パソコンの奥に何があるかは全く手掛かりがないので想像できず、そういうときはとりあえず他の部分の続きを描いたり、このようにスペースにしてしまったりするようです。


無機物のアングル変更。少し歪んでいますが、なかなか正確です。


ガラス張り付きミナちゃん。これは難しかったようで、手は大失敗してしまいました。QIE2511は手のひらと手の甲の区別が苦手なようです。


海辺のミナちゃん。構図自体はとても良いのですが、こちらも手の裏表が変わる指示をうまく処理できませんでした。


このように、手の裏表が変わらない角度なら、かなり高品質に仕上げられました。アングル変更にはかなり得意・不得意なシチュエーションがあるようです。


以上、どの画像も生成時間はおおむね30~40秒程度でした。VRAMは共有GPUメモリまでほとんどいっぱいいっぱいに使い切っています。




プロンプト追記で、見えない範囲を指定可能

ちなみに、「String Function」ノードの「Text C」欄に、アングル指示以外のプロンプトを追記することもできます。例えば下図のように、「天井の色は赤」と入力してみました。入力されるプロンプトは「Text A,Text B,TextC」の順になりますので、このように「<sks>, front-right quarter view low-angle shot close-up, 天井の色は赤」となります。


こちらが生成結果。入力画像になかった天井部分の色を指定することができました。


ただ、追加指示はmultiangle camera loraにあまりよくない影響を与えるようです。天井の色を指示した場合、しなかった場合と比べて天井が占める面積が広くなってしまう現象を確認しました。

プロンプト指示に引っ張られて、「天井をしっかり描かなくては」と強く印象付けられてしまうのかもしれません。また、色指定程度ならまだしも、創造的な内容を記述すると通常のQwenImageEdit2511による画像編集が勝ってしまい、アングル変更の精度が大きく下がります。Text C欄はおまけ程度に考えておいて、基本は空欄で運用するのがよいと思われます。



<2026/01/14追記>その後の検証で、このTextC欄を使ってアングルを指示しつつイラスト内容を変更できることが分かりました。詳細はこちらの記事を参照ください。




NSFW画像のアングル変更はできるか?

さて、ローカル生成といえば気になるのが、NSFW画像でもアングル変更ができるかということですよね。ここからはNSFW画像を使った検証も行ってみました。



<注意:これ以降、例によって性器や性行為を含む成人向け画像が複数枚掲載されます。閲覧時は周囲にご配慮ください>




最初の1枚はこちら。FANBOX規約に基づきモザイク処理をしていますが、実際は入力・出力ともに無修正です。


・「右サイドから見下ろし、やや接写」

プロンプト指示:right side view, top-down view, medium close-up

入力画像のアスペクト比を踏襲する設定にしていたため、「右から・真上から」の指定に従い、このように90度角度変更して見切れてしまいました。男性の腹や脚部はおかしくなりましたが(布団と解釈された模様)、結合部はわりと正確に推論できていました。


・「正面右・水平・やや接写」

プロンプト指示:front-right view, eye level, medium close-up

比較的きれいにできましたが、アングル変更後もカメラ目線が維持されてしまい、顔立ちもやや変化しました。視線のミスは頻繁ではありませんが、たまに起きるイメージです。



今度はこちらの横長の画像を使ってみます。(誰の趣味なのでしょうか?)


・「右側・見上げ・中距離」

プロンプト指示:right side view, low angle, medium shot

この女性はカメラ(スマートフォン)で自撮りをしている、というシチュエーションの理解ができなかったようで、このような画像になりました。位置関係はかなり上手で、画風の変更もそこまで目立ちません。コンドームを別角度から描けているのはすごいですが、おそらく知識があったわけではなく、入力画像からシンプルに形状を推論できたのでしょう。



・「左後ろ・水平・中距離」

プロンプト指示:back-left view, eye level, medium shot

光の関係はよく理解できているようですが、入力画像に見切れているティッシュ箱は理解できなかった模様。足指も破綻しています。他の検証でもそうでしたが、Qwen Image Edit2511はいわゆる「マンガパース」の理解が浅いようで、極端にパースが効いた画像を大きくアングル変更しようとすると、「手が長い人」と解釈してしまうようでした。




最後の入力画像はこちらです。これはもともとpovで見下ろしの画角ですので、これを女性キャラの真横・背後から水平に描くことができるかを確かめます。そもそも、この画像が誰と何をしている、どんな画角の画像なのか理解できるでしょうか。


・右・水平・中距離

プロンプト指示:right side view, eye level, medium shot

残念ながらこうなりました。「この女の子が何してるのかは理解できなかったけど、とりあえず映っているものを物理的に推論するとこうなったよ」という結果になっていますね。


・背後・水平・中距離

プロンプト指示:back view, eye level, medium shot

こちらも、描かれている女の子や部屋については理解できたけれど、手前に描かれているもの(男性)が何かは理解できなかったことが分かります。いずれも、2511モデルの世界知にアダルト情報が足りないことが原因ですね。


一応、先ほどの「Text C」欄を使ったプロンプト追記を試してみます。


しかし、むしろプロンプト内容に強く引っ張られてしまい、アングル変更とは関係のない「画像編集」になってしまいました。アングルの左右も逆ですし、NSFW内容のプロンプトも理解できていません。


もう一枚、背後からのショットもこのように説明してみましたが…


結果はこのような感じになりました。「女性の奥に裸の男性がこちらを向いて立っている」と指示したのに、向こうを向いていますし、女の子の下半身のポーズ(座り方)も入力画像とは違っていますね。


男女の性行為の別アングル生成は、現状では厳しい結果となりました。これはQIE2511に性行為に関する知識が抜け落ちているのが原因です。そこで、さまざまな成人向け画像を追加学習したNSFWLoRAを統合したNSFWモデルを代わりに使うとどうなるかも検証してみました。



<NSFW版2511を使うとどうなる?>

こちらは、Phr00t氏がこのところ連日のように更新している、QwenImageEdit2511に高速化LoRAやNSFWLoRAを統合したNSFWモデルです。高速化LoRAなしで4ステップで動作し、純正2511では生成できない成人向け表現がある程度できるようになっています(主に性器の形状等を覚えているようです)

これを配布ワークフローで代わりに読み込んで同じ画像生成を行うとどうなるかテストしました。


「Files and versions」から最新の「v19」を開き、こちらの「Qwen-Rapid-AIO-NSFW-v19.safetensors」を「ComfyUI\models\diffusion_models」へDLします。



これを配布ワークフローで代わりに読み込んで同じ画像生成を行うとどうなるかテストしました。高速化が既にされているモデルですので、高速化LoRAのノードを選択した状態で「Ctrl+B」を押して、このようにバイパス(回避)します。


公式推奨のサンプラー・スケジューラに変更しておきます。「euler_ancestral」と「beta」を選びます。ステップ4~8推奨で、CFGスケールは1のままでOKです。


こちらがさきほどと同じ生成結果です。残念ながら、男性の下半身のみがそこにあるような表現になってしまう(povを横から見た図にならない)のは変わりませんが、さきほどよりは品質向上したように見えます。お見せできませんが、モザイク下もやや自然になっていました。


こちらは別角度。左側が入力画像です。このように、男性の描画範囲がそれほど拡大しなければ、自然に描くことができるような…できないような感じです。そこまで劇的に向上するかと言われると微妙なんですよね。


バックショットもこのような感じで、NSFW版を使うと仁王立ちしている男性が描画されるか?というとそんなことはありませんでした。


<Text C欄を使ったプロンプト追記>

そこで、先ほど赤い天井を出すのに使ってみた、Text C欄を使ったプロンプト追記を併用してみます。このように、プロンプトの末尾にキャラクターが何をしているかを追記しました。


こちらが生成結果です。できるだけモザイク薄目でお伝えしていますが、局部表現などはかなり品質の向上が見込めた一方で、手の位置などが変更されているのが分かります。純粋なアングル変更の品質としては落ちますが、純正2511を使うよりは光明が見えてきた感じがしますね。


主観フェラチオの構図はやや難しすぎるので、こちらの通常の対面座位Hのイラストでも試しました。「女の子が男とセックスしている」というプロンプトを追加しています。


左が入力画像、右が生成結果です。これなら、かなり実用レベルに近い感じがしますね。ただ、男が目をつぶっていると判断されていたり、ベッド上のコンドームが謎の物体になっていたりと、まだまだ完璧とは言えなさそうです。


こちらは別角度。男性の脚やケモノ手袋が入力画像からうまく推論できていませんが、あたらずも遠からず…と言った感じでしょうか。


パースが効いた主観画像や、大きく回り込むようなアングルチェンジは難しいようですが、おおむね純正2511よりも良い結果が得られました。こちらの「Qwen-Image-Edit-Rapid-AIO」はここのところ大変急ピッチで連日アップデートされているモデルですので、更なる機能向上が楽しみですね。



今回検証できたのはここまでですが、より実用的な方法が分かってきたら、また記事としてお伝えしたいと思います。



<20260114追記:アングル変更に伴い変容してしまった顔立ちや手袋のデザインは、こちらの方法を使ってSDXLで修正できることが分かってきました>



終わりに

というわけで、「3Dカメラ設定で簡単アングル変更 QwenImageEdit2511ローカル生成」でした。たいていの画像編集が「それ、NanoBananaでよいですね」「NanoBananaでよいでしょう!」となりがちな昨今、ローカル環境でこの精度を30秒程度で振り回せるのは素晴らしい!NanoBananaでは絶対にできないNSFW用途も需要を満たしつつあり、アイデア次第でさまざまな利活用ができそうです。


QwenシリーズはApache2.0という比較的寛容なライセンスですので、NanoBananaなどと違ってLoRAのデータセットに好きなだけ使えるというところもありがたいですね。キャラLoRA学習に必要な、さまざまな画角を外出中にほっといて作るといったこともできそうです。以前はSeedream4を使って無理やり「同キャラ別カット」を作ったのですが、QwenImageEditが上位互換になってくれそうです。


普段ComfyUIでワークフロー構築に慣れている方は、ランダムプロンプトと組み合わせて一発で複数方向からの画角を連続生成したりすることもできそう。QwenImageEdit2511の画像編集は、特にLoRAの分野で可能性がかなり広いので、NSFW用途の広がりも含めて、これからさらにウォッチしていきたいと思います。


それでは今回はこのへんで。スタジオ真榊でした。



【P.S.】今回の特集が何かの役に立ちましたら、こちらのツイートのRPなどしていただけますと嬉しいです!





Attachments (104)

qR4bj2cCd6Fj4527FJz7RCRw.jpeg

qR4bj2cCd6Fj4527FJz7RCRw.jpeg

BoMZUmHjLjGw92JhE9q5UCrj.jpeg

BoMZUmHjLjGw92JhE9q5UCrj.jpeg

av9b4bZsSe024CJgLJWCzicY.png

av9b4bZsSe024CJgLJWCzicY.png

xIyPw8J6yVGj1vJ0NXKf6wpq.png

xIyPw8J6yVGj1vJ0NXKf6wpq.png

75ZPmb6DugJUUxoMYRDqLbqL.jpeg

75ZPmb6DugJUUxoMYRDqLbqL.jpeg

7r1MLoCqzOseset7OxgWYAef.jpeg

7r1MLoCqzOseset7OxgWYAef.jpeg

Q6niu5wsdMqa7OvL5uccz3W4.png

Q6niu5wsdMqa7OvL5uccz3W4.png

FswoqCYe4X1rdXX66OWUIWzr.png

FswoqCYe4X1rdXX66OWUIWzr.png

Y4KB97aRItBtEHRnQOHEhpzB.png

Y4KB97aRItBtEHRnQOHEhpzB.png

l0DmXWbU6AeyzG12bCmXqILE.png

l0DmXWbU6AeyzG12bCmXqILE.png

gkUA1i8K31cCqzDP2NJfvwpk.png

gkUA1i8K31cCqzDP2NJfvwpk.png

PUZ8YZKSxG6xAhygO1MhtFGw.png

PUZ8YZKSxG6xAhygO1MhtFGw.png

PUxYJzsNnjqX42dw5ByrPzX5.png

PUxYJzsNnjqX42dw5ByrPzX5.png

gJaaJcBRxzuzJZxvkcSWFKgt.png

gJaaJcBRxzuzJZxvkcSWFKgt.png

uTiqIn6L9dcVckXVrvXtgs57.png

uTiqIn6L9dcVckXVrvXtgs57.png

ssB07ISdXg5OA4puNtKjlEq7.png

ssB07ISdXg5OA4puNtKjlEq7.png

ASpofoUXJKOHqVw2yOBNpPNU.png

ASpofoUXJKOHqVw2yOBNpPNU.png

jtLiCniefjqCtULJ3W2WzwML.png

jtLiCniefjqCtULJ3W2WzwML.png

gIhXFhlyFKhzWdIPM6uslTKN.png

gIhXFhlyFKhzWdIPM6uslTKN.png

TimjgvKnvIKnXBJxcZXvznJO.png

TimjgvKnvIKnXBJxcZXvznJO.png

VSQRwINbypBQ0TCHDUdEj750.png

VSQRwINbypBQ0TCHDUdEj750.png

XfTC4lUwGPq1EeXgqPOMXgPp.png

XfTC4lUwGPq1EeXgqPOMXgPp.png

gx58mFcUOyvaiVp4eGHiTRQ7.png

gx58mFcUOyvaiVp4eGHiTRQ7.png

QHVdT7nO6kBN4s5huoPuLqEP.jpeg

QHVdT7nO6kBN4s5huoPuLqEP.jpeg

6F3haShdyN2gophzBryVYApm.jpeg

6F3haShdyN2gophzBryVYApm.jpeg

Y5v6qVU8bUv6x60m1PzashfZ.jpeg

Y5v6qVU8bUv6x60m1PzashfZ.jpeg

vJlEoNEtZy1obGky7JjclcUH.jpeg

vJlEoNEtZy1obGky7JjclcUH.jpeg

GwliFSUu12CQLbzaNd4xt9eQ.jpeg

GwliFSUu12CQLbzaNd4xt9eQ.jpeg

AcvxNWNIfnhBrQjoXreBponO.png

AcvxNWNIfnhBrQjoXreBponO.png

yUk04rncDQ5F2eNLTEXPgjBz.png

yUk04rncDQ5F2eNLTEXPgjBz.png

mPDYYPKsyX3d6srblwmECeog.png

mPDYYPKsyX3d6srblwmECeog.png

6bX1C5JH2AavucTeqxMbZz3w.png

6bX1C5JH2AavucTeqxMbZz3w.png

Qwen2511multiangle-camera(masakaki)v3.zip

Qwen2511multiangle-camera(masakaki)v3.zip

iUUbeQy0YBaco9iHNCMYSyal.png

iUUbeQy0YBaco9iHNCMYSyal.png

WcfRCmXe1LgjM0U13FSk3T9w.png

WcfRCmXe1LgjM0U13FSk3T9w.png

9qPF9p44VDxdqXbKbLswIxBO.png

9qPF9p44VDxdqXbKbLswIxBO.png

gcbfZIRtYWJmVDa5W1Bxjhr8.png

gcbfZIRtYWJmVDa5W1Bxjhr8.png

VaNSV2pgfHFqAMM0LIPheZRB.png

VaNSV2pgfHFqAMM0LIPheZRB.png

GIS3vhDzRm3dDCTqw4We2ACy.png

GIS3vhDzRm3dDCTqw4We2ACy.png

spGBToLTtuDFjENnjl6x19UV.png

spGBToLTtuDFjENnjl6x19UV.png

PvdWmUiZSA2qIAH5ORpO6ZuB.png

PvdWmUiZSA2qIAH5ORpO6ZuB.png

RvmIZRsBiDdTMmgFmJCzusxI.png

RvmIZRsBiDdTMmgFmJCzusxI.png

CtSgWU1j1evWZQjlJVDEtfuW.png

CtSgWU1j1evWZQjlJVDEtfuW.png

OXHjRYDjk644A27Ij5YZa3l4.png

OXHjRYDjk644A27Ij5YZa3l4.png

8J1rSdZas6xCfHQUduxr5h6w.jpeg

8J1rSdZas6xCfHQUduxr5h6w.jpeg

kqjJ33xAPThA1ZNZlnPZfEu5.png

kqjJ33xAPThA1ZNZlnPZfEu5.png

xC1LdbgMfE3L42rkvT6e552j.png

xC1LdbgMfE3L42rkvT6e552j.png

iNrXLq5uJaAwav0tan8R7sfO.png

iNrXLq5uJaAwav0tan8R7sfO.png

iHLZWlqzcaFjbj9rKVrq1qHg.png

iHLZWlqzcaFjbj9rKVrq1qHg.png

fqJMITS5uvXCFt0xlnXGTbiT.png

fqJMITS5uvXCFt0xlnXGTbiT.png

jDA20ciZwaajscrIXGqTbWYM.png

jDA20ciZwaajscrIXGqTbWYM.png

96KU5ILIMpGQJEjcwvF9dGSG.jpeg

96KU5ILIMpGQJEjcwvF9dGSG.jpeg

oraDksqaHp9qKVKlxmwKtSd8.jpeg

oraDksqaHp9qKVKlxmwKtSd8.jpeg

a6n3BLL2l6AVTVkFg9hrOnxw.png

a6n3BLL2l6AVTVkFg9hrOnxw.png

obACkwvUYetMx8ypuvOumqzy.png

obACkwvUYetMx8ypuvOumqzy.png

2seDdmqoPEhx6VcajIfAtDnA.png

2seDdmqoPEhx6VcajIfAtDnA.png

otsOfoxqPfarksboFlhONT3W.png

otsOfoxqPfarksboFlhONT3W.png

JDKaGTDFIEvqJcIdqiDyRiDa.png

JDKaGTDFIEvqJcIdqiDyRiDa.png

oQL8JPi9mPnoWnj0wbHWeAVw.png

oQL8JPi9mPnoWnj0wbHWeAVw.png

K5vVRq3A1tGDc5RQQ9qHbNMD.png

K5vVRq3A1tGDc5RQQ9qHbNMD.png

raEDQXyMdStDBxu8FjpSDjFE.jpeg

raEDQXyMdStDBxu8FjpSDjFE.jpeg

Il3NSYBWP6Cws9BPVXsmEd2q.png

Il3NSYBWP6Cws9BPVXsmEd2q.png

p1ewPOzEeplatO9gcU7IMwbN.png

p1ewPOzEeplatO9gcU7IMwbN.png

U3e4C7AJZBtw7CBCiDL8RJm1.jpeg

U3e4C7AJZBtw7CBCiDL8RJm1.jpeg

nNaNAB78b7Lg5QyIFxq18PB4.png

nNaNAB78b7Lg5QyIFxq18PB4.png

7pKMdmb49HFDgaplp22F2aHQ.jpeg

7pKMdmb49HFDgaplp22F2aHQ.jpeg

j7l27YGyFzz5FqfvSEgu5cGh.jpeg

j7l27YGyFzz5FqfvSEgu5cGh.jpeg

8bJgTkT9t7nznX91Ss8aerD3.jpeg

8bJgTkT9t7nznX91Ss8aerD3.jpeg

5KL5ab86lYmmmDmGLEKZ2K8H.jpeg

5KL5ab86lYmmmDmGLEKZ2K8H.jpeg

OgrrzxVjNmy8W1udZOFk61yQ.jpeg

OgrrzxVjNmy8W1udZOFk61yQ.jpeg

2R16xSc4ruD2ASgRn03zjbhs.jpeg

2R16xSc4ruD2ASgRn03zjbhs.jpeg

mR0YI1UxJXcgd5QhVPaqkRIm.jpeg

mR0YI1UxJXcgd5QhVPaqkRIm.jpeg

eEqzqYZodQcIOaMlqrDjp7NU.png

eEqzqYZodQcIOaMlqrDjp7NU.png

wazRepYvzKRaKue9XKpQdKNb.png

wazRepYvzKRaKue9XKpQdKNb.png

mKbrKYZboqQEJ2MOReDVamNg.png

mKbrKYZboqQEJ2MOReDVamNg.png

zo9Dp9knAQKTpcigh5FGl9Od.png

zo9Dp9knAQKTpcigh5FGl9Od.png

FvrQHFWXsYuIZSqRJd7S3Sbd.png

FvrQHFWXsYuIZSqRJd7S3Sbd.png

1bkwex3Z59Fc9u8VVsrFl8ez.png

1bkwex3Z59Fc9u8VVsrFl8ez.png

rsAf8BZe7vRxtkaTVFqsjcak.png

rsAf8BZe7vRxtkaTVFqsjcak.png

Tkr81DhMDuVIUCZlnhuB4mHT.png

Tkr81DhMDuVIUCZlnhuB4mHT.png

NB0jqMv3797CNwETxTn58JYg.png

NB0jqMv3797CNwETxTn58JYg.png

RMoTOH9yke1G1IQm6jB2FTEi.png

RMoTOH9yke1G1IQm6jB2FTEi.png

NCzJw8CluRv3GSY1zsW0VIxj.png

NCzJw8CluRv3GSY1zsW0VIxj.png

mGefWsGJCZ7CQkqxh21OG1Li.png

mGefWsGJCZ7CQkqxh21OG1Li.png

LsZSLZ8H46CnCqRuC53nCo4b.png

LsZSLZ8H46CnCqRuC53nCo4b.png

YZAkACXzmDmFqMD49UWShz4f.png

YZAkACXzmDmFqMD49UWShz4f.png

7TP0WU4Ej9NtkzmhS09FGpCy.png

7TP0WU4Ej9NtkzmhS09FGpCy.png

Pd23hCyD7Ih3Da5XKYbEDLwW.png

Pd23hCyD7Ih3Da5XKYbEDLwW.png

3NMrtxqkXC8VSfAJ4hWF6p4X.png

3NMrtxqkXC8VSfAJ4hWF6p4X.png

Ubosl0b3UlThV5TsJkzjLXnL.png

Ubosl0b3UlThV5TsJkzjLXnL.png

lR4vpffLY7l9Y8yNLMGJsmsT.png

lR4vpffLY7l9Y8yNLMGJsmsT.png

zEWWV9QrMqLAsaEhUJDP0NJy.png

zEWWV9QrMqLAsaEhUJDP0NJy.png

yg6tPezz0swLGjgqPEDrLdpf.png

yg6tPezz0swLGjgqPEDrLdpf.png

EHykIFd7y56pWdjpTSS2Zz06.png

EHykIFd7y56pWdjpTSS2Zz06.png

7wnyAJFAQ8Pq2ggvIlyT0UYW.png

7wnyAJFAQ8Pq2ggvIlyT0UYW.png

POytBnnhytxH0TASM7QDoQcK.png

POytBnnhytxH0TASM7QDoQcK.png

6l1HMpe14DywG1bAlYA749eH.jpeg

6l1HMpe14DywG1bAlYA749eH.jpeg

X8GIfMvCXUtJOz5YfkHiwksT.png

X8GIfMvCXUtJOz5YfkHiwksT.png

MLiv7dNmOaW1gxe3uOkTk65S.png

MLiv7dNmOaW1gxe3uOkTk65S.png

Ms24VZj5HxJrfwwPJwMeADRJ.png

Ms24VZj5HxJrfwwPJwMeADRJ.png

vumV1ew75lG1LLbLOvV0fPEu.png

vumV1ew75lG1LLbLOvV0fPEu.png

ZB0Fd4NX7Um5lBKwn6RbFzed.jpeg

ZB0Fd4NX7Um5lBKwn6RbFzed.jpeg

qqInFXoXitWL4MLOojO4jL9n.jpeg

qqInFXoXitWL4MLOojO4jL9n.jpeg

wpbHY1NWhSrdWxJUBBQGn873.jpeg

wpbHY1NWhSrdWxJUBBQGn873.jpeg