If you run a small restaurant or a food truck, you already know the problem with menu photos. The dish looks great on the plate and terrible in the shot. Steam fogs the lens, the sauce reads as brown mush, and the lighting in the dining room turns everything the color of weak tea. Hiring a food photographer costs more than the monthly ad budget, so most owners end up cropping a phone picture and hoping for the best.
This is one of the few jobs where an AI image generator genuinely earns its keep, but only if you stop treating it like a magic camera. The tool does not know what your food tastes like. It only knows what you describe. Here is how I approach menu images for small kitchens, and the mistakes that cost me the most time when I started.
Start with what is actually on the plate
Before you open any tool, write down the dish in plain language. Not "delicious pasta" but: rigatoni, thick tomato sauce with visible chunks, three basil leaves, shaved parmesan, matte white bowl, slightly worn ceramic. That list is your prompt skeleton. Everything in it is something a customer would use to decide whether to order.
The mistake almost everyone makes is describing the food in marketing language. Words like "mouthwatering" and "irresistible" mean nothing to an image model. They produce glossy stock-photo energy — perfect tomatoes, plastic sheen, a sprig of parsley that looks glued on. Descriptive physical detail gets you closer to a real plate every time.
Lighting is the whole ballgame
Food photography lives or dies on light direction, and it is the thing prompts handle worst by default. If you say nothing, the model gives you flat, evenly lit, catalog-style images. That look is fine for a grocery flyer and wrong for a menu.
Two setups cover almost everything on a casual menu:
- Side light, dark background. Light coming from the left or right at roughly 45 degrees, background a dark wood table or matte slate. This adds texture and shadow, which is what makes crust and char read as real.
- Backlight, bright surface. Light behind the plate, slightly above. Good for drinks, salads, and anything with transparency — citrus, glass, broth.
Put the setup in plain words inside the prompt: "single window light from the left, soft shadow falling to the right, dark walnut table." It reads like a photography note because that is what it is. If you want a reference for how far lighting language can take you, the piece on packaging shelf shots uses the same vocabulary for a different product category.
Anchor the plate and the surface
Two details make generated food believable. The first is the vessel: matte ceramic, glazed stoneware, cast iron, stainless steel. Each one changes the highlight pattern, and highlights are how viewers judge whether a surface is real. The second is the surface under it — bare wood, linen runner, marble, stainless counter, a sheet of brown kraft paper.
Ambiguity here is what creates the "AI look." A bowl with no defined material picks up a generic gloss, and a table with no defined finish becomes a beige void. If you know your restaurant has dark wood tables, say dark wood in every prompt. Consistency across the menu also makes the set feel like one restaurant rather than twelve different stock libraries.
Leave imperfections in on purpose
This is the counterintuitive one. Real food is messy. Sauce pools at the edge of the plate. A crumb sits on the table. The cheese is unevenly melted. Prompt for clean perfection and you get a plastic model of a meal. Add small, specific flaws — a smear of sauce on the rim, a few scattered sesame seeds, a slight tilt to the stack — and the image stops looking synthetic.
Do not overdo it. One or two flaws per image is enough. Three or more and the shot starts looking like a spill instead of an appetizer.
Match the aspect ratio to where the image lives
A menu photo and a delivery app thumbnail are not the same image. Square crops suit printed menus and Instagram grid posts. Tall 4:5 works for the delivery apps where the food is displayed in a vertical card. Wide 16:9 is for the website hero and nothing else, because it loses too much vertical space on a phone.
Generate the same dish in the two ratios you actually need rather than cropping one image into both. Cropping a square shot to a tall card usually cuts off the top of the plate and leaves a floating center of food.
When to stop generating and shoot it yourself
There is a hard line worth respecting: signature dishes that people order because of how they look should be photographed for real, or at least generated with a real reference image fed in. A generated image of your best-selling plate will eventually be compared side by side with what arrives at the table, and any gap between the two reads as a bait and switch.
Where AI is unambiguously fine: seasonal specials you have not finalized, dishes you rotate weekly, catering samples, social posts, and the second and third images of a dish where the first one is a real photo. Used that way, it fills gaps instead of replacing the truth.
A reasonable weekly workflow is to shoot your menu staples with a phone and a window, then generate supporting shots and seasonal variants. That combination costs almost nothing and covers a menu that a photographer would charge four figures for. If you want to go further, the generator handles the rest of the set once you have your lighting and surface language locked in — and locking that language down is the part most people skip.
