---
title: "Food photo upgrade — Meleon Skill"
description: "Turn a phone photo of a dish into a restaurant menu-grade shot. The plating is cleaned, the light is appetising and the background is replaced, while the dish stays recognisably the same."
url: https://meleon.ai/skills/food-photo-upgrade/
author: "Meleon AI"
---

# Food photo upgrade

> Turn a phone food photo into a menu-ready shot.

- Type: Image Skill
- Category: Food & drink
- Version: 1.0.0 (updated 2026-10-16)
- Made by: Meleon AI (official)
- Price: Free to download. Outside costs: The image-edit model charges per image, about $0.09 at the default settings (about $0.15 with the nano-banana-pro alternative).
- Runs in: Claude Code, Codex and Cursor
- Page: https://meleon.ai/skills/food-photo-upgrade/
- Download: https://meleon.ai/downloads/food-photo-upgrade.zip
- Manifest: https://meleon.ai/skills/food-photo-upgrade.json

## What it does

Turn a phone photo of a dish into a restaurant menu-grade shot. The plating is cleaned, the light is appetising and the background is replaced, while the dish stays recognisably the same.

## Made for

- Restaurants
- Cafes
- Food creators
- Delivery sellers

## Before you start

- You give it: Phone photo of a dish
- You need: Node.js 18 or newer, to run scripts/build-input.mjs; an image-edit model (the fal model named below with your own FAL_KEY, or any GPT-Image-class editor).
- Cost per run: The image-edit model charges per image, about $0.09 at the default settings (about $0.15 with the nano-banana-pro alternative).
- Makes: PNG photo, landscape, portrait or square

## Install

Run the command for your agent in a terminal. It downloads https://meleon.ai/downloads/food-photo-upgrade.zip and unzips it into the agent's personal Skills folder.

### Claude Code

```sh
mkdir -p ~/.claude/skills && curl -fsSL https://meleon.ai/downloads/food-photo-upgrade.zip -o /tmp/food-photo-upgrade.zip && unzip -o /tmp/food-photo-upgrade.zip -d ~/.claude/skills
```

Then ask Claude Code to use it: `/food-photo-upgrade`.

### Codex

```sh
mkdir -p ~/.agents/skills && curl -fsSL https://meleon.ai/downloads/food-photo-upgrade.zip -o /tmp/food-photo-upgrade.zip && unzip -o /tmp/food-photo-upgrade.zip -d ~/.agents/skills
```

Then ask Codex to use it: `$food-photo-upgrade`.

### Cursor

```sh
mkdir -p ~/.cursor/skills && curl -fsSL https://meleon.ai/downloads/food-photo-upgrade.zip -o /tmp/food-photo-upgrade.zip && unzip -o /tmp/food-photo-upgrade.zip -d ~/.cursor/skills
```

Then ask Cursor to use it: `/food-photo-upgrade`.

## Example request

```text
/food-photo-upgrade my burger photo, dark moody style
```

In Codex, start with `$food-photo-upgrade` instead of `/food-photo-upgrade`.

## Files

Every file in the package, readable before you install:

- [SKILL.md](https://meleon.ai/skills/food-photo-upgrade/files/SKILL.md) (3.5 KB)
- [references/food-guide.md](https://meleon.ai/skills/food-photo-upgrade/files/references/food-guide.md) (3.4 KB)
- [references/output-spec.md](https://meleon.ai/skills/food-photo-upgrade/files/references/output-spec.md) (1.1 KB)
- [assets/example-input.webp](https://meleon.ai/skills/food-photo-upgrade/files/assets/example-input.webp) (95.0 KB)
- [assets/generation-input.json](https://meleon.ai/skills/food-photo-upgrade/files/assets/generation-input.json) (1.3 KB)
- [assets/preview.webp](https://meleon.ai/skills/food-photo-upgrade/files/assets/preview.webp) (142.1 KB)
- [assets/prompt-template.md](https://meleon.ai/skills/food-photo-upgrade/files/assets/prompt-template.md) (686 bytes)
- [scripts/build-input.mjs](https://meleon.ai/skills/food-photo-upgrade/files/scripts/build-input.mjs) (2.5 KB)

## Versions

- 1.0.0 (2026-10-16)

## Instructions (SKILL.md)

Use this skill when someone has a phone photo of a real dish and wants a restaurant or menu-grade version of it. The dish stays the same; the light, the plate and the surroundings improve.

### What you need

- One photo of the dish, as a public https URL or image data. The whole dish in frame.
- A one-line description of the dish, with the plate and the camera angle of the photo ("side-on cheeseburger with fries on a round white plate"). State the angle: the model keeps it.
- A style: `dark-moody` (default), `menu-white` or `bright-cafe`. Suggest one from `references/food-guide.md`.
- Anything extra that must not change, optional.

If the photo is missing, ask for it. Do not invent a dish.

### What you make

One photo of the same dish, cleaned up and relit, same orientation as the input. No text or logos added.

### How to run it

1. Read `references/food-guide.md`. Pick the style and keep the input's angle.
2. Run `node scripts/build-input.mjs --image <url> --dish "<description>" [--style dark-moody] [--orientation landscape] [--keep "..."]`; choose the orientation that matches the input photo. It prints the request JSON.
3. Send the printed `input` as a POST to fal model `openai/gpt-image-2/edit` using your own FAL_KEY (the Skill never stores keys), or paste the `prompt` and the photo into any GPT-Image-class editor. The alternative is `fal-ai/nano-banana-pro/edit` (`image_urls`, `prompt`, `aspect_ratio`, `resolution: "1K"`), about $0.15 per image, twice the default. If you hosted the photo at a public URL, delete it afterwards.
4. View the result beside the input and check it against `references/output-spec.md`: same ingredients, same amounts, same plate, nothing added.
5. Fail path: at most 3 attempts. Change one thing per attempt and say what (dish description, style, or model; the alternative costs about twice as much). View each output beside the input. Return the best one and say what still differs.
6. Return the photo, the style used, and the prompt.

### Files

- `references/food-guide.md`: styles, angles by dish, cuisines, what to clean and keep, failure modes.
- `references/output-spec.md`: sizes and the pass/fail checklist.
- `assets/prompt-template.md`: the prompt to fill in.
- `assets/generation-input.json`: model, sizes and styles; the defaults that produced the preview.
- `scripts/build-input.mjs`: prints the image-edit request; calls no API.

## Related

- [Viral video thumbnail](https://meleon.ai/skills/viral-video-thumbnail.md): Turn a portrait into a bold video thumbnail.
- [Carousel story set](https://meleon.ai/skills/carousel-story-set.md): Turn one product photo into a five-slide Instagram carousel.
- [Film look grade](https://meleon.ai/skills/film-look-grade.md): Give any photo a real film look, graded locally in seconds.
- [All Meleon Skills](https://meleon.ai/skills/) (index as JSON: https://meleon.ai/skills.json; site guide: https://meleon.ai/llms.txt)
