# Inference Shell Mask Image

> Run Inference Shell Mask Image by infsh online or via API. Pay per run, no setup.

**URL:** https://inference.sh/apps/infsh/mask-image
**Last updated:** 2025-08-28

---

Combines two images—a main image and a semi-transparent mask—to selectively hide or reveal parts of the main image, creating a partially transparent result.

- app: `infsh/mask-image`
- maker: [infsh](https://inference.sh/apps/infsh.md)
- category: [other](https://inference.sh/apps/category/other.md)
- runs via: api, javascript and python sdk, belt cli, mcp

## mask-image API Guide

### About
combines two images—a main image and a semi-transparent mask—to selectively hide or reveal parts of the main image, creating a partially transparent result.

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Setup Your API Key
Set `INFERENCE_API_KEY` as an environment variable. Get your key from settings → api keys.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

#### Run and Get Result

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


result = client.run({
        "app": "infsh/mask-image@0rsvdbjd",
        "input": {
            "input_image": {},
            "mask_image": {}
        }
    })

print(result["output"])
```

#### Stream Live Updates

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


## stream=True yields updates as they arrive
for update in client.run({
        "app": "infsh/mask-image@0rsvdbjd",
        "input": {
            "input_image": {},
            "mask_image": {}
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

### 2. Authentication
The API uses API keys for authentication. See the authentication docs for detailed setup instructions.

### 3. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "infsh/mask-image@0rsvdbjd",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 4. Schema

#### Input
- **input_image** (object) *required*: The input image to be masked
- **mask_image** (object) *required*: The mask image (can be PNG with transparency, or black/white image)
- **invert_mask** (boolean): Whether to invert/reverse the mask before applying it

#### Output
- **masked_image** (object): The resulting partially transparent masked image

## other other apps

- [Google Analytics](https://inference.sh/apps/google/analytics.md): from $0.00000277/sec
- [Google Search Console](https://inference.sh/apps/google/search-console.md): from $0.00000277/sec
- [HTTP Request](https://inference.sh/apps/infsh/http.md): from $0.00000277/sec
- [FID Score](https://inference.sh/apps/eval/fid-score.md): from $0.00055833/sec
- [CLIPScore](https://inference.sh/apps/eval/clipscore.md): from $0.00055833/sec

## faq

### how much does Inference Shell Mask Image cost?

you pay per run from your inference shell credits, and the app shows its cost before each run. no subscription is required.

### how do I run Inference Shell Mask Image via api?

call infsh/mask-image with the javascript or python sdk, the rest api, or `belt app run infsh/mask-image` from a terminal. the api reference on this page lists every input.

### who makes Inference Shell Mask Image?

Inference Shell Mask Image is made by infsh and runs on inference shell. every infsh app is listed at https://inference.sh/apps/infsh.

### can my agent use Inference Shell Mask Image?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to Inference Shell Mask Image?

other other apps on inference shell include Google Analytics, Google Search Console, HTTP Request, FID Score. they run through the same api, so switching is a one-line change.
