cover-removal / API.md
kalhdrawi's picture
إضافة ملفات جديدة
fc3c272
BRIA RMBG Service API
Base URL: http://localhost:7860
Endpoints
- GET /health
- Response 200 JSON: {"status": "ok", "device": "cpu|cuda", "cuda": true|false}
- POST /api/remove_bg
- Description: Remove background and return RGBA PNG, either as raw image or JSON(base64)
- Request
- Content-Type: multipart/form-data
- Form field: file (image/*)
- Query: output = image | json (default: image)
- Responses
- 200 image/png (when output=image)
- 200 application/json { image_base64: string, format: "PNG" } (when output=json)
- 400, 500 errors with JSON detail
- POST /api/matte
- Description: Return the alpha matte as PNG (grayscale)
- Request: multipart/form-data with field "file"
- Response: 200 image/png
Examples
- cURL (PNG bytes)
curl -X POST "http://localhost:7860/api/remove_bg?output=image" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/image.jpg" \
--output result.png
- cURL (JSON base64)
curl -X POST "http://localhost:7860/api/remove_bg?output=json" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/image.jpg" | jq -r .image_base64 | base64 --decode > result.png
- Python
import requests
with open("/path/to/image.jpg", "rb") as f:
r = requests.post(
"http://localhost:7860/api/remove_bg?output=image",
files={"file": ("image.jpg", f, "image/jpeg")},
timeout=60,
)
open("result.png", "wb").write(r.content)
- JavaScript (Node)
import fs from 'node:fs';
import fetch from 'node-fetch';
import FormData from 'form-data';
const fd = new FormData();
fd.append('file', fs.createReadStream('./image.jpg'));
const res = await fetch('http://localhost:7860/api/remove_bg?output=image', { method: 'POST', body: fd });
const buf = await res.arrayBuffer();
fs.writeFileSync('result.png', Buffer.from(buf));