What to Type for AI

Why Your AI Product Renders Look Plastic (And How to Fix It in One Prompt)

You've generated dozens of product mockups, but they all have the same problem: everything looks laminated, shiny, and obviously fake. The material doesn't read as glass, leather, or brushed metal — it reads as plastic.

This isn't a tool problem. It's a language problem. AI image generators default to uniform gloss because most internet training images are product photography shot in bright, even studio light. You need to break that default with specific material language and lighting cues that tell the model exactly which surfaces should absorb light and which should reflect it.

Instead of regenerating 20 times, you can fix plastic-looking renders by appending 2–3 lines to your existing prompt. The formulas here work because they target the root cause: missing material specificity and shadow definition.

Cover for Prompt Formulas for Product Photography & Mockups Prompt Formulas for Product Photography & Mockups
$29

Pay once. Keep forever.

Stop regenerating from scratch on iteration 12. This guide gives you 10 tested prompt formulas — reverse-engineered from outputs that won real client approvals — for the product photography categories freelance designers actually get hired for: beverage...

One self-contained PDF. No hidden files or separate templates.

What's included

Get it — $29 →

Or get free updates & new releases:

Follow for updates

Why AI Defaults to Plastic Sheen

AI models learn patterns from training data. Product photography dominates that data, and product photography almost always uses flat, diffused studio lighting that bounces light evenly across surfaces. The model learns: product = uniform gloss. When you don't specify material properties, the generator applies this default sheen to everything — leather, metal, ceramics, fabric. It all flattens into the same plastic-like finish. The fix isn't better lighting directions in your prompt (that often makes it worse). It's material-specific language that overrides the default. You need to tell the model the density, texture, and light-absorption properties of each surface.

The Three-Part Plastic-Fix Formula

Every plastic-looking render is missing one of three things: material density language, shadow definition, or finish specificity. **Part 1: Material Density Language** — Replace generic words like "shiny" or "glossy" with material-specific descriptors. Instead of "sleek chrome," say "brushed stainless steel with micro-directional grain, light reflection only along edges." Instead of "glossy glass," say "clear borosilicate glass, light passes through, surface reflection only in highlights." These phrases tell the model which surfaces absorb light vs. bounce it. **Part 2: Shadow Definition** — Plastic renders flatten because shadows are too soft or missing entirely. Add: "sharp edge shadows, defined contact shadows at base, directional light creating separation between surface and background." This forces the model to create contrast instead of uniform tone. **Part 3: Finish Specificity** — Name the exact finish type. Not "metallic" — say "anodized aluminum" or "polished brass" or "powder-coated steel." Ceramics aren't "white" — they're "matte glazed porcelain" or "unglazed clay with subtle surface texture." Each finish name carries material properties the model recognizes.

Quick-Append Phrases That Work Immediately

Copy one of these into your existing prompt, right before your render settings (Midjourney flags, DALL-E quality, etc.): **For Metal:** "Brushed [material name] finish with light catching only along sharp edges and reflections, not across flat surfaces. Micro-directional grain visible in close light." **For Glass:** "Clear glass, light passes through cleanly, surface reflections only in bright highlights, not across entire surface. Defined edge refraction." **For Ceramics/Matte:** "Matte [ceramic type] surface that absorbs light, zero gloss, subtle surface texture visible, highlights only in strongest light zones." **For Fabric:** "[Fabric type] weave visible at edges, light scatters into fibers, no uniform shine, natural fiber sheen only where light hits directly." **For Leather:** "Full-grain leather with natural creases and pore texture, light follows surface contours, matte finish with only slight reflection in highlights." These work because they're dense with material properties. When you append one to a generic product prompt, the model has explicit instructions that override its default plastic behavior.

Common Plastic Artifacts and Their Fixes

**Symptom: Everything is uniformly shiny** — Your render looks like it's been dipped in clear plastic. The shadow append didn't help. *Fix:* Add finish specificity to each material explicitly. Instead of describing the product once, describe the material finish of each component. "Matte black rubber base with zero shine. Polished stainless steel frame with edge-only reflection. Brushed aluminum sides." **Symptom: Metal looks like chrome balloon** — Reflective surfaces are too reflective, bouncing the background all over the product. *Fix:* Use "brushed" or "satin" instead of "polished." Add: "Directional reflection only, not mirror-like, light plays along edges only." **Symptom: Fabric or leather looks laminated** — Textured materials render with a plastic coat on top. *Fix:* Add texture description before the material word. "Fine-weave linen fabric" not "fabric." "Full-grain leather with visible pores" not "leather." The texture word forces the model to render surface detail instead of gloss. **Symptom: Glass looks frosted or cloudy** — You wanted clear glass but got diffused milky mess. *Fix:* Say "optically clear" before the glass type. "Optically clear borosilicate glass, light transmission, crisp edge refraction." Drop any "frosted" or "matte" language unless you actually wanted that.

Combining Fixes With Lighting Cues

Material-specific language works best when paired with light direction. You don't need complex 3-point lighting setups in your prompt — simple direction works better. Use: "Single diffused source from upper left, creating directional shadows, not studio flat-light." This tells the model to stop distributing light evenly and create actual shadow geometry. For luxury products, try: "Key light from upper left, subtle rim light on back edge, strong contact shadow at base." The rim light detail signals that the render should have depth and separation, not flatness. Avoid: Long lighting descriptions. Short, specific direction (upper left, 45° angle, from camera-right) works better than paragraph-long light setups. AI models respond better to constraint than excess instruction.

Testing Your Fix: The Two-Render Compare

Before you send a render to a client, run a quick A/B test. **Render A:** Your original prompt, no material language. **Render B:** Same prompt + one material-specific append phrase. Generate both side by side in the same session (use Midjourney's /imagine twice, or DALL-E's grid). Compare at 100% zoom. Look for these wins in B: visible surface texture, defined contact shadows, reduced uniform sheen, material-specific light behavior (light passes through glass, bounces off metal differently than ceramic). If Render B still looks plastic, try swapping the append phrase. Different materials respond to different language. Ceramic usually needs matte language. Metal needs edge-reflection language. Fabric needs weave language. Once you find the append phrase that works for your specific material, save it. You'll use it again.

FAQ

Does this work for all AI image generators?
Yes — Midjourney, DALL-E 3, and Stable Diffusion XL all respond to material-specific language. The append phrases work across all three because they target model behavior, not tool-specific syntax. Exact flag syntax (like Midjourney's --style or DALL-E's quality parameter) varies, but the core material language translates.
Will this make my prompts longer and harder to manage?
No. You're replacing vague language with specific language, not adding words overall. Instead of "make it look real" (4 words, meaningless), you say "matte glazed porcelain surface, zero gloss" (5 words, precise). Once you save these phrases in a template, you paste them in 10 seconds.
What if the client still says it looks fake after I apply these fixes?
The plastic sheen is usually the culprit for that feedback. But if it persists, the next issue is usually contrast or shadow depth. Add stronger contact shadows and make sure your background separates from the product (add a drop shadow or background color shift). Material language fixes shine; shadows fix believability.
Can I use these fixes for already-generated images, or only in new prompts?
These are prompt-based fixes, so they work only on new generations. If a render is already generated and looks plastic, you'd need to regenerate with the material language added. This is why it's faster to append the phrase before the first render than to iterate 10 times after the fact.
Do I need to buy special prompts, or are these general tips?
These are principles that work with any prompt. The Prompt Formulas product includes tested material-specific append phrases, material language swaps for 8+ material types, and pre-built prompts where these fixes are already integrated — so you don't have to rebuild them yourself. But the core fix (adding material density language) works free with any generator if you know what to write.