Back to blog
Image11 min read

Hands, Faces and Text: Fixing AI's Classic Failures

The AI image hands problem is mostly a 2023 story now. What's genuinely solved on today's models, what still breaks, and the three-way fix for each failure.

NH
Nafiul Hasan
Founder, Prompt Architects

TL;DR: "AI can't draw hands" is a 2023 claim. Neither OpenAI's nor Google's current image-model docs list hands or fingers as a limitation anymore, and a single clear pose is a non-issue on today's flagship models. Text rendering moved further and faster: it's now a marketed strength on several models. What still breaks (crowds, interlocking hands, non-Latin text) sorts into three fix types: prompt, parameter or reference, and hard limit.

Is the AI Hands Problem Still Real in 2026?

The keyword you searched, "ai image hands problem," still gets typed thousands of times a month, and for good reason: for a couple of years it was the single most reliable way to spot an AI image at a glance. That reputation is out of date for the easy case and still earned for the hard one.

Here's a fact that undercuts the meme more directly than any prompting trick: OpenAI's current GPT Image guide lists exactly three limitations for its image models: text rendering, character consistency, and composition control. Hands, fingers, and anatomy appear zero times. Google's Gemini image-generation guide, in its own dedicated limitations section, does the same: no mention of hands or fingers anywhere on the page. Two of the vendors most likely to have a reason to hedge on this simply don't list it anymore.

That doesn't mean hands are a solved problem, full stop. It means the easy case (one person, one hand, a clear and common pose, on a current flagship model) is close to a non-issue. The failures that remain are specific and still real: multiple people with overlapping or interlocking hands, a hand wrapped around a complex object, a hand rendered small in a wide or crowded shot, and unusual grips the model rarely saw in training. If your prompt puts three people shaking hands in a tight huddle, you are still rolling dice.

For a deeper breakdown of exactly why this happens model by model, and a longer list of tested fixes, see Why Does My AI Image Have Extra Limbs or Fingers?. This post treats hands as one of three failures with a shared shape, not the whole story on its own.

The Three-Way Sort: Prompt, Parameter, or Hard Limit

Every fix for these three failures falls into one of three buckets, and knowing which bucket you're in saves a lot of wasted re-rolling.

  1. Prompt-fixable. The model has the capability; your wording was ambiguous. Naming the exact pose, grip, or exact text removes the guesswork the model was filling in on its own.
  2. Parameter- or reference-fixable. Wording alone won't do it, but a tool setting or a reference image will: masking and regenerating just the bad region, switching a rendering mode, or locking a face or character with a reference image.
  3. Hard capability limit. No prompt, parameter, or reference changes the outcome today. You either accept the limitation, work around it in post, or pick a different tool for that specific shot.

Hands, faces, and text each have failures in all three buckets. None of the three is "solved" in the sense of having zero hard limits, and none is "hopeless" in the sense of having zero prompt-fixable cases.

Why Do Faces Still Go Wrong Sometimes?

A single, well-lit, front-facing portrait is close to a solved problem on any current flagship model. Where faces still fail is narrower than people assume, and it splits cleanly across the three-way sort.

Prompt-fixable: faces in a busy scene where the prompt never specified how many people are in frame, what each is doing, or how far apart they stand. An unconstrained crowd prompt gives the model the most room to blend, merge, or duplicate features, because nothing in the prompt disambiguates one face from the next.

Parameter- or reference-fixable: keeping the same face consistent across separate generations. This is the one OpenAI calls out by name in its own limitations section: the model "may occasionally struggle to maintain visual consistency for recurring characters or brand elements across multiple generations." That's not a hands-style rendering glitch inside one image, it's drift between images. A reference image, feeding a prior generation or a real photo back into the model as an anchor, is the actual fix, not a better adjective. Google's Gemini 3.1 Flash Image documents this directly with a hard number: it "supports character resemblance of up to 4 characters and the fidelity of up to 10 objects in a single workflow," which is a published ceiling, not a vague promise.

Hard limit: a genuine crowd scene, or several strangers at small scale in the frame, where no vendor currently guarantees clean, distinct, non-duplicated faces for every person. This is closely related to the wrong-subject failure covered in Why Did My Image Prompt Produce the Wrong Subject?: the model correctly identifies that multiple subjects exist but can't always keep their features from bleeding into each other.

Is Text Rendering Actually Solved Now?

This is the failure that changed the most, and the most recently. As recently as a couple of years ago, legible text inside an AI image was close to a coin flip. That is no longer an accurate description of the current top tier. For the deep dive on which specific models still garble which specific words, see Why Is the Text in My AI Image Garbled?.

