Duck
Tutorials7 min read

How to Build an AI Human Generator That Actually Works

Samet Turan— Editor··7 min read

Learn to create realistic AI human avatars with prompts, tools, and a debug workflow—then get a ready-to-deploy blueprint at deepusecase.com/vault.

How to Build an AI Human Generator That Actually Works

Last month I needed to generate realistic human avatars for a client’s ad campaign, and the stock photo routes felt stale and expensive. I tried a few off‑the‑shelf AI human generators, but they either produced uncanny results or required costly subscriptions. By the end of this guide you’ll know how to assemble a reliable pipeline using open models, a simple prompt tweak, and a no‑code orchestrator, then decide whether to build it yourself or grab the blueprint.

Why does the default prompt give you weird hands?

Most off‑the‑shelf models ship with a generic prompt like “a realistic person, full body, studio lighting”. When you feed that straight into the API you often get extra fingers, fused limbs, or a face that looks like a wax mannequin. The problem isn’t the model; it’s the lack of constraints on anatomy and pose. Adding a few negative prompts and a clear pose description cuts the weirdness dramatically.

Here’s the prompt I settled on after a dozen failed attempts, with each token explained:


a photorealistic full‑body portrait of a woman, age 28, standing relaxed, hands naturally at sides, soft diffused light, 85mm lens, f/1.8, --no extra fingers, deformed hands, blurry face, lowres

The phrase “photorealistic full‑body portrait” tells the model to aim for a photo‑like output rather than an illustration. Specifying “age 28” narrows the facial features to a young adult range, reducing the chance of baby‑like or overly aged faces. “Standing relaxed, hands naturally at sides” gives the pose a clear anchor so the diffusion process doesn’t wander into awkward gestures. The lens and aperture details (“85mm lens, f/1.8”) bias the lighting toward a shallow depth‑of‑field look that hides minor imperfections in the background. Finally, the “–no” tokens explicitly forbid the most common artifacts: extra fingers, deformed hands, blurry faces, and low‑resolution noise.

If your backend doesn’t support negative prompts, you can achieve a similar effect by adding phrases like “avoid extra fingers” and “keep hands with five fingers only” into the positive description. The key is to be explicit about what you don’t want, because the model will otherwise fill the gaps with whatever patterns it saw in the training data.

What most guides get wrong

Many tutorials tell you to just copy a prompt from a community forum and call it a day. They skip the step of testing the output at scale. When you batch‑generate 500 images, the same prompt that looked fine on a single run starts producing drift: lighting shifts, pose variations, and occasional artifacts that only appear after the tenth iteration. The hidden cost is time spent re‑running batches and manually curating the good ones.

Another common mistake is treating the model as a black box and never checking the seed. If you don’t lock the seed, each call returns a different random noise pattern, making reproducibility impossible for a production workflow. Without a fixed seed you cannot guarantee that a character’s outfit or hairstyle stays consistent across poses, which breaks any attempt to build a brand mascot or a product catalog.

A third oversight is ignoring model version drift. Providers like Replicate periodically update the underlying weights, and a prompt that worked yesterday might produce a different style today. Always pin the model version in your API call (the long hash after “version:”) and record it in your changelog. If you notice a sudden shift in output quality, compare the current hash to the one you used when the workflow was last stable.

A concrete named example: prompt, tool, and cost

Let’s walk through a real‑world stack I use for client work. First, I host the model on Replicate using the Stable Diffusion XL base with the “realisticVision” LoRA. The API call looks like this:


curl -X POST https://api.replicate.com/v1/predictions \
-H "Authorization: Bearer $REPLICATE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"version": "stability-ai/sdxl:39ed52f2a78e934b3ba6e2a89f5b1c712de7dfea5355292bf5b10e8108a97c7f",
"input": {
"prompt": "a photorealistic full‑body portrait of a woman, age 28, standing relaxed, hands naturally at sides, soft diffused light, 85mm lens, f/1.8, --no extra fingers, deformed hands, blurry face, lowres",
"negative_prompt": "",
"width": 768,
"height": 1024,
"prompt_strength": 0.8,
"num_outputs": 1,
"seed": 12345
}
}'

The response returns a URL to the generated image. For a solo operator, the cost on Replicate is about $0.0006 per second of GPU time; a typical SDXL run takes ~1.2 seconds, so each image costs roughly $0.0007. At 1,000 images per month that’s under $1, which is absurdly cheap compared to the $29/mo subscription many SaaS human‑generator tools charge for a fraction of the output.

I think $0.001 per image is a fair price for the quality you get, especially when you can batch‑run overnight. To illustrate the savings, here’s a quick comparison:

  • DIY on Replicate: $0.001 per image → $1 for 1,000 images
  • SaaS Plan A: $19/mo for 500 images → $0.038 per image
  • SaaS Plan B: $49/mo for 2,000 images → $0.0245 per image

Even if you factor in the occasional failed run (about 5% retry rate), the DIY approach stays under $1.10 per thousand images, while the cheapest SaaS option is still twenty times more expensive.

How to debug when this breaks

When the output starts showing weird hands again, the first thing I check is the seed. If you omitted the seed parameter or set it to random, regenerate with a fixed integer and see if the anomaly persists. If it does, the issue is likely in the prompt wording.

Next, I look at the negative prompt. Did you accidentally delete the “–no extra fingers” token? Some wrappers strip leading double dashes; in that case rewrite the constraint as a positive phrase like “hands with five fingers only”.

If the problem appears only after a certain batch size, inspect the GPU memory usage. Replicate will automatically retry on OOM, but the retry may drop the seed, causing variability. Adding a small “–noise_schedule 0.002” parameter (if supported) stabilizes the diffusion steps.

Another useful lever is the classifier‑free guidance scale (often called “guidance” or “cfg”). Values too low (under 6) make the model ignore the prompt, leading to bland or off‑topic images; values too high (over 12) can over‑emphasize the prompt and introduce artifacts. I usually start at 7.5 and adjust in 0.5 increments while watching a grid of four samples.

Finally, keep a log of each run: prompt, seed, width, height, guidance scale, and a thumbnail. A simple CSV lets you spot patterns fast—no need for a fancy dashboard. When you see a cluster of bad outputs sharing the same seed range, you know the random noise is interacting badly with a particular prompt phrase.

My love and gripe with the workflow

Love: The ability to lock a seed and get identical results across runs makes it trivial to create a consistent character sheet for a brand mascot. I once generated 20 poses of the same avatar in under five minutes, and the client could not tell they were AI‑made. The consistency also meant I could reuse the same outfit across different backgrounds without worrying about color shifts.

Gripe: The Replicate web UI hides the raw API response behind a “Download” button, and there’s no easy way to view the generation time or cost per run without digging into the logs. I wish they showed a small badge with the cost estimate right next to the preview—it would save me a few clicks every batch. Additionally, the lack of native webhook support forces me to poll the API for completion, which adds a few seconds of latency to otherwise instant workflows.

It’s that simple.

Price‑to‑value take and the blueprint option

Putting the numbers together: a DIY pipeline on Replicate costs less than $0.01 per day for heavy usage, while the cheapest comparable SaaS plan starts at $19/mo and caps you at 500 images. If you value predictability and full control over the prompt, the DIY route wins.

If you want the deep cut on this, AI meeting tools coverage.

If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this workflow as a blueprint at deepusecase.com/vault.

— The Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.