---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/face-swap
---
# Face Swap

Swap a face from one photo onto another image or a generated scene. Provide a face source photo and either a target image or a text prompt describing the scene. Great for marketing mockups, content creation, and trying different looks.

- **Version:** 0.01
- **Categories:** media, ai

## Skills (1)

### Swap Face (`swap_face`)

Swap a face onto a target image or generate a new scene with the given face. Provide a face source and a target image or prompt.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `face_image` | string | Yes | URL of the photo containing the face to use as the source. |
| `target_image` | string | No | URL of the image to swap the face onto. The body, pose, and background are preserved. |
| `prompt` | string | No | Scene to generate with the face (e.g. "astronaut on the moon"). Used alone or as guidance with target_image. |
| `model` | string | No | Model to use. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID to override. |
| `aspect_ratio` | string | No | Aspect ratio for the output. Only used when generating from prompt (no target_image). (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 passed directly to the inference API. |

**Returns:** Result image URL, downloadable asset, face source, target source, model used, seed, and request metadata

**Examples:**

*Swap face onto another photo:*

```json
{
  "face_image": "https://example.com/my-face.jpg",
  "target_image": "https://example.com/target-body.jpg"
}
```

*Generate a scene with a specific face:*

```json
{
  "face_image": "https://example.com/my-face.jpg",
  "prompt": "astronaut floating in space with Earth in the background, photorealistic"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call face-swap swap_face --face_image https://example.com/my-face.jpg --target_image https://example.com/target-body.jpg

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"face-swap","skill":"swap_face","input":{"face_image":"https://example.com/my-face.jpg","target_image":"https://example.com/target-body.jpg"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### What do I need to swap a face?

`swap_face` needs a `face_image` plus either a `target_image` or a text `prompt`.

### Can I swap onto a new scene instead of a photo I already have?

Yes. If you only provide a prompt, the tool can generate a scene and place the face into it.

### What happens if I provide both a target image and a prompt?

The target image is still used, and the prompt guides how the swap should look in context.

### Can I override the default model?

Yes. It defaults to Nano Banana 2 Edit, but you can pass a different `model` if needed.

---

## 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