OpenAI's own GPT Image limitations note reads: "Although significantly improved, the model can still struggle with precise text placement and clarity." Read that sentence carefully: it is a note about placement and clarity in edge cases, not a statement that text rendering fails. Ideogram, a vendor that competes directly on this exact feature, publishes head-to-head voting data on its own blog: GPT Image 2 at 1141 Elo versus Ideogram 4.0 at 1062 Elo, from 4,366 votes. That's a real gap, but it's a gap between two models that both render legible text reliably, not a gap between "works" and "doesn't."

Google makes the same claim explicitly for its own models: Gemini's image-generation guide lists "Advanced text rendering" as a named capability, described as "Capable of generating legible, stylized text for infographics, menus, diagrams, and marketing assets." Text-in-image generation is now a headline feature line on a vendor's own product page, not a caveat.

That doesn't make it universal. Midjourney's own text-generation guidance is more cautious: it recommends double quotation marks around the exact words, notes that text "works best with the standard Latin alphabet," and directly tells users that if the result isn't right, "consider using Raw or lowering the Stylize value" or fixing it region-by-region with Vary Region. That's a vendor being honest that its own text rendering still needs a fallback path, a genuinely different posture from GPT Image 2 or Ideogram's confidence.

Prompt-fixable: short words or phrases in quotation marks, in English, work well across every current model checked. Ideogram's documentation walks through this with a worked failure case: a generated bottle that read "Martini" with the "i" doubled by mistake, and shows the fix is repainting just the flawed letters, not rewriting the whole prompt.

Parameter- or reference-fixable: Midjourney's Vary Region and Edit Model, or OpenAI's masked edits endpoint, regenerate just the garbled word without touching the rest of the composition. Google's own guide adds a sequencing tip worth copying directly: "When generating text for an image, Gemini works best if you first generate the text and then ask for an image with the text," which amounts to a two-step workflow rather than a single dense prompt.

Hard limit: non-Latin scripts. Ideogram's own documentation is direct about it: "Foreign language support is limited." "Non-Latin scripts often produce unpredictable results." No vendor publishes a specific accuracy number for any non-Latin script, and Ideogram's own recommended workaround is to generate the visual concept first, then add the text afterward "using graphic editing tools," not to keep re-rolling the prompt. Dense, layout-sensitive text (a full paragraph, a data table, a form) is a separate hard limit: OpenAI's own limitations note that the model "may have difficulty placing elements precisely in structured or layout-sensitive compositions." A short logotype is one problem; a readable infographic with a dozen labeled parts is a much harder one, and no current model guarantees the second.

The Quick-Reference Fix Table

Same three-way sort, applied to all three classic failures
FeatureHandsFacesText
Single clear subject, current flagship modelMostly solvedMostly solvedMostly solved
Vendor's own limitations page names it directlyNo, dropped from OpenAI's and Google's listsAs 'consistency,' not anatomyYes, on every vendor checked
Fixable by describing the scene more precisely
Fixable by masking or regenerating just that region
Negative-prompt supportModel-dependentModel-dependentModel-dependent
Crowds or multiple overlapping subjectsStill breaksStill breaksModel-dependent
A genuine hard limit todayInterlocking grips, tiny background handsSame face across independent generations, no referenceNon-Latin scripts, dense structured layouts

Copy-Paste: The Region-Fix Prompt Pattern

Use this shape whether you're inpainting a hand, a face, or a garbled word. It's the same pattern across Midjourney's Vary Region, Midjourney's Edit Model, and OpenAI's masked edits endpoint; only the interface for selecting the region changes.

Fix just the selected region. Do not change anything outside the mask.

Region contains: [a right hand gripping a coffee cup / a background face / the word "OPEN" on the sign]
Correct rendering: [five fingers, thumb visible, natural grip / one clear undistorted face matching the lighting of the rest of the scene / "OPEN" in bold sans-serif, correctly spelled]
Style match: same lighting, same color grade, same resolution as the surrounding image

For text specifically, Google's own two-step sequencing tip is worth using as a separate pattern when the text is the point of the image, not an afterthought:

Step 1: Generate the exact text as a clean, isolated graphic — no scene, just the words, in the target style.
Step 2: "Place this exact text onto [describe the scene], matching the lighting and perspective."

If a negative prompt is part of your workflow for any of these three, verify it actually does something on your specific model first: Gemini's image models have none at all, and several diffusion models render them inert once they're guidance-distilled. Free Negative Prompt Generator for Image Models covers which models the field actually works on before you spend a generation testing it yourself.

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 4.8★ on the Chrome Web Store.

Create An Account

Frequently asked questions

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 4.8★ on the Chrome Web Store.

Create An Account