Free REST API to blur license plates and faces in images. No API key required. FREE
https://floutage.com
Upload an image, returns the blurred image as binary (JPEG/PNG).
| Parameter | Type | Default | Description |
|---|---|---|---|
| image | file | required | Image file (multipart/form-data) |
| plates | bool | true | Blur license plates |
| faces | bool | false | Blur faces |
| blur | int | 51 | Blur strength (5-201) |
| confidence | float | 0.25 | Detection threshold (0.05-0.95) |
| format | string | jpeg | Output format (jpeg/png) |
Response headers:
| Header | Description |
|---|---|
| X-Plates-Found | Number of plates detected |
| X-Faces-Found | Number of faces detected |
| X-Processing-Time | Processing time in seconds |
curl -X POST https://floutage.com/api/blur \
-F "[email protected]" \
-F "plates=true" \
-F "faces=true" \
-o blurred.jpg
import requests
with open("photo.jpg", "rb") as f:
r = requests.post(
"https://floutage.com/api/blur",
files={"image": f},
params={"plates": True, "faces": True}
)
with open("blurred.jpg", "wb") as out:
out.write(r.content)
print(f"Plates: {r.headers['X-Plates-Found']}")
print(f"Faces: {r.headers['X-Faces-Found']}")
const formData = new FormData();
formData.append("image", fileInput.files[0]);
const res = await fetch("https://floutage.com/api/blur?plates=true&faces=true", {
method: "POST",
body: formData
});
const blob = await res.blob();
const url = URL.createObjectURL(blob);
console.log("Plates:", res.headers.get("X-Plates-Found"));
Same as /api/blur but returns JSON with base64-encoded image and detection details.
{
"success": true,
"plates_found": 2,
"faces_found": 1,
"plates": [{"coords": [100, 200, 300, 250], "confidence": 0.87}],
"faces": [{"coords": [400, 50, 500, 120], "confidence": 0.72}],
"processing_time": 1.23,
"image_base64": "/9j/4AAQ...",
"original_size": {"w": 1920, "h": 1080}
}
Health check endpoint.
{"status": "ok", "service": "Floutage", "version": "4.0", "features": ["plates", "faces"]}
No rate limits currently. Please be reasonable. Max image size: 20MB.
Images are processed in real-time and immediately deleted. We don't store any images or personal data.