---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/product-studio
---
# Product Studio

All-in-one AI photo studio for e-commerce and marketing. Studio shots, lifestyle scenes, ghost mannequins, flat lays, object removal, shadows, wrinkle removal, recoloring, background blur, image expansion, and freeform AI edits. Turn any phone photo into professional product photography.

- **Version:** 0.01
- **Categories:** media, ai, marketing
- **Workflow:** studio_shot → lifestyle_shot → ghost_mannequin → flat_lay → beautify → remove_object → add_shadows → unwrinkle → recolor → blur_background → resize_expand → ai_edit

## Skills (12)

### Studio Shot (`studio_shot`)

Place a product on a clean background with professional studio lighting and shadows. The core e-commerce product photo.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `background` | string | No | Background style (e.g. "white", "light gray gradient", "soft pink"). Defaults to white. |
| `lighting` | string | No | Lighting style (e.g. "soft studio", "dramatic", "warm golden"). Defaults to soft studio. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Studio-quality product image URL, downloadable asset, model used, and metadata

**Examples:**

*Product on white background for Amazon listing:*

```json
{
  "image_url": "https://example.com/raw-product.jpg"
}
```

*Product on gradient background with warm lighting:*

```json
{
  "image_url": "https://example.com/raw-product.jpg",
  "background": "soft beige to white gradient",
  "lighting": "warm golden overhead"
}
```

### Lifestyle Shot (`lifestyle_shot`)

Place a product in a real-world scene — kitchen counter, office desk, outdoor setting. Creates contextual lifestyle photography.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `scene` | string | Yes | Scene description (e.g. "marble kitchen counter", "wooden desk in a sunny office", "picnic blanket outdoors"). |
| `mood` | string | No | Mood/atmosphere (e.g. "cozy and warm", "bright and airy", "moody and dramatic"). |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Lifestyle product image URL, downloadable asset, model used, and metadata

**Examples:**

*Coffee mug on a kitchen counter:*

```json
{
  "image_url": "https://example.com/mug.jpg",
  "scene": "marble kitchen counter next to a coffee machine, morning light"
}
```

### Ghost Mannequin (`ghost_mannequin`)

Remove the mannequin or model from clothing photos to create a hollow-man effect. The garment appears to float with its 3D shape preserved.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Ghost mannequin image URL, downloadable asset, model used, and metadata

**Examples:**

*Remove mannequin from a jacket photo:*

```json
{
  "image_url": "https://example.com/jacket-on-mannequin.jpg"
}
```

### Flat Lay (`flat_lay`)

Create a top-down flat lay arrangement of a product. Styled overhead photography for social media and catalogs.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `surface` | string | No | Surface to arrange on (e.g. "white marble", "wooden table", "linen fabric"). Defaults to white. |
| `props` | string | No | Complementary props to include (e.g. "dried flowers and a notebook", "coffee beans and a spoon"). |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Flat lay image URL, downloadable asset, model used, and metadata

**Examples:**

*Skincare product flat lay on marble with flowers:*

```json
{
  "image_url": "https://example.com/serum.jpg",
  "surface": "white marble slab",
  "props": "dried lavender sprigs and a small towel"
}
```

### Remove Object (`remove_object`)

Remove unwanted objects, people, or distractions from product photos. Describe what to remove and the area is filled naturally.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `remove` | string | Yes | What to remove (e.g. "the person in the background", "the price sticker", "the shadow on the left"). |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Cleaned image URL, downloadable asset, model used, and metadata

**Examples:**

*Remove a person from the background of a product shot:*

```json
{
  "image_url": "https://example.com/product-with-people.jpg",
  "remove": "the people in the background"
}
```

### Beautify Product (`beautify`)

Enhance a product photo to studio-grade quality. Improves lighting, sharpness, colors, and overall appeal without changing the composition.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Enhanced image URL, downloadable asset, model used, and metadata

**Examples:**

*Enhance a phone photo of a product to look professional:*

```json
{
  "image_url": "https://example.com/raw-phone-photo.jpg"
}
```

### Add Shadows (`add_shadows`)

