Αφαιρέστε φόντα από τις δικές σας εφαρμογές, τα ηλεκτρονικά σας καταστήματα ή τις ροές εργασιών σας με ένα μόνο αίτημα HTTPS.
Βασικό URL: https://bgcut.net/api/v1 · Αποκτήστε το κλειδί σας στην ενότητα Κλειδιά API.
Έλεγχος ταυτότητας
Κάθε αίτημα πρέπει να περιέχει το κλειδί API σας στην κεφαλίδα X-Api-Key. Τα κλειδιά δημιουργούνται και ανακαλούνται από τον λογαριασμό σας. Μπορείτε να δώσετε όνομα σε κάθε κλειδί, ώστε να τα εναλλάσσετε ανά εφαρμογή.
// Never ship your API key in public front-end code – proxy through your server.
const input = document.querySelector('input[type=file]');
input.addEventListener('change', async () => {
const form = new FormData();
form.append('image_file', input.files[0]);
form.append('size', 'preview');
const res = await fetch('https://bgcut.net/api/v1/remove', { method: 'POST', headers: { 'X-Api-Key': 'bgc_YOUR_API_KEY' }, body: form });
const blob = await res.blob();
document.querySelector('img#out').src = URL.createObjectURL(blob);
});
// Java 11+ HttpClient, no external libraries
import java.net.URI;
import java.net.http.*;
import java.nio.file.*;
public class BgCut {
public static void main(String[] a) throws Exception {
String key = "bgc_YOUR_API_KEY";
String boundary = "----bgcut" + System.nanoTime();
byte[] file = Files.readAllBytes(Path.of("photo.jpg"));
String head = "--" + boundary + "\r\nContent-Disposition: form-data; name=\"image_file\"; filename=\"photo.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n";
String tail = "\r\n--" + boundary + "\r\nContent-Disposition: form-data; name=\"size\"\r\n\r\nauto\r\n--" + boundary + "--\r\n";
byte[] body = concat(head.getBytes(), file, tail.getBytes());
HttpRequest req = HttpRequest.newBuilder(URI.create("https://bgcut.net/api/v1/remove"))
.header("X-Api-Key", key)
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.POST(HttpRequest.BodyPublishers.ofByteArray(body)).build();
HttpResponse<byte[]> res = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofByteArray());
if (res.statusCode() == 200) Files.write(Path.of("result.png"), res.body());
else System.out.println(new String(res.body()));
}
static byte[] concat(byte[]... parts) { int n = 0; for (byte[] p : parts) n += p.length; byte[] out = new byte[n]; int o = 0; for (byte[] p : parts) { System.arraycopy(p, 0, out, o, p.length); o += p.length; } return out; }
}
using System.Net.Http;
using System.Net.Http.Headers;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Api-Key", "bgc_YOUR_API_KEY");
using var form = new MultipartFormDataContent();
var fileContent = new ByteArrayContent(await File.ReadAllBytesAsync("photo.jpg"));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
form.Add(fileContent, "image_file", "photo.jpg");
form.Add(new StringContent("auto"), "size");
form.Add(new StringContent("png"), "format");
var res = await client.PostAsync("https://bgcut.net/api/v1/remove", form);
if (res.IsSuccessStatusCode)
await File.WriteAllBytesAsync("result.png", await res.Content.ReadAsByteArrayAsync());
else
Console.WriteLine(await res.Content.ReadAsStringAsync());
Το αρχείο εικόνας (multipart/form-data). JPG, PNG, WebP, GIF, BMP, TIFF· έως 25 MB / 30 MP.
image_url
string
Δημόσιο URL της εικόνας προς λήψη, αντί για μεταφόρτωση.
image_file_b64
string
Εικόνα σε κωδικοποίηση base64 (προαιρετικά με πρόθεμα data:).
size
auto | preview | full
preview = έως 640 px (χρησιμοποιεί το δωρεάν μηνιαίο όριό σας, χωρίς μονάδες)· full = αρχική ανάλυση (1 μονάδα)· auto (προεπιλογή) = full όταν έχετε μονάδες, διαφορετικά preview.
format
png | jpg | webp
Μορφή εξόδου. Η png διατηρεί τη διαφάνεια· η jpg συγχωνεύεται πάνω στο bg_color (προεπιλογή: λευκό).
model
fast | hq | portrait
lite (προεπιλογή, ~6 δευτ., η καλύτερη ισορροπία), fast (~0,5 δευτ., ποιότητα προεπισκόπησης), hq (~15 δευτ., μέγιστη ποιότητα), portrait (~0,3 δευτ., μόνο για πρόσωπα).
bg_color
string
Χρώμα φόντου σε δεκαεξαδική μορφή, π.χ. #ffffff. Παραλείψτε το για διαφανές φόντο.
bg_blur
number
Διατηρεί το αρχικό φόντο, αλλά το θολώνει με αυτή την ακτίνα σε pixel (1–200), π.χ. 25 για εφέ πορτρέτου. Υπερισχύει του bg_color.
crop
boolean
Περικοπή της εικόνας εξόδου στο πλαίσιο οριοθέτησης του θέματος.
crop_margin
integer
Επιπλέον περιθώριο σε pixel γύρω από το θέμα κατά την περικοπή (0–200).
roi
string
Περιοχή ενδιαφέροντος ως κλάσματα x,y,w,h (0–1). Η AI εξετάζει μόνο το εσωτερικό αυτού του ορθογωνίου· οτιδήποτε εκτός του γίνεται διαφανές.
feather
number
Εξομάλυνση των άκρων με αυτή την ακτίνα σε pixel (0–5).
quality
integer
Ποιότητα JPG/WebP 50–100 (προεπιλογή 92).
response
binary | json
Το binary (προεπιλογή) επιστρέφει την εικόνα· το json επιστρέφει μεταδεδομένα μαζί με την εικόνα σε base64.
Αποκρίσεις
Τα επιτυχή αιτήματα επιστρέφουν HTTP 200 με τα byte της εικόνας και τις εξής κεφαλίδες:
HTTP/1.1 200 OK
Content-Type: image/png
X-Credits-Charged: 1
X-Credits-Remaining: 149
X-Free-Remaining: 5
X-Width: 3000
X-Height: 2000
X-Image-Id: 1f3a…
X-Type: hd
Επιστρέφει τις τελευταίες 100 εικόνες που επεξεργάστηκαν με τα κλειδιά API σας, μαζί με ένα URL επεξεργαστή για να τις βελτιώσετε στο πρόγραμμα περιήγησης.
Σφάλματα
Τα σφάλματα επιστρέφονται σε JSON με κωδικό σφάλματος και ευανάγνωστο μήνυμα:
{ "ok": false, "error": "insufficient_credits", "message": "No credits left. Buy credits at https://bgcut.net/pricing or request size=preview." }
HTTP
error
Περιγραφή
400
bad_request / missing_image
Λείπουν παράμετροι ή δεν είναι έγκυρες.
401
auth_required / invalid_key
Το κλειδί API λείπει, δεν είναι έγκυρο ή έχει ανακληθεί.
402
insufficient_credits / free_quota_exceeded
Δεν υπάρχουν μονάδες (για πλήρες μέγεθος) ή έχει εξαντληθεί το δωρεάν όριο (για προεπισκόπηση).
422
too_large / bad_type / fetch_failed
Δεν ήταν δυνατή η ανάγνωση ή η λήψη της εικόνας.
429
rate_limited
Πάρα πολλά αιτήματα – μειώστε τον ρυθμό ή επικοινωνήστε μαζί μας για υψηλότερα όρια.
500
processing_failed
Η επεξεργασία απέτυχε από τη δική μας πλευρά – δεν χρεώνεστε.
Δείγματα κώδικα
Όλα τα δείγματα χρησιμοποιούν το ίδιο endpoint. Κατεβάστε την πλήρη συλλογή παραδειγμάτων: bgcut-api-examples.zip
Επίσημο PHP SDK Βιβλιοθήκη-πελάτης ανοιχτού κώδικα με τυποποιημένα αποτελέσματα, κλάσεις σφαλμάτων και έτοιμα προς εκτέλεση παραδείγματα. Άδεια MIT. composer require bgcut-net/bgcut-php