A Large-scale Evaluation of Text-guided Models for Facial Editing
Organizations: Arizona State University Tempe, AZ, USA · Prelight Inc New York, USA
Abstract
Facial appearance editing powers popular applications like FaceApp and Photoshop. Generative Adversarial Networks (GANs) and 3D Morphable Models (3DMMs) have been widely used for facial editing. GANs can perform varied facial edits (e.g., changing hair color, hairstyle), but often produce unstable edits. 3DMMs produce stable edits, but can only alter pose and facial expression. Recently, text-guided diffusion models like Nano Banana have become popular for image editing. Text-guided models are a compelling alternative to GANs and 3DMMs since they can produce both stable and varied image edits. While text-guided models have been widely tested for whole-scene edits (e.g., ``make the woman play a guitar''), they have not been comprehensively tested for facial editing. We conducted the first large-scale evaluation (M images evaluated) of six popular text-guided models on a sequential facial editing task. We present Face-Edit-Attributes, the largest collection of facial editing attributes focused on hair, accessories, and pose edits. We compared model performance using two popular celebrity face datasets: CelebA and CelebSET. Our results show that most models performed hair and accessory edits well, but struggled with editing pose. All models over-edit (e.g., changing hair color when asked only to change the hairstyle). We also evaluated demographic biases in each model. Our results show surprising biases in overediting: almost all models created more overedits for dark-skinned male faces and old faces. The code and data for our results (including our repository of M images) can be accessed blue{here}.
Figures & tables
| Model | Hair | Acc. | Pose | Multi | Avg. |
| Kontext-Pro | 24.60 0.16 | 25.37 0.14 | 37.48 0.28 | 32.57 0.17 | 28.68 0.10 |
| Nano-Banana | 23.08 0.12 | 33.51 0.14 | 32.43 0.15 | 32.06 0.16 | 29.93 0.08 |
| Bagel-Edit | 18.79 0.09 | 27.37 0.10 | 52.98 0.28 | 33.51 0.20 | 30.33 0.11 |
| Qwen-Edit | 28.04 0.20 | 27.90 0.14 | 47.59 0.22 | 34.82 0.17 | 32.73 0.10 |
| Flux-Dev | 89.13 0.06 | 89.58 0.06 | 89.68 0.09 | 89.40 0.06 | 89.41 0.04 |
| Model | Hair | Acc. | Pose | Multi | Avg. |
| Kontext-Pro | 76.10 0.50 | 73.40 0.60 | 47.40 0.90 | 64.00 0.50 | 68.40 0.30 |
| Nano Banana | 87.90 0.30 | 84.70 0.40 | 62.60 0.80 | 75.10 0.50 | 79.60 0.30 |
| Bagel-Edit | 80.30 0.40 | 87.80 0.30 | 59.60 0.70 | 68.90 0.50 | 76.20 0.30 |
| Qwen-Edit | 76.60 0.50 | 79.90 0.40 | 67.50 0.80 | 64.70 0.50 | 72.90 0.30 |
| Flux-Dev | 30.30 0.50 | 33.70 0.50 | 31.40 0.80 | 30.20 0.50 | 31.40 0.30 |
| Intended Edit Overedit | Models |
| bob cut straight hair | BE, K-Pro, QE |
| sideburn mutton chops handlebar mustache | BE, K-Pro, QE |
| bob cut brown hair | F-Dev, QE |
| sideburn mutton chops pencil mustache | K-Pro, QE |
| straight hair brown hair | BE, QE |
| Model | Hair | Acc. | Pose | Multi | Avg. |
| Kontext-Pro | 19.54 0.67 | 11.38 0.64 | 16.47 1.10 | 22.83 0.77 | 17.75 0.39 |
| Nano Banana | 15.02 0.59 | 10.42 0.71 | 10.18 0.83 | 17.62 0.69 | 13.79 0.35 |
| Bagel-Edit | 18.47 0.64 | 8.48 0.56 | 13.82 0.95 | 21.03 0.73 | 15.68 0.35 |
| Qwen-Edit | 24.87 0.76 | 13.66 0.74 | 19.87 1.05 | 27.25 0.90 | 21.63 0.43 |
| Flux-Dev | 66.42 1.33 | 68.38 1.31 | 47.76 1.58 | 65.31 1.29 | 64.00 0.70 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | F:89.7 M:89.4 | 0.4 | M:89.2 F:89.1 | 0.4 | F:90.0 M:89.2 | 0.8 | F:89.5 M:89.3 | 0.5 |
| Kontext-Pro | M:25.8 F:25.0 | 1.6 | F:24.7 M:24.4 | 1.2 | F:39.1 M:35.5 | 3.4 | F:33.6 M:31.2 | 2.4 |
| Nano Banana | M:34.5 F:32.8 | 1.8 | M:24.3 F:22.1 | 2.3 | M:33.0 F:32.0 | 1.0 | M:33.0 F:31.3 | 2.2 |
| Bagel-Edit | M:28.1 F:26.8 | 1.4 | M:19.5 F:18.3 | 1.2 | F:55.2 M:50.2 | 5.0 | F:33.8 M:33.1 | 1.4 |
| Qwen-Edit | M:29.1 F:27.0 | 2.5 | F:28.8 M:27.1 | 2.0 | F:50.8 M:43.6 | 7.3 | F:35.3 M:34.2 | 1.8 |
| Accessories | Hair | Pose | Multi-axis | |||||||||
| Model | Mean: 2 worst groups | Mean: 2 worst groups | Mean: 2 worst groups | Mean: 2 worst groups | ||||||||
| Flux-Dev | FD:89.6 MD:85.5 | 0.9 | 3.7 | FD:88.7 MD:85.8 | 0.5 | 4.2 | FD:89.9 MD:85.2 | 1.3 | 4.0 | FD:89.3 MD:85.1 | 0.8 | 3.6 |
| Kontext-Pro | ML:28.1 FL:26.3 | 2.2 | 2.9 | FL:22.0 ML:21.7 | 1.7 | 1.3 | FD:33.5 FL:32.6 | 5.6 | 1.1 ∗ | FL:31.0 ML:29.0 | 2.0 | 2.0 |
| Nano-Banana | ML:27.2 MD:26.0 | 2.2 | 1.6 | MD:17.5 FL:16.8 | 0.4 ∗ | 1.1 | MD:25.1 FD:23.8 | 0.7 ∗ | 2.2 | FL:24.1 ML:24.0 | 1.6 | 1.2 |
| Bagel-Edit | ML:29.2 MD:27.2 | 2.4 | 1.9 | MD:19.4 FD:18.8 | 1.9 | 1.6 | MD:58.0 FD:57.6 | 1.2 ∗ | 2.2 | MD:34.8 ML:33.8 | 1.3 | 0.9 ∗ |
| Qwen-Edit | FL:50.6 FD:47.3 | 6.4 | 4.8 | FL:52.0 FD:47.8 | 7.6 | 3.1 | FD:45.4 FL:43.8 | 7.7 | 1.5 | FL:49.8 FD:45.3 | 7.4 | 2.9 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | M:33.2 F:34.1 | 0.9 ∗ | F:28.2 M:32.9 | 4.6 | F:30.1 M:33.0 | 3.0 | F:29.0 M:31.8 | 2.9 |
| Kontext-Pro | F:73.4 M:73.5 | 1.8 | M:75.5 F:76.7 | 2.0 | F:46.5 M:48.6 | 2.6 | F:63.5 M:64.6 | 1.2 |
| Nano Banana | M:83.7 F:85.6 | 1.9 | M:87.0 F:88.6 | 1.7 | F:61.9 M:63.4 | 1.8 | M:74.0 F:75.9 | 2.0 |
| Bagel-Edit | M:87.5 F:88.0 | 0.6 | M:79.0 F:81.2 | 2.3 | M:58.8 F:60.2 | 1.6 | M:68.8 F:69.0 | 1.4 |
| Qwen-Edit | M:78.6 F:80.9 | 2.3 | F:76.4 M:76.9 | 1.1 | M:66.1 F:68.7 | 2.6 | M:63.4 F:65.8 | 2.5 |
| Accessories | Hair | Pose | Multi-axis | |||||||||
| Model | Mean: 2 worst groups | Mean: 2 worst groups | Mean: 2 worst groups | Mean: 2 worst groups | ||||||||
| Flux-Dev | ML:28.1 FL:28.9 | 0.8 ∗ | 1.0 ∗ | FL:25.1 FD:26.6 | 5.5 | 1.3 | FD:26.2 FL:27.8 | 2.9 | 1.2 | FL:25.3 FD:27.3 | 4.1 | 0.3 ∗ |
| Kontext-Pro | FL:72.2 ML:73.5 | 2.8 | 0.8 ∗ | FL:74.6 ML:75.2 | 0.6 ∗ | 2.6 | MD:35.1 FD:35.4 | 3.3 | 2.5 | FD:60.4 FL:60.5 | 1.2 ∗ | 1.4 |
| Nano Banana | FD:74.8 MD:80.9 | 1.5 | 4.4 | ML:84.2 FL:86.8 | 2.4 | 2.4 | FD:58.2 FL:58.8 | 2.1 | 1.0 ∗ | MD:71.6 FL:73.1 | 1.1 ∗ | 1.1 ∗ |
| Bagel-Edit | FL:85.7 FD:86.9 | 1.5 | 0.7 ∗ | MD:76.7 FL:77.8 | 1.3 | 0.5 ∗ | FL:59.6 FD:60.8 | 1.1 ∗ | 0.8 ∗ | ML:67.2 FL:67.5 | 0.7 ∗ | 1.4 |
| Qwen-Edit | ML:82.0 FL:82.4 | 1.2 | 1.2 | FL:76.2 ML:79.7 | 2.9 | 2.7 | ML:60.7 MD:61.7 | 5.1 | 1.0 | ML:64.9 FL:66.2 | 1.3 | 3.3 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean Values | Mean Values | Mean Values | Mean Values | ||||
| Flux-Dev | M:82.5 F:57.1 | 25.3 | M:85.0 F:51.6 | 33.5 | M:65.3 F:33.8 | 31.5 | M:84.4 F:50.0 | 34.4 |
| Kontext-Pro | M:14.9 F:8.6 | 6.3 | M:25.5 F:14.7 | 10.8 | M:21.9 F:12.1 | 10.0 | M:28.3 F:18.5 | 9.8 |
| Nano Banana | M:15.0 F:6.8 | 8.3 | M:18.0 F:12.6 | 5.3 | F:10.5 M:9.8 | 1.0 ∗ | M:21.9 F:14.2 | 7.7 |
| Bagel-Edit | M:11.7 F:6.0 | 5.9 | M:23.5 F:14.4 | 9.1 | M:16.1 F:12.0 | 4.5 | M:26.9 F:16.3 | 10.6 |
| Qwen-Edit | M:16.2 F:11.7 | 4.5 | M:30.4 F:20.4 | 10.0 | M:26.4 F:14.7 | 11.7 | M:33.3 F:22.4 | 11.1 |
| Accessories | Hair | Pose | Multi-axis | |||||||||
| Model | Mean: 2 worst groups | Mean: 2 worst groups | Mean: 2 worst groups | Mean: 2 worst groups | ||||||||
| Flux-Dev | MD:93.7 ML:69.9 | 23.1 | 19.9 | MD:106.7 ML:76.9 | 35.1 | 24.5 | MD:84.5 ML:56.0 | 32.4 | 24.4 | MD:101.3 ML:81.1 | 36.8 | 22.3 |
| Kontext-Pro | MD:25.5 ML:16.4 | 8.9 | 7.1 | MD:38.5 FD:20.9 | 5.7 | 13.3 | MD:19.0 ML:16.6 | 6.4 | 2.3 ∗ | MD:41.4 ML:24.3 | 9.2 | 13.1 |
| Nano Banana | FD:50.3 MD:32.9 | 8.5 | 22.0 | MD:32.1 FD:15.3 | 6.6 | 13.8 | MD:15.6 ML:9.2 | 3.9 | 3.7 | MD:39.0 ML:21.5 | 9.8 | 11.4 |
| Bagel-Edit | MD:19.9 FL:15.0 | 4.9 | 4.7 | MD:38.7 FL:23.2 | 7.1 | 13.2 | MD:17.3 ML:14.4 | 3.8 | 1.4 ∗ | MD:42.8 ML:29.1 | 12.5 | 11.5 |
| Qwen-Edit | MD:36.2 ML:22.2 | 9.0 | 9.2 | MD:49.9 FL:28.5 | 6.5 | 14.8 | MD:25.3 ML:21.5 | 10.3 | 2.4 ∗ | MD:52.1 ML:31.6 | 11.8 | 15.3 |
Appendix figures & tables35 assets
Supplementary material from the paper’s appendix.
Appendix
| Sub-axes | Categories | Attributes |
| red hair | bright red hair; ruby red hair; intense scarlet red hair; crimson red hair; cherry red hair; rose red hair | |
| brown hair | light brown hair; light golden brown hair; honey brown hair; caramel brown hair; toffee brown hair; sandy brown hair; amber brown hair; ginger hazel brown hair; light hazel brown hair | |
| color | black hair | black hair; jet black hair; raven black hair; ebony hair; charcoal black hair |
| white hair | stark white hair; snow white hair; icy white hair; frost white hair; arctic white hair; nordic white hair | |
| blue hair | sky blue hair; aqua blue hair; electric blue hair; turquoise blue hair; teal blue hair; cobalt blue hair | |
| green hair | lime green hair; neon green hair; bright green hair; apple green hair; emerald green hair; spring green hair |
| Sub-axes | Categories | Attributes |
| glasses | round glasses | round glasses; round sunglasses; circular glasses; circular sunglasses; John Lennon glasses; oval glasses; oval sunglasses |
| rectangle-shaped glasses | square glasses; square sunglasses; rectangular glasses; rectangular sunglasses; rectangle-shaped glasses; rectangle-shaped sunglasses | |
| baseball hat | baseball cap; baseball hat; snapback cap; snapback hat; fitted cap; fitted hat; dad hat | |
| hats | beanie hat | beanie hat; knit hat; wool hat; slouchy beanie hat; winter beanie hat |
| beret hat | beret hat; french beret hat | |
| panama hat | panama hat; straw panama hat; classic panama hat |
| Sub-axes | Categories | Attributes |
| looking straight ahead | looking straight ahead; frontal view; looking forward; head straight; front facing; looking ahead; head facing forward | |
| head position | looking left | looking left; looking to the left; facing left; looking at the left; head facing left; head looking left; facing to the left; looking leftward; looking towards the left; looking left side |
| looking right | looking right; looking to the right; facing right; looking at the right; head facing right; head looking right; facing to the right; looking rightward; looking towards the right; looking right side |
| Session | Step | Prompt |
| accessories_001 | 1 | Add square glasses |
| 2 | Add a wool hat | |
| 3 | Replace their wool hat with a knit hat. | |
| 4 | Change to rectangular sunglasses | |
| accessories_002 | 1 | Add a french beret hat. |
| 2 | Add circular sunglasses. |
| Session | Step | Prompt |
| hair_001 | 1 | Add caramel brown hair |
| 2 | Add pin-straight hair. | |
| 3 | Change the hair color to lavender hair. | |
| 4 | Add a bob cut. | |
| hair_002 | 1 | Add light hazel brown hair |
| 2 | Change the hair color to neon peach hair. |
| Session | Step | Prompt |
| multi_axis_001 | 1 | Make the person looking ahead. |
| 2 | Add emerald green hair | |
| 3 | Add spiral curl. | |
| 4 | Have them looking straight ahead. | |
| multi_axis_002 | 1 | Add spiked hair. |
| 2 | Add square glasses. |
| Session | Step | Prompt |
| poses_001 | 1 | Make them looking right. |
| 2 | Change the head position to looking rightward. | |
| 3 | Change to head facing right | |
| 4 | Keep them facing right. | |
| poses_002 | 1 | Make them looking forward |
| 2 | Make them looking to the right. |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | O:90.2 Y:89.4 | 0.8 | O:90.3 Y:88.7 | 1.6 | O:90.3 Y:89.4 | 0.9 | O:90.3 Y:89.1 | 1.2 |
| Kontext-Pro | Y:26.0 O:23.5 | 2.4 | O:25.6 Y:24.2 | 1.6 | Y:38.3 O:34.9 | 3.4 | Y:32.7 O:32.3 | 0.8 |
| Nano Banana | Y:34.0 O:32.0 | 2.0 | O:23.3 Y:23.0 | 0.5 | Y:32.5 O:32.1 | 0.7 ∗ | Y:32.0 O:32.0 | 0.5 |
| Bagel-Edit | Y:27.9 O:25.7 | 2.3 | O:19.3 Y:18.6 | 1.0 | Y:54.1 O:49.6 | 4.5 | Y:34.0 O:32.1 | 2.0 |
| Qwen-Edit | Y:28.1 O:27.4 | 0.7 | Y:28.0 O:28.0 | 1.7 | Y:48.4 O:45.1 | 3.4 | O:35.5 Y:35.0 | 1.4 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | O:84.3 Y:83.4 | 1.5 | O:83.8 Y:82.5 | 2.0 | Y:83.2 O:82.8 | 1.9 | O:83.3 Y:82.8 | 1.2 |
| Kontext-Pro | O:27.9 Y:26.4 | 2.4 | O:21.3 Y:21.3 | 2.7 | Y:31.6 O:29.2 | 1.7 | O:30.7 Y:29.5 | 3.4 |
| Nano Banana | O:27.1 Y:25.3 | 3.8 | O:17.7 Y:15.6 | 2.3 | O:24.4 Y:21.6 | 3.2 | O:25.1 Y:23.1 | 3.0 |
| Bagel-Edit | O:28.9 Y:26.8 | 2.3 | O:19.9 Y:17.3 | 2.8 | Y:56.9 O:55.3 | 2.7 | O:34.8 Y:33.8 | 2.7 |
| Qwen-Edit | Y:48.7 O:44.0 | 5.1 | Y:49.1 O:46.6 | 3.1 | Y:41.8 O:37.7 | 3.4 | Y:46.5 O:43.6 | 4.2 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | O:29.7 Y:35.1 | 5.4 | O:26.9 Y:31.4 | 4.5 | O:31.0 Y:31.5 | 0.9 ∗ | O:27.4 Y:31.2 | 3.8 |
| Kontext-Pro | Y:73.4 O:73.5 | 1.0 ∗ | Y:75.9 O:76.9 | 1.1 | O:46.6 Y:47.7 | 1.5 ∗ | Y:63.9 O:64.3 | 0.6 ∗ |
| Nano Banana | O:82.8 Y:85.4 | 2.6 | O:86.9 Y:88.2 | 1.3 | O:62.1 Y:62.8 | 0.9 ∗ | O:73.8 Y:75.5 | 1.7 |
| Bagel-Edit | O:87.1 Y:88.0 | 0.9 | O:80.2 Y:80.3 | 0.3 ∗ | O:56.8 Y:60.5 | 3.7 | O:68.6 Y:69.0 | 0.8 ∗ |
| Qwen-Edit | O:79.6 Y:80.0 | 0.7 ∗ | Y:76.5 O:77.0 | 0.7 ∗ | O:65.8 Y:68.1 | 2.3 | O:63.8 Y:65.1 | 1.2 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | O:26.4 Y:30.3 | 3.9 | O:27.3 Y:28.8 | 1.6 ∗ | O:28.5 Y:29.0 | 1.4 ∗ | O:26.4 Y:27.4 | 1.3 ∗ |
| Kontext-Pro | Y:72.5 O:73.5 | 1.6 ∗ | O:74.5 Y:75.0 | 0.9 ∗ | O:35.4 Y:40.5 | 5.1 | O:59.9 Y:61.2 | 1.5 ∗ |
| Nano Banana | Y:82.1 O:84.7 | 2.6 | O:84.6 Y:86.8 | 2.2 | O:58.7 Y:59.5 | 1.1 ∗ | O:72.1 Y:73.4 | 1.5 ∗ |
| Bagel-Edit | Y:86.2 O:88.5 | 2.2 | Y:77.4 O:78.3 | 1.1 ∗ | Y:59.9 O:61.1 | 1.5 ∗ | O:67.5 Y:68.4 | 1.3 ∗ |
| Qwen-Edit | O:81.9 Y:82.1 | 0.8 ∗ | Y:77.2 O:78.7 | 1.5 ∗ | O:60.8 Y:66.1 | 5.4 | O:65.0 Y:66.4 | 1.7 ∗ |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | O:78.6 Y:65.0 | 13.6 | O:78.8 Y:62.3 | 16.5 | O:59.6 Y:43.9 | 15.7 | O:79.0 Y:60.8 | 18.3 |
| Kontext-Pro | O:14.6 Y:10.3 | 4.3 | O:24.8 Y:17.8 | 7.0 | O:18.9 Y:15.7 | 3.4 | O:28.0 Y:21.1 | 6.9 |
| Nano Banana | O:14.1 Y:9.2 | 4.9 | O:20.0 Y:13.4 | 6.7 | O:13.5 Y:9.1 | 4.5 | O:23.6 Y:15.6 | 8.0 |
| Bagel-Edit | O:11.1 Y:7.6 | 3.7 | O:24.4 Y:16.5 | 7.9 | O:16.3 Y:13.0 | 3.6 | O:25.9 Y:19.4 | 6.5 |
| Qwen-Edit | O:16.6 Y:12.7 | 3.9 | O:30.0 Y:23.2 | 6.9 | O:20.4 Y:19.7 | 1.0 ∗ | O:30.9 Y:26.1 | 4.8 |
| Accessories | Hair | Pose | Multi-axis | |||||
| Model | Mean | Mean | Mean | Mean | ||||
| Flux-Dev | O:81.3 Y:58.6 | 22.9 | O:80.6 Y:58.5 | 22.1 | O:62.6 Y:37.3 | 25.3 | O:80.1 Y:56.5 | 23.8 |
| Kontext-Pro | O:14.8 Y:13.0 | 3.1 | O:26.3 Y:20.9 | 5.7 | O:14.7 Y:13.7 | 2.4 ∗ | O:29.9 Y:22.8 | 7.3 |
| Nano Banana | Y:21.6 O:15.4 | 7.4 | O:21.8 Y:12.5 | 9.2 | O:9.2 Y:6.9 | 2.5 ∗ | O:29.5 Y:24.1 | 10.1 |
| Bagel-Edit | Y:12.7 O:11.8 | 5.1 | O:26.2 Y:25.9 | 7.7 | O:13.1 Y:12.5 | 2.3 ∗ | O:34.5 Y:20.1 | 14.1 |
| Qwen-Edit | O:25.0 Y:21.9 | 3.1 ∗ | O:36.0 Y:29.9 | 6.4 | O:23.4 Y:13.5 | 9.9 | O:39.3 Y:29.6 | 9.8 |
| Attribute | # Models | Model Names |
| spiked cut | 5 (4M, 1F) | F-Dev, K-Pro, NB, BE, QE |
| straight hair | 5 (5M) | F-Dev, K-Pro, NB, BE, QE |
| curly hair | 4 (4M) | F-Dev, NB, BE, QE |
| fumanchu mustache | 3 (3M) | F-Dev, K-Pro, NB |
| blue hair | 3 (3M) | F-Dev, K-Pro, QE |
| mutton chops | 3 (1M, 2F) | K-Pro, NB, BE |
Text-Guided Image Editing
Text-guided image editing changes selected image content from natural-language instructions while aiming to preserve everything else.
See all 165 papers