Auto Remover V1
3/12/26About 2 min
Auto Remover V1
Lightweight V1 model that automatically detects and removes watermarks from images. Upload an image and receive the result in a single synchronous call.
Before you begin
Obtain your API key from API Key Settings before making requests.
Overview
| Item | Value |
|---|---|
| Endpoint | POST /api/web-api/v1/auto-unwatermark-v1-api/create-job |
| Auth | ZF-API-KEY header |
| Credits | 2 per request |
| Max image size | 5000 × 5000 px |
| Supported formats | jpg jpeg png webp |
| Result availability | 24 hours |
Request
Headers
| Name | Required | Value |
|---|---|---|
ZF-API-KEY | Yes | Your API key |
Content-Type | Yes | multipart/form-data |
Body (multipart/form-data)
| Parameter | Type | Required | Description |
|---|---|---|---|
original_image_file | file | Yes | Image to process. Formats: jpg, jpeg, png, webp. Max: 5000 × 5000 px. |
Example
HTML
<!DOCTYPE html>
<html lang="en">
<body>
<input type="file" id="file" accept="image/*" />
<button onclick="send()">Remove Watermark</button>
<pre id="out"></pre>
<script>
async function send() {
const file = document.getElementById('file').files[0];
if (!file) return alert('Please select an image.');
const form = new FormData();
form.append('original_image_file', file);
const res = await fetch(
'https://api.unwatermark.ai/api/web-api/v1/auto-unwatermark-v1-api/create-job',
{ method: 'POST', headers: { 'ZF-API-KEY': 'YOUR_API_KEY' }, body: form }
);
document.getElementById('out').textContent =
JSON.stringify(await res.json(), null, 2);
}
</script>
</body>
</html>Python
import requests
url = "https://api.unwatermark.ai/api/web-api/v1/auto-unwatermark-v1-api/create-job"
headers = {"ZF-API-KEY": "YOUR_API_KEY"}
with open("/path/to/image.jpg", "rb") as f:
response = requests.post(url, headers=headers, files={"original_image_file": f})
print(response.json())Java
import okhttp3.*;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient();
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart(
"original_image_file", "image.jpg",
RequestBody.create(new File("/path/to/image.jpg"), MediaType.parse("image/jpeg"))
)
.build();
Request request = new Request.Builder()
.url("https://api.unwatermark.ai/api/web-api/v1/auto-unwatermark-v1-api/create-job")
.post(body)
.addHeader("ZF-API-KEY", "YOUR_API_KEY")
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
}
}PHP
<?php
$url = "https://api.unwatermark.ai/api/web-api/v1/auto-unwatermark-v1-api/create-job";
$apiKey = "YOUR_API_KEY";
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["ZF-API-KEY: {$apiKey}"],
CURLOPT_POSTFIELDS => [
'original_image_file' => new CURLFile('/path/to/image.jpg'),
],
]);
$data = json_decode(curl_exec($curl), true);
curl_close($curl);
print_r($data);Response
Success (300007)
{
"code": 300007,
"message": {
"en": "Task completed successfully",
"zh": "任务完成成功",
"id": "Tugas berhasil diselesaikan"
},
"result": {
"job_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"need_credits": 2,
"input_url": "https://xxxxxx.jpg",
"output_url": "https://xxxxxx.jpg"
}
}Error (300008)
{
"code": 300008,
"message": {
"en": "Task processing failed",
"zh": "任务处理失败",
"id": "Pemrosesan tugas gagal"
},
"result": {
"job_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
code | integer | Status code. See table below. |
result.job_id | string | Unique task identifier. |
result.need_credits | integer | Credits deducted for this request. |
result.input_url | string | Uploaded image URL (valid 24 h). |
result.output_url | string | Processed image URL (valid 24 h). |
Status Codes
| Code | Meaning |
|---|---|
300007 | Task completed successfully |
300008 | Task processing failed |
300001 | Request submission failed |
