# Vimmerse Face Swap

> Vimmerse Face Swap is a paid API for AI agents from agents.vimmerse.net, paid per call via MPP, price unknown, status unknown (last checked 2026-10-31).

Swaps faces in a target image using one or more reference face images, with support for multi-face and face-only modes.

## Facts

- Endpoint: POST https://agents.vimmerse.net/v2/image/face-swap?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Provider: agents.vimmerse.net
- Website: https://agents.vimmerse.net
- Canonical page: https://www.zero.xyz/c/agents-vimmerse-net-vimmerse-face-swap-f6743bf3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BmC9vu-b2iwn8O1-v34d5

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-vimmerse-net-vimmerse-face-swap-f6743bf3 -d '<json body>'
```

Example prompt: Swap the faces in this group photo (https://media.vimmerse.net/example/group_photo.png) with two reference faces — use face_a.png for the first person on the left and face_b.png for the second person, using multi-face mode and face-only swap with the NanoBananaFaceSwap method.

## When to prefer this

Choose this endpoint when you need to replace specific faces in an existing image with reference faces from other images. It supports single and multi-face swaps, precise targeting via order_indices, and multiple swap engine options for quality/style tradeoffs. Prefer over general image editing when the task is explicitly face replacement rather than background replacement or style transfer.

## Known failure modes

- Image URL not accessible or returns 404 — endpoint cannot fetch source images
- No face detected in target or reference image — swap cannot proceed
- Reference face image too low quality or partially obscured — degraded swap quality
- More order_indices specified than faces present in target image — index out of bounds error
- Invalid or unsupported image format provided
- API key missing or invalid — authentication error
- Timeout if images are very large or server is under load
- Invalid option value — must be one of NanoBananaFaceSwap, SeedreamFaceSwap, MagicFaceSwap, EaselFaceSwap, SegmindFaceSwap

## How this service works

Swaps faces in a **target** image using one or more **reference** face images.

- **`image_urls[0]`** — target image containing face(s) to replace  
- **`image_urls[1:]`** — reference faces  
- **`order_indices`** — optional mapping of target face indices (left-to-right from `0`)

### Example

```python
import requests

url = "https://api.vimmerse.net/v2/image/face-swap"
headers = {
    "X-Api-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "image_urls": [
        "https://media.vimmerse.net/example/group_photo.png",
        "https://media.vimmerse.net/example/face_a.png",
        "https://media.vimmerse.net/example/face_b.png",
    ],
    "option": "NanoBananaFaceSwap",
    "face_only_mode": True,
    "multi_face_mode": True,
    "order_indices": [0, 1],
}

response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()
print(response.json()["results"])
```

## Output

A JSON object containing a 'results' field with the output face-swapped image URL(s) or image data. The response may also include status and metadata about the swap operation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "FaceSwapRequest",
 "required": [
  "image_urls"
 ],
 "properties": {
  "option": {
   "type": "string",
   "title": "Face swap method",
   "default": "NanoBananaFaceSwap",
   "description": "Available values: `NanoBananaFaceSwap`, `SeedreamFaceSwap`, `MagicFaceSwap`, `EaselFaceSwap`, and `SegmindFaceSwap`."
  },
  "async_mode": {
   "type": "boolean",
   "title": "Async Mode",
   "default": false
  },
  "image_urls": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Image URLs",
   "minItems": 2,
   "description": "The first URL is the target image; the rest are human/face reference images."
  },
  "webhook_url": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Webhook URL"
  },
  "order_indices": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "integer"
     }
    },
    {
     "type": "null"
    }
   ],
   "title": "Order Indices",
   "description": "Indices of faces in the target image to swap (left-to-right, starting at 0)."
  },
  "face_only_mode": {
   "type": "boolean",
   "title": "Face swap only",
   "default": true,
   "description": "When true, only the face is swapped (not the entire head)."
  },
  "multi_face_mode": {
   "type": "boolean",
   "title": "Multi face swap mode",
   "default": true
  }
 },
 "description": "Request body for POST /v2/image/face-swap. Content-Type: application/json."
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "Response Face Swap Api V2 Image Face Swap Post",
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-vimmerse-net-vimmerse-face-swap-f6743bf3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.vimmerse.net](https://www.zero.xyz/host/agents.vimmerse.net/llms.txt)