Add realistic drop shadows or contact shadows beneath a product. Makes products on flat backgrounds look grounded and natural.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `shadow_type` | string | No | Shadow style (e.g. "soft drop shadow", "hard contact shadow", "diffused ambient shadow"). Defaults to natural drop shadow. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Image with shadows URL, downloadable asset, model used, and metadata

**Examples:**

*Add a soft drop shadow to a product on white background:*

```json
{
  "image_url": "https://example.com/product-no-shadow.jpg"
}
```

### Unwrinkle Clothing (`unwrinkle`)

Remove wrinkles and creases from clothing photos. The fabric looks freshly pressed while keeping shape, color, and pattern intact.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Unwrinkled clothing image URL, downloadable asset, model used, and metadata

**Examples:**

*Smooth out wrinkles on a shirt photo:*

```json
{
  "image_url": "https://example.com/wrinkled-shirt.jpg"
}
```

### Recolor Product (`recolor`)

Change the color of a product or garment. Generate color variants without reshooting. Keeps shape, texture, and details identical.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `color` | string | Yes | Target color (e.g. "navy blue", "forest green", "matte black", "coral pink"). |
| `target` | string | No | What to recolor if ambiguous (e.g. "the shoes", "the dress", "the bag strap"). Defaults to the product. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Recolored image URL, downloadable asset, model used, and metadata

**Examples:**

*Generate a navy blue variant of a red dress:*

```json
{
  "image_url": "https://example.com/red-dress.jpg",
  "color": "navy blue"
}
```

### Blur Background (`blur_background`)

Apply a depth-of-field blur to the background while keeping the product sharp. Creates a professional bokeh effect.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `intensity` | string | No | Blur intensity (e.g. "subtle", "moderate", "heavy"). Defaults to moderate. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Blurred background image URL, downloadable asset, model used, and metadata

**Examples:**

*Add moderate background blur to a product photo:*

```json
{
  "image_url": "https://example.com/product-busy-bg.jpg"
}
```

### Resize and Expand (`resize_expand`)

Expand an image to a new aspect ratio by AI-generating the missing background. Outpainting that seamlessly extends the scene.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `target_ratio` | string | No | Target aspect ratio (e.g. "16:9", "1:1", "9:16"). |
| `direction` | string | No | Expand direction (e.g. "wider", "taller", "all sides"). Alternative to target_ratio. |
| `fill` | string | No | What to fill the expanded area with. Defaults to continuing the existing background. |
| `instructions` | string | No | Additional instructions to refine the result. |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Expanded image URL, downloadable asset, model used, and metadata

**Examples:**

*Expand a portrait product photo to landscape for a banner:*

```json
{
  "image_url": "https://example.com/product-portrait.jpg",
  "target_ratio": "16:9"
}
```

### AI Edit (`ai_edit`)

Freeform AI editing — describe any edit in natural language and it gets applied. The catch-all for edits not covered by other skills.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. |
| `edit` | string | Yes | Natural language edit instruction (e.g. "add a ribbon bow", "make it look vintage", "add steam rising from the cup"). |
| `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. |
| `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) |
| `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) |
| `seed` | number | No | Random seed for reproducible results. |
| `extra_params` | object | No | Additional model-specific parameters. |

**Returns:** Edited image URL, downloadable asset, model used, and metadata

**Examples:**

*Add a seasonal holiday touch to a product photo:*

```json
{
  "image_url": "https://example.com/candle.jpg",
  "edit": "Add pine branches and small red berries around the candle for a Christmas theme"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call product-studio studio_shot --image_url https://example.com/raw-product.jpg

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"product-studio","skill":"studio_shot","input":{"image_url":"https://example.com/raw-product.jpg"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### Which skill should I use for a clean product listing photo?

`studio_shot` is the default for a clean background, while `beautify` helps upgrade a real phone photo without changing the composition.

### Can you make lifestyle scenes or clothing mockups?

Yes. `lifestyle_shot` places products in context, `ghost_mannequin` removes mannequins from clothing, and `flat_lay` builds overhead layouts.

### Can I clean up the image or create variants without reshooting?

Use `remove_object`, `add_shadows`, `unwrinkle`, `recolor`, `blur_background`, or `resize_expand` depending on the edit you need.

### Can I describe a custom edit in plain language?

`ai_edit` is the catch-all when the change does not fit a dedicated skill.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs